Get all gem names from the command line.
Return the best specification that contains the file matching path
amongst the specs that are not activated.
Return the best specification in the record that contains the file matching path
amongst the specs that are not activated.
Finds code lines at the same or greater indentation and adds them to the block
Lines that have a ‘on_ignored_nl` type token and NOT a `BEG` type seem to be a good proxy for the ability to join multiple lines into one.
This predicate method is used to determine when those two criteria have been met.
The one known case this doesn’t handle is:
Ripper.lex <<~EOM a && b || c EOM
For some reason this introduces ‘on_ignore_newline` but with BEG type
Create a new ClassVariableReadNode
node.
Create a new GlobalVariableReadNode
node.
Create a new LocalVariableReadNode
node.
Creates a self-signed certificate with an issuer and subject of subject
and the given extensions
for the key
.
If the stream begins with a BOM (byte order marker), consumes the BOM and sets the external encoding accordingly; returns the result encoding if found, or nil
otherwise:
File.write('t.tmp', "\u{FEFF}abc") io = File.open('t.tmp', 'rb') io.set_encoding_by_bom # => #<Encoding:UTF-8> io.close File.write('t.tmp', 'abc') io = File.open('t.tmp', 'rb') io.set_encoding_by_bom # => nil io.close
Raises an exception if the stream is not binmode or its encoding has already been set.
Sets the encoding according to the BOM (Byte Order Mark) in the string.
Returns self
if the BOM is found, otherwise +nil.