Add a list of extra arguments for the given command. args
may be an array or a string to be split on white space.
Accessor for the specific extra args hash (self initializing).
Get a single gem name from the command line. Fail if there is no gem name or if there is more than one gem name given.
Invoke the command with the given list of normal arguments and additional build arguments.
Remove everything in the DependencyList
that matches but doesn’t satisfy items in dependencies
(a hash of gem names to arrays of dependencies).
Scanning is intentionally conservative because we have no way of rolling back an aggressive block (at this time)
If a block was stopped for some trivial reason, (like an empty line) but the next line would have caused it to be balanced then we can check that condition and grab just one more line either up or down.
For example, below if we’re scanning up, line 2 might cause the scanning to stop. This is because empty lines might denote logical breaks where the user intended to chunk code which is a good place to stop and check validity. Unfortunately it also means we might have a “dangling” keyword or end.
1 def bark 2 3 end
If lines 2 and 3 are in the block, then when this method is run it would see it is unbalanced, but that acquiring line 1 would make it balanced, so that’s what it does.
Create a new AliasGlobalVariableNode
node.
Create a new BackReferenceReadNode
node.
Create a new BlockLocalVariableNode
node.
Create a new ClassVariableReadNode
node.
Create a new ClassVariableWriteNode
node.
Create a new ConstantAndWriteNode
node.
Create a new ConstantOrWriteNode
node.
Create a new GlobalVariableReadNode
node.
Create a new GlobalVariableWriteNode
node.
Create a new InstanceVariableReadNode
node.
Create a new InstanceVariableWriteNode
node.
Create a new LocalVariableReadNode
node.
Create a new LocalVariableWriteNode
node.
Retrieve the value of one of the InterpolatedStringNodeFlags
flags.
Corrects path
(usually returned by ‘Gem::URI.parse().path` on Windows), that comes with a leading slash.