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
req
in all sets. -
#initialize(*sets) ⇒ ComposedSet
constructor
Creates a new ComposedSet containing
sets
. -
#prefetch(reqs) ⇒ Object
Prefetches
reqs
in all sets. -
#prerelease=(allow_prerelease) ⇒ Object
When
allow_prerelease
is set totrue
prereleases 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.
19 20 21 22 23 |
# File 'lib/rubygems/resolver/composed_set.rb', line 19 def initialize(*sets) super() @sets = sets end |
Instance Attribute Details
#sets ⇒ Object (readonly)
:nodoc:
13 14 15 |
# File 'lib/rubygems/resolver/composed_set.rb', line 13 def sets @sets end |
Instance Method Details
#errors ⇒ Object
46 47 48 |
# File 'lib/rubygems/resolver/composed_set.rb', line 46 def errors @errors + @sets.map { |set| set.errors }.flatten end |
#find_all(req) ⇒ Object
Finds all specs matching req
in all sets.
53 54 55 56 57 |
# File 'lib/rubygems/resolver/composed_set.rb', line 53 def find_all(req) @sets.map do |s| s.find_all req end.flatten end |
#prefetch(reqs) ⇒ Object
Prefetches reqs
in all sets.
62 63 64 |
# File 'lib/rubygems/resolver/composed_set.rb', line 62 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.
29 30 31 32 33 34 35 |
# File 'lib/rubygems/resolver/composed_set.rb', line 29 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.
40 41 42 43 44 |
# File 'lib/rubygems/resolver/composed_set.rb', line 40 def remote=(remote) super @sets.each { |set| set.remote = remote } end |