Skip to Content Skip to Search

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.

Methods
E
F
N
P
R

Class Public methods

new(*sets)

Creates a new ComposedSet containing sets. Use Gem::Resolver::compose_sets instead.

# File ruby/lib/rubygems/resolver/composed_set.rb, line 19
def initialize(*sets)
  super()

  @sets = sets
end

Instance Public methods

errors()

# File ruby/lib/rubygems/resolver/composed_set.rb, line 46
def errors
  @errors + @sets.map(&:errors).flatten
end

find_all(req)

Finds all specs matching req in all sets.

# File ruby/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)

Prefetches reqs in all sets.

# File ruby/lib/rubygems/resolver/composed_set.rb, line 62
def prefetch(reqs)
  @sets.each {|s| s.prefetch(reqs) }
end

prerelease=(allow_prerelease)

When allow_prerelease is set to true prereleases gems are allowed to match dependencies.

# File ruby/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)

Sets the remote network access for all composed sets.

# File ruby/lib/rubygems/resolver/composed_set.rb, line 40
def remote=(remote)
  super

  @sets.each {|set| set.remote = remote }
end