Module: Airbrake::RakeHandler

Defined in:
lib/airbrake/rake_handler.rb

Overview

Patch Rake::Application to handle errors with Airbrake

Defined Under Namespace

Modules: Rake087Methods

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



3
4
5
6
7
8
9
# File 'lib/airbrake/rake_handler.rb', line 3

def self.included(klass)
  klass.class_eval do
    include Rake087Methods unless defined?(Rake::VERSION) && Rake::VERSION >= '0.9.0'
    alias_method :display_error_message_without_airbrake, :display_error_message
    alias_method :display_error_message, :display_error_message_with_airbrake
  end
end

Instance Method Details

#display_error_message_with_airbrake(ex) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/airbrake/rake_handler.rb', line 11

def display_error_message_with_airbrake(ex)
  if Airbrake.sender && Airbrake.configuration &&
      (Airbrake.configuration.rescue_rake_exceptions || 
        (Airbrake.configuration.rescue_rake_exceptions===nil && !self.tty_output?))

    Airbrake.notify(ex, :component => reconstruct_command_line, :cgi_data => ENV)
  end

  display_error_message_without_airbrake(ex)
end

#reconstruct_command_lineObject



22
23
24
# File 'lib/airbrake/rake_handler.rb', line 22

def reconstruct_command_line
  "rake #{ARGV.join( ' ' )}"
end