Module: Airbrake::RakeHandler::Rake087Methods

Defined in:
lib/airbrake/rake_handler.rb

Overview

This module brings Rake 0.8.7 error handling to 0.9.0 standards

Instance Method Summary collapse

Instance Method Details

#display_error_message(ex) ⇒ Object

Method extracted from Rake 0.8.7 source



58
59
60
61
62
63
64
65
66
67
# File 'lib/airbrake/rake_handler.rb', line 58

def display_error_message(ex)
  $stderr.puts "#{name} aborted!"
  $stderr.puts ex.message
  if options.trace
    $stderr.puts ex.backtrace.join("\n")
  else
    $stderr.puts ex.backtrace.find {|str| str =~ /#{@rakefile}/ } || ""
    $stderr.puts "(See full trace by running task with --trace)"
  end
end

#standard_exception_handlingObject

Method taken from Rake 0.9.0 source

Provide standard exception handling for the given block.



41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/airbrake/rake_handler.rb', line 41

def standard_exception_handling
  begin
    yield
  rescue SystemExit => ex
    # Exit silently with current status
    raise
  rescue OptionParser::InvalidOption => ex
    $stderr.puts ex.message
    exit(false)
  rescue Exception => ex
    # Exit with error message
    display_error_message(ex)
    exit(false)
  end
end