From 3d5b4af523dca55fe7fa49433eec2519254b060b Mon Sep 17 00:00:00 2001 From: Max Howell Date: Fri, 16 Mar 2012 11:55:30 +0000 Subject: Tell the user to tap (if req.) for tapped deps Also propagate dependency info through exception if possible so the error message is more useful. --- Library/Homebrew/exceptions.rb | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'Library/Homebrew/exceptions.rb') diff --git a/Library/Homebrew/exceptions.rb b/Library/Homebrew/exceptions.rb index 0d55336d1..f577ecae5 100644 --- a/Library/Homebrew/exceptions.rb +++ b/Library/Homebrew/exceptions.rb @@ -24,10 +24,24 @@ end class FormulaUnavailableError < RuntimeError attr :name + attr :dependent, true + + def dependent_s + "(dependency of #{dependent})" if dependent and dependent != name + end + + def to_s + if name =~ %r{(\w+)/(\w+)/(\w+)} 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 + end def initialize name @name = name - super "No available formula for #{name}" end end -- cgit v1.2.3