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
Set
to 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