[rubygems/rubygems] Deduplicate results just once

Instead of checking for uniqueness for every spec.

https://github.com/rubygems/rubygems/commit/97d28c9665
This commit is contained in:
David Rodríguez 2022-09-09 00:05:49 +02:00 committed by git
parent 75d90cc8e5
commit 2aa8edaec7

View File

@ -58,19 +58,12 @@ module Bundler
# about, returning all of the results. # about, returning all of the results.
def search(query) def search(query)
results = local_search(query) results = local_search(query)
return results unless @sources.any?
seen = results.map(&:full_name).uniq unless @sources.empty?
@sources.each do |source| @sources.each do |source|
source.search(query).each do |spec| results.concat(source.search(query))
next if seen.include?(spec.full_name)
seen << spec.full_name
results << spec
end end
end results.uniq(&:full_name)
results
end end
def local_search(query) def local_search(query)