class Gem::Resolver::ComposedSet
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.
Public Class Methods
new(*sets)
click to toggle source
Creates a new ComposedSet containing
sets
. Use Gem::Resolver.compose_sets
instead.
Calls superclass method
BasicObject.new
# File lib/rubygems/resolver/composed_set.rb, line 18 def initialize *sets super() @sets = sets end
Public Instance Methods
errors()
click to toggle source
# File lib/rubygems/resolver/composed_set.rb, line 45 def errors @errors + @sets.map { |set| set.errors }.flatten end
find_all(req)
click to toggle source
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)
click to toggle source
Prefetches reqs
in all sets.
# File lib/rubygems/resolver/composed_set.rb, line 61 def prefetch reqs @sets.each { |s| s.prefetch(reqs) } end
prerelease=(allow_prerelease)
click to toggle source
When allow_prerelease
is set to true
prereleases
gems are allowed to match dependencies.
Calls superclass method
# 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)
click to toggle source
Sets the remote network access for all composed sets.
Calls superclass method
# File lib/rubygems/resolver/composed_set.rb, line 39 def remote= remote super @sets.each { |set| set.remote = remote } end