Class: Gem::Resolver::ComposedSet
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| 
         Subclasses: 
        
       | 
    |
| Super Chains via Extension / Inclusion / Inheritance | |
| 
         Class Chain: 
        
          self,
          Set
         
       | 
    |
| 
         Instance Chain: 
        
          self,
          Set
         
       | 
    |
| Inherits: | 
        Gem::Resolver::Set
        
  | 
    
| 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.
Class Method Summary
- 
    
      .new(*sets)  ⇒ ComposedSet 
    
    constructor
    
Creates a new
ComposedSetcontaining #sets. 
Instance Attribute Summary
- 
    
      #prerelease=(allow_prerelease)  
    
    writeonly
    
When
allow_prereleaseis set totrueprereleases gems are allowed to match dependencies. - 
    
      #remote=(remote)  
    
    writeonly
    
Sets the remote network access for all composed sets.
 
Set - Inherited
| #errors | Errors encountered when resolving gems.  | 
    
| #prerelease | When true, allows matching of requests to prerelease gems.  | 
    
| #remote | Set to true to disable network access for this set.  | 
    
Instance Method Summary
- #errors
 - 
    
      #find_all(req)  
    
    
Finds all specs matching
reqin all sets. - 
    
      #prefetch(reqs)  
    
    
Prefetches
reqsin all sets. 
Set - Inherited
Constructor Details
    .new(*sets)  ⇒ ComposedSet 
  
Creates a new ComposedSet containing #sets.  Use Gem::Resolver.compose_sets instead.
Instance Attribute Details
#prerelease=(allow_prerelease) (writeonly)
When allow_prerelease is set to true prereleases gems are allowed to match dependencies.
# 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) (writeonly)
Sets the remote network access for all composed sets.
# File 'lib/rubygems/resolver/composed_set.rb', line 39
def remote= remote super @sets.each { |set| set.remote = remote } end
Instance Method Details
#errors
[ GitHub ]# File 'lib/rubygems/resolver/composed_set.rb', line 45
def errors @errors + @sets.map { |set| set.errors }.flatten end
#find_all(req)
Finds all specs matching req in all sets.
# 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)
Prefetches reqs in all sets.
# File 'lib/rubygems/resolver/composed_set.rb', line 61
def prefetch reqs @sets.each { |s| s.prefetch(reqs) } end