From 6e8f5d0958247e4b4d629866099ed2836a0e0863 Mon Sep 17 00:00:00 2001 From: William Ma Date: Fri, 3 Jul 2020 18:24:52 -0400 Subject: [PATCH] Modify MultipleVersionsInstalledError to have a generic message --- Library/Homebrew/cli/args.rb | 7 ++++++- Library/Homebrew/exceptions.rb | 9 +-------- Library/Homebrew/test/exceptions_spec.rb | 2 +- 3 files changed, 8 insertions(+), 10 deletions(-) diff --git a/Library/Homebrew/cli/args.rb b/Library/Homebrew/cli/args.rb index 927703327d..167965d6ea 100644 --- a/Library/Homebrew/cli/args.rb +++ b/Library/Homebrew/cli/args.rb @@ -246,16 +246,21 @@ module Homebrew require "formula" require "missing_formula" + puts 1 raise UsageError if name.blank? + puts 2 rack = Formulary.to_rack(name.downcase) + puts 3 dirs = rack.directory? ? rack.subdirs : [] raise NoSuchKegError, rack.basename if dirs.empty? + puts 4 linked_keg_ref = HOMEBREW_LINKED_KEGS/rack.basename opt_prefix = HOMEBREW_PREFIX/"opt/#{rack.basename}" + puts 5 begin if opt_prefix.symlink? && opt_prefix.directory? Keg.new(opt_prefix.resolved_path) @@ -271,7 +276,7 @@ module Homebrew end unless (prefix = f.installed_prefix).directory? - raise MultipleVersionsInstalledError, rack.basename + raise MultipleVersionsInstalledError, "#{rack.basename} has multiple installed versions" end Keg.new(prefix) diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index ba47d036b7..bc32524e61 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -29,14 +29,7 @@ class KegUnspecifiedError < UsageError end end -class MultipleVersionsInstalledError < RuntimeError - attr_reader :name - - def initialize(name) - @name = name - super "#{name} has multiple installed versions" - end -end +class MultipleVersionsInstalledError < RuntimeError; end class NotAKegError < RuntimeError; end diff --git a/Library/Homebrew/test/exceptions_spec.rb b/Library/Homebrew/test/exceptions_spec.rb index ee0aa4f370..79dba60a4e 100644 --- a/Library/Homebrew/test/exceptions_spec.rb +++ b/Library/Homebrew/test/exceptions_spec.rb @@ -3,7 +3,7 @@ require "exceptions" describe MultipleVersionsInstalledError do - subject { described_class.new("foo") } + subject { described_class.new("foo has multiple installed versions") } its(:to_s) { is_expected.to eq("foo has multiple installed versions") } end