Class: Gem::Resolver::Set
| Relationships & Source Files | |
| Extension / Inclusion / Inheritance Descendants | |
| Subclasses: | |
| Inherits: | Object | 
| Defined in: | lib/rubygems/resolver/set.rb | 
Overview
::Gem::Resolver sets are used to look up specifications (and their dependencies) used in resolution. This set is abstract.
Class Method Summary
- .new ⇒ Set constructor Internal use only
Instance Attribute Summary
- 
    
      #errors  
    
    rw
    Errors encountered when resolving gems. 
- 
    
      #prerelease  
    
    rw
    When true, allows matching of requests to prerelease gems. 
- 
    
      #remote  
    
    rw
    Setto true to disable network access for this set.
- 
    
      #remote?  ⇒ Boolean 
    
    rw
    Internal use only
    When true, this set is allowed to access the network when looking up specifications or dependencies. 
Instance Method Summary
- 
    
      #find_all(req)  
    
    The find_all method must be implemented. 
- 
    
      #prefetch(reqs)  
    
    The #prefetch method may be overridden, but this is not necessary. 
Constructor Details
    .new  ⇒ Set 
  
  # File 'lib/rubygems/resolver/set.rb', line 23
def initialize # :nodoc: require 'uri' @prerelease = false @remote = true @errors = [] end
Instance Attribute Details
#errors (rw)
Errors encountered when resolving gems
# File 'lib/rubygems/resolver/set.rb', line 16
attr_accessor :errors
#prerelease (rw)
When true, allows matching of requests to prerelease gems.
# File 'lib/rubygems/resolver/set.rb', line 21
attr_accessor :prerelease
#remote (rw)
Set to true to disable network access for this set
# File 'lib/rubygems/resolver/set.rb', line 11
attr_accessor :remote
    #remote?  ⇒ Boolean  (rw)
  
  When true, this set is allowed to access the network when looking up specifications or dependencies.
# File 'lib/rubygems/resolver/set.rb', line 53
def remote? # :nodoc: @remote end
Instance Method Details
#find_all(req)
The find_all method must be implemented.  It returns all ::Gem::Resolver Specification objects matching the given DependencyRequest req.
# File 'lib/rubygems/resolver/set.rb', line 34
def find_all req raise NotImplementedError end
#prefetch(reqs)
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.
# File 'lib/rubygems/resolver/set.rb', line 46
def prefetch reqs end