Sha256: ae5d793249ad195fa7b25ac474287d75dee408979e8631dc50b0e68614c0dbfc

Contents?: true

Size: 773 Bytes

Versions: 11

Compression:

Stored size: 773 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.no_commands) }

    injection { Honeybadger.write_verbose_log('Installing Thor integration') }

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

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
honeybadger-1.16.7 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.6 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.5 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.4 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.3 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.2 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.1 lib/honeybadger/integrations/thor.rb
honeybadger-1.16.0 lib/honeybadger/integrations/thor.rb
honeybadger-1.15.3 lib/honeybadger/integrations/thor.rb
honeybadger-1.15.2 lib/honeybadger/integrations/thor.rb
honeybadger-1.15.1 lib/honeybadger/integrations/thor.rb