diff options
Diffstat (limited to 'lib/rubygems/dependency_resolver/index_set.rb')
-rw-r--r-- | lib/rubygems/dependency_resolver/index_set.rb | 34 |
1 files changed, 10 insertions, 24 deletions
diff --git a/lib/rubygems/dependency_resolver/index_set.rb b/lib/rubygems/dependency_resolver/index_set.rb index 8c8bc4319d..04d6ec816f 100644 --- a/lib/rubygems/dependency_resolver/index_set.rb +++ b/lib/rubygems/dependency_resolver/index_set.rb @@ -2,10 +2,17 @@ # The global rubygems pool represented via the traditional # source index. -class Gem::DependencyResolver::IndexSet +class Gem::DependencyResolver::IndexSet < Gem::DependencyResolver::Set - def initialize - @f = Gem::SpecFetcher.fetcher + def initialize source = nil # :nodoc: + @f = + if source then + sources = Gem::SourceList.from [source] + + Gem::SpecFetcher.new sources + else + Gem::SpecFetcher.fetcher + end @all = Hash.new { |h,k| h[k] = [] } @@ -39,26 +46,5 @@ class Gem::DependencyResolver::IndexSet res end - ## - # Called from IndexSpecification to get a true Specification - # object. - - def load_spec name, ver, platform, source - key = "#{name}-#{ver}-#{platform}" - - @specs.fetch key do - tuple = Gem::NameTuple.new name, ver, platform - - @specs[key] = source.fetch_spec tuple - end - end - - ## - # No prefetching needed since we load the whole index in - # initially. - - def prefetch gems - end - end |