Class: Gem::Resolver::LockSet
Relationships & Source Files | |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
Set
|
|
Instance Chain:
self,
Set
|
|
Inherits: |
Gem::Resolver::Set
|
Defined in: | lib/rubygems/resolver/lock_set.rb |
Overview
A set of gems from a gem dependencies lockfile.
Class Method Summary
-
.new(sources) ⇒ LockSet
constructor
Creates a new
LockSet
from the given Gem.sources
Set
- Inherited
Instance Attribute Summary
- #specs readonly Internal use only
Set
- Inherited
#errors | Errors encountered when resolving gems. |
#prerelease | When true, allows matching of requests to prerelease gems. |
#remote |
|
#remote? | When true, this set is allowed to access the network when looking up specifications or dependencies. |
Instance Method Summary
-
#find_all(req)
Returns an Array of
IndexSpecification
objects matching theDependencyRequest
req
. -
#add(name, version, platform)
Internal use only
Creates a new
IndexSpecification
in this set using the givenname
,version
andplatform
. -
#load_spec(name, version, platform, source)
Internal use only
Loads a
::Gem::Specification
with the givenname
,version
andplatform
. - #pretty_print(q) Internal use only
Set
- Inherited
Constructor Details
.new(sources) ⇒ LockSet
Creates a new LockSet
from the given Gem.sources
Instance Attribute Details
#specs (readonly)
# File 'lib/rubygems/resolver/lock_set.rb', line 6
attr_reader :specs # :nodoc:
Instance Method Details
#add(name, version, platform)
Creates a new IndexSpecification
in this set using the given name
, version
and platform
.
The specification’s set will be the current set, and the source will be the current set’s source.
#find_all(req)
Returns an Array of IndexSpecification
objects matching the DependencyRequest
req
.
# File 'lib/rubygems/resolver/lock_set.rb', line 43
def find_all(req) @specs.select do |spec| req.match? spec end end
#load_spec(name, version, platform, source)
Loads a ::Gem::Specification
with the given name
, version
and platform
. source
is ignored.
# File 'lib/rubygems/resolver/lock_set.rb', line 53
def load_spec(name, version, platform, source) # :nodoc: dep = Gem::Dependency.new name, version found = @specs.find do |spec| dep.matches_spec?(spec) && spec.platform == platform end tuple = Gem::NameTuple.new found.name, found.version, found.platform found.source.fetch_spec tuple end
#pretty_print(q)
# File 'lib/rubygems/resolver/lock_set.rb', line 65
def pretty_print(q) # :nodoc: q.group 2, "[LockSet", "]" do q.breakable q.text "source:" q.breakable q.pp @source q.breakable q.text "specs:" q.breakable q.pp @specs.map {|spec| spec.full_name } end end