diff options
Diffstat (limited to 'Library')
| -rw-r--r-- | Library/Homebrew/global.rb | 20 |
1 files changed, 16 insertions, 4 deletions
diff --git a/Library/Homebrew/global.rb b/Library/Homebrew/global.rb index ce79da2ec..92513294f 100644 --- a/Library/Homebrew/global.rb +++ b/Library/Homebrew/global.rb @@ -61,11 +61,23 @@ HOMEBREW_USER_AGENT = "Homebrew #{HOMEBREW_VERSION} (Ruby #{RUBY_VERSION}-#{RUBY class ExecutionError <RuntimeError - attr :status + attr :exit_status - def initialize cmd, args=[], status=nil - super "Failure while executing: #{cmd} #{args*' '}" - @status = status + def initialize cmd, args = [], es = nil + super "Failure while executing: #{cmd} #{pretty(args)*' '}" + @exit_status = es.exitstatus rescue 1 + end + + private + + def pretty args + args.collect do |arg| + if arg.include? ' ' + "'#{ arg.gsub "'", "\\'" }'" + else + arg + end + end end end |
