summaryrefslogtreecommitdiff
path: root/lib/bundler/definition.rb
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2023-06-08 19:58:30 +0200
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-06-15 07:01:21 +0900
commit90c60e81380bfc8955135bc50f02a2018623ff98 (patch)
tree583e2be740d6b61a8a79515b5a4427131bc29ba2 /lib/bundler/definition.rb
parent96e3f31c1e857fda1ce28b766dd766b67ceb682a (diff)
[rubygems/rubygems] Simplify checking Gemfile vs lockfile sources
https://github.com/rubygems/rubygems/commit/251e80aec6
Diffstat (limited to 'lib/bundler/definition.rb')
-rw-r--r--lib/bundler/definition.rb17
1 files changed, 10 insertions, 7 deletions
diff --git a/lib/bundler/definition.rb b/lib/bundler/definition.rb
index 6ad31f8e8e..3e10b68783 100644
--- a/lib/bundler/definition.rb
+++ b/lib/bundler/definition.rb
@@ -234,6 +234,14 @@ module Bundler
end
def current_dependencies
+ filter_relevant(dependencies)
+ end
+
+ def current_locked_dependencies
+ filter_relevant(locked_dependencies)
+ end
+
+ def filter_relevant(dependencies)
dependencies.select do |d|
d.should_include? && !d.gem_platforms([generic_local_platform]).empty?
end
@@ -382,13 +390,8 @@ module Bundler
deleted.concat deleted_deps.map {|d| "* #{pretty_dep(d)}" } if deleted_deps.any?
both_sources = Hash.new {|h, k| h[k] = [] }
- @dependencies.each {|d| both_sources[d.name][0] = d }
-
- locked_dependencies.each do |d|
- next if @locked_specs[d.name].empty?
-
- both_sources[d.name][1] = d
- end
+ current_dependencies.each {|d| both_sources[d.name][0] = d }
+ current_locked_dependencies.each {|d| both_sources[d.name][1] = d }
both_sources.each do |name, (dep, lock_dep)|
next if dep.nil? || lock_dep.nil?