aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/dependency_resolver/index_set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/dependency_resolver/index_set.rb')
-rw-r--r--lib/rubygems/dependency_resolver/index_set.rb34
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