diff options
-rw-r--r-- | lib/rubygems/resolver/api_set.rb | 14 |
1 files changed, 12 insertions, 2 deletions
@@ -34,6 +34,8 @@ class Gem::Resolver::APISet < Gem::Resolver::Set @data = Hash.new { |h,k| h[k] = [] } @source = Gem::Source.new @uri end ## @@ -45,6 +47,10 @@ class Gem::Resolver::APISet < Gem::Resolver::Set return res unless @remote versions(req.name).each do |ver| if req.dependency.match? req.name, ver[:number] res << Gem::Resolver::APISpecification.new(self, ver) @@ -61,9 +67,13 @@ class Gem::Resolver::APISet < Gem::Resolver::Set def prefetch reqs return unless @remote names = reqs.map { |r| r.dependency.name } - needed = names - @data.keys - return if needed.empty? uri = @dep_uri + "?gems=#{needed.sort.join ','}" str = Gem::RemoteFetcher.fetcher.fetch_path uri |