Implementation for Specification#validate_metadata
Checks the scheme v
component against the URI::Parser Regexp
for :SCHEME.
Checks the path v
component for RFC2396 compliance and against the URI::Parser Regexp
for :ABS_PATH and :REL_PATH.
Can not have a opaque component defined, with a path component defined.
Returns a conversion path.
p Encoding::Converter.search_convpath("ISO-8859-1", "EUC-JP") #=> [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>], # [#<Encoding:UTF-8>, #<Encoding:EUC-JP>]] p Encoding::Converter.search_convpath("ISO-8859-1", "EUC-JP", universal_newline: true) or p Encoding::Converter.search_convpath("ISO-8859-1", "EUC-JP", newline: :universal) #=> [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>], # [#<Encoding:UTF-8>, #<Encoding:EUC-JP>], # "universal_newline"] p Encoding::Converter.search_convpath("ISO-8859-1", "UTF-32BE", universal_newline: true) or p Encoding::Converter.search_convpath("ISO-8859-1", "UTF-32BE", newline: :universal) #=> [[#<Encoding:ISO-8859-1>, #<Encoding:UTF-8>], # "universal_newline", # [#<Encoding:UTF-8>, #<Encoding:UTF-32BE>]]
Wraps text
to wrap
characters and optionally indents by indent
characters
Attach the comments to their respective locations in the tree by mutating the parse result.
Formats the errors in a human-readable way and return them as a string.
A hint run by the resolver to allow the Set
to fetch data for DependencyRequests reqs
.
Prefetches reqs
in all sets.
Prefetches specifications from the git repositories in this set.
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
.
The silent download reporter does not display filename
or care about filesize
because it is silent.
Tells the download reporter that the file_name
is being fetched. The other arguments are ignored.
foo in bar ^^^^^^^^^^
foo in bar ^^^^^^^^^^
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/
Returns a new lazy enumerator with the concatenated results of running block
once for every element in the lazy enumerator.
["foo", "bar"].lazy.flat_map {|i| i.each_char.lazy}.force #=> ["f", "o", "o", "b", "a", "r"]
A value x
returned by block
is decomposed if either of the following conditions is true:
x
responds to both each and force, which means that x
is a lazy enumerator.
x
is an array or responds to to_ary.
Otherwise, x
is contained as-is in the return value.
[{a:1}, {b:2}].lazy.flat_map {|i| i}.force #=> [{:a=>1}, {:b=>2}]