summaryrefslogtreecommitdiff
path: root/lib/bundler/definition.rb
diff options
context:
space:
mode:
authorFlorian Munz <surf@theflow.de>2018-09-25 17:49:38 +0200
committerFlorian Munz <surf@theflow.de>2018-09-25 20:32:22 +0200
commit21a12c54725f2e5c279964d5e8c5c0763d98756b (patch)
treeae793414ce20896561f6d53b81c2944245d4d73c /lib/bundler/definition.rb
parent3d9e6167a7df9ca89a030dfe95c7cdff293e74a9 (diff)
downloadbundler-21a12c54725f2e5c279964d5e8c5c0763d98756b.tar.gz
make `only_update_to_newer_versions` work correctly with `bundle update`
Diffstat (limited to 'lib/bundler/definition.rb')
-rw-r--r--lib/bundler/definition.rb4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 3964c07fb5..ffcc7ff326 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -974,10 +974,10 @@ module Bundler
def additional_base_requirements_for_resolve
return [] unless @locked_gems && Bundler.feature_flag.only_update_to_newer_versions?
- dependencies_by_name = dependencies.group_by(&:name)
+ dependencies_by_name = dependencies.inject({}) {|memo, dep| memo.update(dep.name => dep) }
@locked_gems.specs.reduce({}) do |requirements, locked_spec|
name = locked_spec.name
- next requirements if @locked_deps[name] != dependencies_by_name[name]
+ next requirements if @locked_gems.dependencies[name] != dependencies_by_name[name]
dep = Gem::Dependency.new(name, ">= #{locked_spec.version}")
requirements[name] = DepProxy.new(dep, locked_spec.platform)
requirements