From 5307d803f5cce7b14a6afd1d51f6d53ec85ca87d Mon Sep 17 00:00:00 2001 From: drbrain Date: Thu, 21 Nov 2013 23:27:30 +0000 Subject: * 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 --- lib/rubygems/resolver/composed_set.rb | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'lib/rubygems/resolver/composed_set.rb') 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 -- cgit v1.2.3