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