summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbronzdoc <lsagastume1990@gmail.com>2019-07-25 23:54:06 -0600
committerHiroshi SHIBATA <hsbt@ruby-lang.org>2019-08-17 07:35:48 +0900
commit89ad5df979727ab50eee6106550bf58b1888486e (patch)
tree4b5d80d208686fc25deb39763a3d535298d9bd01
parentb8984370daaff4809b04330a6d7098f171568f79 (diff)
[rubygems/rubygems] Replace domain parameter in Gem::Command#show_lookup_failure with a parameter to suppress suggestions
https://github.com/rubygems/rubygems/commit/760b7d834f
-rw-r--r--lib/rubygems/command.rb5
-rw-r--r--lib/rubygems/commands/install_command.rb5
-rw-r--r--test/rubygems/test_gem_command.rb2
3 files changed, 6 insertions, 6 deletions
diff --git a/lib/rubygems/command.rb b/lib/rubygems/command.rb
index 347b36cae6..ab683f0049 100644
--- a/lib/rubygems/command.rb
+++ b/lib/rubygems/command.rb
@@ -155,9 +155,8 @@ class Gem::Command
##
# Display to the user that a gem couldn't be found and reasons why
#--
- # TODO: replace +domain+ with a parameter to suppress suggestions
- def show_lookup_failure(gem_name, version, errors, domain, required_by = nil)
+ def show_lookup_failure(gem_name, version, errors, suppress_suggestions = false, required_by = nil)
gem = "'#{gem_name}' (#{version})"
msg = String.new "Could not find a valid gem #{gem}"
@@ -174,7 +173,7 @@ class Gem::Command
alert_error msg
- unless domain == :local # HACK
+ unless suppress_suggestions
suggestions = Gem::SpecFetcher.fetcher.suggest_gems_from_name gem_name
unless suggestions.empty?
diff --git a/lib/rubygems/commands/install_command.rb b/lib/rubygems/commands/install_command.rb
index 0085d68cf3..753ff33eb5 100644
--- a/lib/rubygems/commands/install_command.rb
+++ b/lib/rubygems/commands/install_command.rb
@@ -218,6 +218,7 @@ You can use `i` command instead of `install`.
gem_version ||= options[:version]
domain = options[:domain]
domain = :local unless options[:suggest_alternate]
+ supress_suggestions = (domain == :local)
begin
install_gem gem_name, gem_version
@@ -225,11 +226,11 @@ You can use `i` command instead of `install`.
alert_error "Error installing #{gem_name}:\n\t#{e.message}"
exit_code |= 1
rescue Gem::GemNotFoundException => e
- show_lookup_failure e.name, e.version, e.errors, domain
+ show_lookup_failure e.name, e.version, e.errors, supress_suggestions
exit_code |= 2
rescue Gem::UnsatisfiableDependencyError => e
- show_lookup_failure e.name, e.version, e.errors, domain,
+ show_lookup_failure e.name, e.version, e.errors, supress_suggestions,
"'#{gem_name}' (#{gem_version})"
exit_code |= 2
diff --git a/test/rubygems/test_gem_command.rb b/test/rubygems/test_gem_command.rb
index f3897c7102..d51371301e 100644
--- a/test/rubygems/test_gem_command.rb
+++ b/test/rubygems/test_gem_command.rb
@@ -328,7 +328,7 @@ ERROR: Could not find a valid gem 'other' (>= 0) in any repository
end
use_ui @ui do
- @cmd.show_lookup_failure misspelled, Gem::Requirement.default, [], :remote
+ @cmd.show_lookup_failure misspelled, Gem::Requirement.default, []
end
expected = <<-EXPECTED