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_reader :name
|
||||||
attr_accessor :dependent
|
attr_accessor :dependent
|
||||||
|
|
||||||
|
def initialize name
|
||||||
|
@name = name
|
||||||
|
end
|
||||||
|
|
||||||
def dependent_s
|
def dependent_s
|
||||||
"(dependency of #{dependent})" if dependent and dependent != name
|
"(dependency of #{dependent})" if dependent and dependent != name
|
||||||
end
|
end
|
||||||
|
|
||||||
def to_s
|
def to_s
|
||||||
if name =~ HOMEBREW_TAP_FORMULA_REGEX then <<-EOS.undent
|
"No available formula for #{name} #{dependent_s}"
|
||||||
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
|
|
||||||
end
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
class TapFormulaUnavailableError < FormulaUnavailableError
|
||||||
|
attr_reader :user, :repo, :shortname
|
||||||
|
|
||||||
def initialize name
|
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
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -155,7 +155,9 @@ class Formulary
|
|||||||
end
|
end
|
||||||
|
|
||||||
def get_formula
|
def get_formula
|
||||||
klass.new(tapped_name, path)
|
klass.new(name, path)
|
||||||
|
rescue FormulaUnavailableError => e
|
||||||
|
raise TapFormulaUnavailableError.new(e.name)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user