summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/rubygems/spec_fetcher.rb15
1 files changed, 4 insertions, 11 deletions
diff --git a/lib/rubygems/spec_fetcher.rb b/lib/rubygems/spec_fetcher.rb
index 610edf25c9..9c0399f196 100644
--- a/lib/rubygems/spec_fetcher.rb
+++ b/lib/rubygems/spec_fetcher.rb
@@ -176,19 +176,12 @@ class Gem::SpecFetcher
matches = names.map do |n|
next unless n.match_platform?
- [n.name, 0] if n.name.downcase.tr("_-", "").include?(gem_name)
+ distance = levenshtein_distance gem_name, n.name.downcase.tr("_-", "")
+ next if distance >= max
+ return [n.name] if distance == 0
+ [n.name, distance]
end.compact
- if matches.length < num_results
- matches += names.map do |n|
- next unless n.match_platform?
- distance = levenshtein_distance gem_name, n.name.downcase.tr("_-", "")
- next if distance >= max
- return [n.name] if distance == 0
- [n.name, distance]
- end.compact
- end
-
matches = if matches.empty? && type != :prerelease
suggest_gems_from_name gem_name, :prerelease
else