aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/resolver/composed_set.rb
diff options
context:
space:
mode:
authordrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-21 23:27:30 +0000
committerdrbrain <drbrain@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2013-11-21 23:27:30 +0000
commit5307d803f5cce7b14a6afd1d51f6d53ec85ca87d (patch)
treeaac2997a9ff000fbf2f1f9f27077bb7b2403f2c9 /lib/rubygems/resolver/composed_set.rb
parentb1529a30e08040b717adef8ac1fa8be1c060e7e1 (diff)
downloadruby-5307d803f5cce7b14a6afd1d51f6d53ec85ca87d.tar.gz
* lib/rubygems: Update to RubyGems master 50a8210. Important changes
in this commit: RubyGems now automatically checks for gem.deps.rb or Gemfile when running ruby executables. This behavior is similar to `bundle exec rake`. This change may be reverted before Ruby 2.1.0 if too many bugs are found. * test/rubygems: ditto. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43767 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/rubygems/resolver/composed_set.rb')
-rw-r--r--lib/rubygems/resolver/composed_set.rb19
1 files changed, 19 insertions, 0 deletions
diff --git a/lib/rubygems/resolver/composed_set.rb b/lib/rubygems/resolver/composed_set.rb
index e4aa15e4d0..702bd9ccfc 100644
--- a/lib/rubygems/resolver/composed_set.rb
+++ b/lib/rubygems/resolver/composed_set.rb
@@ -1,17 +1,36 @@
+##
+# 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.
+
class Gem::Resolver::ComposedSet < Gem::Resolver::Set
attr_reader :sets # :nodoc:
+ ##
+ # Creates a new ComposedSet containing +sets+. Use
+ # Gem::Resolver::compose_sets instead.
+
def initialize *sets
@sets = sets
end
+ ##
+ # Finds all specs matching +req+ in all sets.
+
def find_all req
res = []
@sets.each { |s| res += s.find_all(req) }
res
end
+ ##
+ # Prefetches +reqs+ in all sets.
+
def prefetch reqs
@sets.each { |s| s.prefetch(reqs) }
end