Class: Gem::Resolver::LockSet
- Defined in:
 - lib/rubygems/resolver/lock_set.rb
 
Overview
A set of gems from a gem dependencies lockfile.
Instance Attribute Summary collapse
- 
  
    
      #specs  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
:nodoc:.
 
Attributes inherited from Set
Instance Method Summary collapse
- 
  
    
      #add(name, version, platform)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Creates a new IndexSpecification in this set using the given
name,versionandplatform. - 
  
    
      #find_all(req)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Returns an Array of IndexSpecification objects matching the DependencyRequest
req. - 
  
    
      #initialize(sources)  ⇒ LockSet 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Creates a new LockSet from the given
sources. - 
  
    
      #load_spec(name, version, platform, source)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Loads a Gem::Specification with the given
name,versionandplatform. - 
  
    
      #pretty_print(q)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
:nodoc:.
 
Methods inherited from Set
Constructor Details
Instance Attribute Details
#specs ⇒ Object (readonly)
:nodoc:
      6 7 8  | 
    
      # File 'lib/rubygems/resolver/lock_set.rb', line 6 def specs @specs end  | 
  
Instance Method Details
#add(name, version, platform) ⇒ Object
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.
      28 29 30 31 32 33 34 35 36 37  | 
    
      # File 'lib/rubygems/resolver/lock_set.rb', line 28 def add(name, version, platform) # :nodoc: version = Gem::Version.new version specs = [ Gem::Resolver::LockSpecification.new(self, name, version, @sources, platform), ] @specs.concat specs specs end  | 
  
#find_all(req) ⇒ Object
Returns an Array of IndexSpecification objects matching the DependencyRequest req.
      43 44 45 46 47  | 
    
      # 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) ⇒ Object
Loads a Gem::Specification with the given name, version and platform.  source is ignored.
      53 54 55 56 57 58 59 60 61 62 63  | 
    
      # 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) ⇒ Object
:nodoc:
      65 66 67 68 69 70 71 72 73 74 75 76 77 78 79  | 
    
      # 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  |