Modify MultipleVersionsInstalledError to have a generic message

This commit is contained in:
William Ma 2020-07-03 18:24:52 -04:00
parent 525d1ac27d
commit 6e8f5d0958
3 changed files with 8 additions and 10 deletions

View File

@ -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)

View File

@ -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

View File

@ -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