diff --git a/lib/rubygems/exceptions.rb b/lib/rubygems/exceptions.rb index 362b09dcbb..0f65c76daf 100644 --- a/lib/rubygems/exceptions.rb +++ b/lib/rubygems/exceptions.rb @@ -21,13 +21,11 @@ class Gem::UnknownCommandError < Gem::Exception end def self.attach_correctable - return if defined?(@attached) + return if method_defined?(:corrections) if defined?(DidYouMean) && DidYouMean.respond_to?(:correct_error) DidYouMean.correct_error(Gem::UnknownCommandError, Gem::UnknownCommandSpellChecker) end - - @attached = true end end diff --git a/test/rubygems/test_gem_command_manager.rb b/test/rubygems/test_gem_command_manager.rb index eeda4d94cf..50a2270e3d 100644 --- a/test/rubygems/test_gem_command_manager.rb +++ b/test/rubygems/test_gem_command_manager.rb @@ -79,7 +79,7 @@ class TestGemCommandManager < Gem::TestCase message = "Unknown command pish".dup - if defined?(DidYouMean) + if e.respond_to?(:corrections) message << "\nDid you mean? \"push\"" end