summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSamuel E. Giddins <segiddins@segiddins.me>2015-05-29 10:43:27 -0700
committerSamuel E. Giddins <segiddins@segiddins.me>2015-05-29 10:43:27 -0700
commit4e848bf694d2ee49ea426fcbc3ee6b459ec8ce54 (patch)
tree8bb2410d75139eda1a7093652073fbb931e9a26f
parentd95cd09186085631406756eb0adc7d84b8648c5c (diff)
downloadbundler-4e848bf694d2ee49ea426fcbc3ee6b459ec8ce54.tar.gz
[Resolver] Properly calculating amount constrained when the dep is locked
-rw-r--r--lib/bundler/resolver.rb14
1 files changed, 9 insertions, 5 deletions
diff --git a/lib/bundler/resolver.rb b/lib/bundler/resolver.rb
index fd77636b2b..61d45aba46 100644
--- a/lib/bundler/resolver.rb
+++ b/lib/bundler/resolver.rb
@@ -305,12 +305,16 @@ module Bundler
def amount_constrained(dependency)
@amount_constrained ||= {}
@amount_constrained[dependency.name] ||= begin
- base_dep = Dependency.new dependency.name, '>= 0.a'
- all = search_for(DepProxy.new base_dep, dependency.__platform)
- if all.size == 0
- 0
+ if base = @base[dependency.name] and !base.empty?
+ dependency.requirement.satisfied_by?(base.first.version) ? 0 : 1
else
- search_for(dependency).size.to_f / all.size.to_f
+ base_dep = Dependency.new dependency.name, '>= 0.a'
+ all = search_for(DepProxy.new base_dep, dependency.__platform)
+ if all.size == 0
+ 0
+ else
+ search_for(dependency).size.to_f / all.size.to_f
+ end
end
end
end