Return the ActivationRequest
that contained the dependency that we were activated for.
A hint run by the resolver to allow the Set
to fetch data for DependencyRequests reqs
.
Prefetches reqs
in all sets.
Is this dependency a development dependency?
Prefetches specifications from the git repositories in this set.
Is the list empty?
The prefetch
method may be overridden, but this is not necessary. This default implementation does nothing, which is suitable for sets where looking up a specification is cheap (such as installed gems).
When overridden, the prefetch
method should look up specifications matching reqs
.
Make sure the trust directory exists. If it does exist, make sure it’s actually a directory. If not, then create it with the appropriate permissions.
@foo += bar ^^^^^^^^^^^
@foo &&= bar ^^^^^^^^^^^^
@foo ||= bar ^^^^^^^^^^^^
@foo += bar ^^^^^^^^^^^
@foo &&= bar ^^^^^^^^^^^^
@foo ||= bar ^^^^^^^^^^^^
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.
The index to insert activated gem paths into the $LOAD_PATH. The activated gem’s paths are inserted before site lib directory by default.
If the SOURCE_DATE_EPOCH environment variable is set, returns it’s value. Otherwise, returns DEFAULT_SOURCE_DATE_EPOCH
as a string.
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/
def foo(bar:); end ^^^^