summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/bundler/definition.rb3
-rw-r--r--lib/bundler/resolver.rb20
2 files changed, 12 insertions, 11 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 7acd78ea0b..39b2c6dad0 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -194,8 +194,7 @@ module Bundler
last_resolve
else
# Run a resolve against the locally available gems
- requested_ruby_version = ruby_version.version if ruby_version
- last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, requested_ruby_version)
+ last_resolve.merge Resolver.resolve(expanded_dependencies, index, source_requirements, last_resolve, Bundler.ruby_version)
end
end
end
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index edced0077f..95bf9b33e8 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -127,14 +127,15 @@ module Bundler
@source ||= first.source
end
- def for?(platform, required_ruby_version)
- if spec = @specs[platform]
- if required_ruby_version && spec_required_ruby_version = spec.required_ruby_version
- spec_required_ruby_version.satisfied_by?(required_ruby_version)
- else
- true
- end
+ def for?(platform, required_ruby)
+ return true if required_ruby.nil?
+ return false if @specs[platform].nil?
+
+ if @specs[platform].respond_to?(:required_ruby_version)
+ spec_ruby = @specs[platform].required_ruby_version
end
+
+ spec_ruby.nil? ? true : spec_ruby.satisfied_by?(required_ruby)
end
def to_s
@@ -192,7 +193,7 @@ module Bundler
@search_for = {}
@base_dg = Molinillo::DependencyGraph.new
@base.each {|ls| @base_dg.add_vertex(ls.name, Dependency.new(ls.name, ls.version), true) }
- @ruby_version = ruby_version ? Gem::Version.create(ruby_version) : nil
+ @ruby_version = ruby_version && ruby_version.gem_version
end
def start(requirements)
@@ -272,7 +273,8 @@ module Bundler
[]
end
end
- search.select {|sg| sg.for?(platform, @ruby_version) }.each {|sg| sg.activate_platform(platform) }
+ search.select {|sg| sg.for?(platform, @ruby_version) }.
+ each {|sg| sg.activate_platform(platform) }
end
def name_for(dependency)