Add custom exception for untapped formulae
This commit is contained in:
parent
751d997202
commit
3872f78d66
@ -39,22 +39,31 @@ class FormulaUnavailableError < RuntimeError
|
||||
attr_reader :name
|
||||
attr_accessor :dependent
|
||||
|
||||
def initialize name
|
||||
@name = name
|
||||
end
|
||||
|
||||
def dependent_s
|
||||
"(dependency of #{dependent})" if dependent and dependent != name
|
||||
end
|
||||
|
||||
def to_s
|
||||
if name =~ HOMEBREW_TAP_FORMULA_REGEX then <<-EOS.undent
|
||||
No available formula for #$3 #{dependent_s}
|
||||
Please tap it and then try again: brew tap #$1/#$2
|
||||
EOS
|
||||
else
|
||||
"No available formula for #{name} #{dependent_s}"
|
||||
end
|
||||
"No available formula for #{name} #{dependent_s}"
|
||||
end
|
||||
end
|
||||
|
||||
class TapFormulaUnavailableError < FormulaUnavailableError
|
||||
attr_reader :user, :repo, :shortname
|
||||
|
||||
def initialize name
|
||||
@name = name
|
||||
super
|
||||
@user, @repo, @shortname = name.split("/", 3)
|
||||
end
|
||||
|
||||
def to_s; <<-EOS.undent
|
||||
No available formula for #{shortname} #{dependent_s}
|
||||
Please tap it and then try again: brew tap #{user}/#{repo}
|
||||
EOS
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
@ -155,7 +155,9 @@ class Formulary
|
||||
end
|
||||
|
||||
def get_formula
|
||||
klass.new(tapped_name, path)
|
||||
klass.new(name, path)
|
||||
rescue FormulaUnavailableError => e
|
||||
raise TapFormulaUnavailableError.new(e.name)
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user