summaryrefslogtreecommitdiff
path: root/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2023-02-09 15:24:06 +0100
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2023-02-21 19:28:12 +0900
commit80389915838fe235b5691391ba00e2733e31d93b (patch)
tree030c8d7d54f8d61221367d225b6edffe55cf44ae /lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
parente7bf85961d43e5679946abd3cd0de59278582309 (diff)
[rubygems/rubygems] Sync with pub_grub main branch
We became a bit out of sync lately. https://github.com/rubygems/rubygems/commit/6161a2610a
Notes
Notes: Merged: https://github.com/ruby/ruby/pull/7345
Diffstat (limited to 'lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb')
-rw-r--r--lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb9
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb b/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
index e895812bed..4bf61461b2 100644
--- a/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
+++ b/lib/bundler/vendor/pub_grub/lib/pub_grub/static_package_source.rb
@@ -19,7 +19,14 @@ module Bundler::PubGrub
version = Gem::Version.new(version)
@packages[name] ||= {}
raise ArgumentError, "#{name} #{version} declared twice" if @packages[name].key?(version)
- @packages[name][version] = deps
+ @packages[name][version] = clean_deps(name, version, deps)
+ end
+
+ private
+
+ # Exclude redundant self-referencing dependencies
+ def clean_deps(name, version, deps)
+ deps.reject {|dep_name, req| name == dep_name && Bundler::PubGrub::RubyGems.parse_range(req).include?(version) }
end
end