Module: Honeybadger::RakeHandler::Rake087Methods Private

Defined in:
lib/honeybadger/init/rake.rb

Overview

This module is part of a private API. You should avoid using this module if possible, as it may be removed or be changed in the future.

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

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Method extracted from Rake 0.8.7 source



48
49
50
51
52
53
54
55
56
57
# File 'lib/honeybadger/init/rake.rb', line 48

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

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Method taken from Rake 0.9.0 source

Provide standard exception handling for the given block.



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/honeybadger/init/rake.rb', line 31

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