summaryrefslogtreecommitdiff
path: root/lib/rubygems/resolver/composed_set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/resolver/composed_set.rb')
-rw-r--r--lib/rubygems/resolver/composed_set.rb20
1 files changed, 20 insertions, 0 deletions
diff --git a/lib/rubygems/resolver/composed_set.rb b/lib/rubygems/resolver/composed_set.rb
new file mode 100644
index 0000000000..e4aa15e4d0
--- /dev/null
+++ b/lib/rubygems/resolver/composed_set.rb
@@ -0,0 +1,20 @@
+class Gem::Resolver::ComposedSet < Gem::Resolver::Set
+
+ attr_reader :sets # :nodoc:
+
+ def initialize *sets
+ @sets = sets
+ end
+
+ def find_all req
+ res = []
+ @sets.each { |s| res += s.find_all(req) }
+ res
+ end
+
+ def prefetch reqs
+ @sets.each { |s| s.prefetch(reqs) }
+ end
+
+end
+