module Honeybadger::RakeHandler

def self.included(klass)

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_honeybadger, :display_error_message
    alias_method :display_error_message, :display_error_message_with_honeybadger
  end
end

def display_error_message_with_honeybadger(ex)

def display_error_message_with_honeybadger(ex)
  Honeybadger.notify(ex, origin: :rake, component: reconstruct_command_line)
  display_error_message_without_honeybadger(ex)
ensure
  Honeybadger.clear!
end

def reconstruct_command_line

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