Class: Gem::Resolver::Set
Overview
Resolver sets are used to look up specifications (and their dependencies) used in resolution. This set is abstract.
Direct Known Subclasses
APISet, ComposedSet, CurrentSet, GitSet, IndexSet, InstallerSet, LockSet, SourceSet, VendorSet, TestCase::StaticSet
Instance Attribute Summary collapse
-
#errors ⇒ Object
Errors encountered when resolving gems.
-
#prerelease ⇒ Object
When true, allows matching of requests to prerelease gems.
-
#remote ⇒ Object
Set to true to disable network access for this set.
Instance Method Summary collapse
-
#find_all(req) ⇒ Object
The find_all method must be implemented.
-
#initialize ⇒ Set
constructor
:nodoc:.
-
#prefetch(reqs) ⇒ Object
The #prefetch method may be overridden, but this is not necessary.
-
#remote? ⇒ Boolean
When true, this set is allowed to access the network when looking up specifications or dependencies.
Constructor Details
#initialize ⇒ Set
:nodoc:
22 23 24 25 26 27 |
# File 'lib/rubygems/resolver/set.rb', line 22 def initialize # :nodoc: require 'uri' @prerelease = false @remote = true @errors = [] end |
Instance Attribute Details
#errors ⇒ Object
Errors encountered when resolving gems
15 16 17 |
# File 'lib/rubygems/resolver/set.rb', line 15 def errors @errors end |
#prerelease ⇒ Object
When true, allows matching of requests to prerelease gems.
20 21 22 |
# File 'lib/rubygems/resolver/set.rb', line 20 def prerelease @prerelease end |
#remote ⇒ Object
Set to true to disable network access for this set
10 11 12 |
# File 'lib/rubygems/resolver/set.rb', line 10 def remote @remote end |
Instance Method Details
#find_all(req) ⇒ Object
The find_all method must be implemented. It returns all Resolver Specification objects matching the given DependencyRequest req
.
33 34 35 |
# File 'lib/rubygems/resolver/set.rb', line 33 def find_all(req) raise NotImplementedError end |
#prefetch(reqs) ⇒ Object
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
.
45 46 |
# File 'lib/rubygems/resolver/set.rb', line 45 def prefetch(reqs) end |
#remote? ⇒ Boolean
When true, this set is allowed to access the network when looking up specifications or dependencies.
52 53 54 |
# File 'lib/rubygems/resolver/set.rb', line 52 def remote? # :nodoc: @remote end |