1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/resolver/best_set.rb
drbrain ea2a00d785 * lib/rubygems: Update to RubyGems 2.2.2 prerelease to check fixes to
CI.
	* test/rubygems:  ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@44799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2014-02-04 00:48:31 +00:00

50 lines
912 B
Ruby

##
# The BestSet chooses the best available method to query a remote index.
#
# It combines IndexSet and APISet
class Gem::Resolver::BestSet < Gem::Resolver::ComposedSet
##
# Creates a BestSet for the given +sources+ or Gem::sources if none are
# specified. +sources+ must be a Gem::SourceList.
def initialize sources = Gem.sources
super()
@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
q.text 'sets:'
q.breakable
q.pp @sets
end
end
end