Class: Gem::Resolver::ComposedSet
- Defined in:
 - lib/rubygems/resolver/composed_set.rb
 
Overview
A ComposedSet allows multiple sets to be queried like a single set.
To create a composed set with any number of sets use:
Gem::Resolver.compose_sets set1, set2
This method will eliminate nesting of composed sets.
Direct Known Subclasses
Instance Attribute Summary collapse
- 
  
    
      #sets  ⇒ Object 
    
    
  
  
  
  
    
      readonly
    
    
  
  
  
  
  
  
    
:nodoc:.
 
Attributes inherited from Set
Instance Method Summary collapse
- #errors ⇒ Object
 - 
  
    
      #find_all(req)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Finds all specs matching
reqin all sets. - 
  
    
      #initialize(*sets)  ⇒ ComposedSet 
    
    
  
  
  
    constructor
  
  
  
  
  
  
  
    
Creates a new ComposedSet containing
sets. - 
  
    
      #prefetch(reqs)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Prefetches
reqsin all sets. - 
  
    
      #prerelease=(allow_prerelease)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
When
allow_prereleaseis set totrueprereleases gems are allowed to match dependencies. - 
  
    
      #remote=(remote)  ⇒ Object 
    
    
  
  
  
  
  
  
  
  
  
    
Sets the remote network access for all composed sets.
 
Methods inherited from Set
Constructor Details
#initialize(*sets) ⇒ ComposedSet
Creates a new ComposedSet containing sets.  Use Gem::Resolver::compose_sets instead.
      18 19 20 21 22  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 18 def initialize(*sets) super() @sets = sets end  | 
  
Instance Attribute Details
#sets ⇒ Object (readonly)
:nodoc:
      12 13 14  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 12 def sets @sets end  | 
  
Instance Method Details
#errors ⇒ Object
      45 46 47  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 45 def errors @errors + @sets.map {|set| set.errors }.flatten end  | 
  
#find_all(req) ⇒ Object
Finds all specs matching req in all sets.
      52 53 54 55 56  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 52 def find_all(req) @sets.map do |s| s.find_all req end.flatten end  | 
  
#prefetch(reqs) ⇒ Object
Prefetches reqs in all sets.
      61 62 63  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 61 def prefetch(reqs) @sets.each {|s| s.prefetch(reqs) } end  | 
  
#prerelease=(allow_prerelease) ⇒ Object
When allow_prerelease is set to true prereleases gems are allowed to match dependencies.
      28 29 30 31 32 33 34  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 28 def prerelease=(allow_prerelease) super sets.each do |set| set.prerelease = allow_prerelease end end  | 
  
#remote=(remote) ⇒ Object
Sets the remote network access for all composed sets.
      39 40 41 42 43  | 
    
      # File 'lib/rubygems/resolver/composed_set.rb', line 39 def remote=(remote) super @sets.each {|set| set.remote = remote } end  |