aboutsummaryrefslogtreecommitdiffstats
path: root/lib/rubygems/resolver/lock_set.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/rubygems/resolver/lock_set.rb')
-rw-r--r--lib/rubygems/resolver/lock_set.rb22
1 files changed, 13 insertions, 9 deletions
diff --git a/lib/rubygems/resolver/lock_set.rb b/lib/rubygems/resolver/lock_set.rb
index f4987576ec..4ede5971fb 100644
--- a/lib/rubygems/resolver/lock_set.rb
+++ b/lib/rubygems/resolver/lock_set.rb
@@ -6,13 +6,16 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
attr_reader :specs # :nodoc:
##
- # Creates a new LockSet from the given +source+
+ # Creates a new LockSet from the given +sources+
- def initialize source
+ def initialize sources
super()
- @source = Gem::Source::Lock.new source
- @specs = []
+ @sources = sources.map do |source|
+ Gem::Source::Lock.new source
+ end
+
+ @specs = []
end
##
@@ -25,13 +28,14 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
def add name, version, platform # :nodoc:
version = Gem::Version.new version
- spec =
- Gem::Resolver::LockSpecification.new self, name, version, @source,
+ specs = @sources.map do |source|
+ Gem::Resolver::LockSpecification.new self, name, version, source,
platform
+ end
- @specs << spec
+ @specs.concat specs
- spec
+ specs
end
##
@@ -40,7 +44,7 @@ class Gem::Resolver::LockSet < Gem::Resolver::Set
def find_all req
@specs.select do |spec|
- req.matches_spec? spec
+ req.match? spec
end
end