Class: Gem::Resolver::ComposedSet

Inherits:
Set
  • Object
show all
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

BestSet

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(*sets) ⇒ ComposedSet

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



18
19
20
# File 'lib/rubygems/resolver/composed_set.rb', line 18

def initialize *sets
  @sets = sets
end

Instance Attribute Details

#setsObject (readonly)

:nodoc:



12
13
14
# File 'lib/rubygems/resolver/composed_set.rb', line 12

def sets
  @sets
end

Instance Method Details

#find_all(req) ⇒ Object

Finds all specs matching req in all sets.



25
26
27
28
29
# File 'lib/rubygems/resolver/composed_set.rb', line 25

def find_all req
  @sets.map do |s|
    s.find_all req
  end.flatten
end

#prefetch(reqs) ⇒ Object

Prefetches reqs in all sets.



34
35
36
# File 'lib/rubygems/resolver/composed_set.rb', line 34

def prefetch reqs
  @sets.each { |s| s.prefetch(reqs) }
end