Sanitize a single string.
Create a new StringNode
node.
Retrieve the value of one of the StringFlags
flags.
If the SOURCE_DATE_EPOCH environment variable is set, returns it’s value. Otherwise, returns the time that Gem.source_date_epoch_string
was first called in the same format as SOURCE_DATE_EPOCH.
NOTE(@duckinator): The implementation is a tad weird because we want to:
1. Make builds reproducible by default, by having this function always return the same result during a given run. 2. Allow changing ENV['SOURCE_DATE_EPOCH'] at runtime, since multiple tests that set this variable will be run in a single process.
If you simplify this function and a lot of tests fail, that is likely due to #2 above.
Details on SOURCE_DATE_EPOCH: reproducible-builds.org/specs/source-date-epoch/
Create a new XStringNode
node.
Create a new InterpolatedStringNode
node.
Compile a StringNode
node
Dispatch enter and leave events for StringNode
nodes and continue walking the tree.
Inspect a StringNode
node.
Copy a StringNode
node
in “” in “foo”
Concatenates each object in objects
into self
without any encoding validation or conversion and returns self
:
s = 'foo' s.append_as_bytes(" \xE2\x82") # => "foo \xE2\x82" s.valid_encoding? # => false s.append_as_bytes("\xAC 12") s.valid_encoding? # => true
For each given object object
that is an Integer
, the value is considered a Byte. If the Integer
is bigger than one byte, only the lower byte is considered, similar to String#setbyte
:
s = "" s.append_as_bytes(0, 257) # => "\u0000\u0001"
Related: String#<<
, String#concat
, which do an encoding aware concatenation.
Returns a status string for the response.
Returns the human readable error string corresponding to the error code retrieved by error
.
See also the man page X509_verify_cert_error_string(3).
This method is provided by the Ripper
C extension. It is called when a string needs to be dedented because of a tilde heredoc. It is expected that it will modify the string in place and return the number of bytes that were removed.
Create a new InterpolatedXStringNode
node.
Dispatch enter and leave events for InterpolatedStringNode
nodes and continue walking the tree.