Sha256: 85185377d3803228289003460e30fb38ca0ef86d761fa5c7eb83f41bde3d8643

Contents?: true

Size: 679 Bytes

Versions: 3

Compression:

Stored size: 679 Bytes

Contents

module Honeybadger
  module Integrations
    module Thor
      def self.included(base)
        base.class_eval do
          no_commands do
            alias_method :invoke_command_without_honeybadger, :invoke_command
            alias_method :invoke_command, :invoke_command_with_honeybadger
          end
        end
      end

      def invoke_command_with_honeybadger(*args)
        invoke_command_without_honeybadger(*args)
      rescue Exception => e
        Honeybadger.notify_or_ignore(e)
        raise
      end
    end
  end

  Dependency.register do
    requirement { defined?(::Thor) }

    injection do
      Thor.send(:include, Integrations::Thor)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
honeybadger-1.15.0 lib/honeybadger/integrations/thor.rb
honeybadger-1.14.0 lib/honeybadger/integrations/thor.rb
honeybadger-1.12.0.beta3 lib/honeybadger/integrations/thor.rb