aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/resolver/best_set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/resolver/best_set.rb')
-rw-r--r--lib/rubygems/resolver/best_set.rb21
1 files changed, 20 insertions, 1 deletions
diff --git a/lib/rubygems/resolver/best_set.rb b/lib/rubygems/resolver/best_set.rb
index fa6c9f84c0..20bb94827b 100644
--- a/lib/rubygems/resolver/best_set.rb
+++ b/lib/rubygems/resolver/best_set.rb
@@ -12,11 +12,30 @@ class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
def initialize sources = Gem.sources
super()
- sources.each_source do |source|
+ @sources = sources
+ end
+
+ ##
+ # Picks which sets to use for the configured sources.
+
+ def pick_sets # :nodoc:
+ @sources.each_source do |source|
@sets << source.dependency_resolver_set
end
end
+ def find_all req # :nodoc:
+ pick_sets if @remote and @sets.empty?
+
+ super
+ end
+
+ def prefetch reqs # :nodoc:
+ pick_sets if @remote and @sets.empty?
+
+ super
+ end
+
def pretty_print q # :nodoc:
q.group 2, '[BestSet', ']' do
q.breakable