summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Rodríguez <deivid.rodriguez@riseup.net>2022-09-09 00:05:49 +0200
committergit <svn-admin@ruby-lang.org>2022-09-12 22:13:32 +0900
commit2aa8edaec701ca2d76e7be7a9b792b69574ac869 (patch)
treed1237671a99321a2c12e9eef874fe365835274ec
parent75d90cc8e55ec662782526094b31ada1853a161b (diff)
[rubygems/rubygems] Deduplicate results just once
Instead of checking for uniqueness for every spec. https://github.com/rubygems/rubygems/commit/97d28c9665
-rw-r--r--lib/bundler/index.rb13
1 files changed, 3 insertions, 10 deletions
diff --git a/lib/bundler/index.rb b/lib/bundler/index.rb
index 9c48c9032b..d3743adb68 100644
--- a/lib/bundler/index.rb
+++ b/lib/bundler/index.rb
@@ -58,19 +58,12 @@ module Bundler
# about, returning all of the results.
def search(query)
results = local_search(query)
-
- seen = results.map(&:full_name).uniq unless @sources.empty?
+ return results unless @sources.any?
@sources.each do |source|
- source.search(query).each do |spec|
- next if seen.include?(spec.full_name)
-
- seen << spec.full_name
- results << spec
- end
+ results.concat(source.search(query))
end
-
- results
+ results.uniq(&:full_name)
end
def local_search(query)