Sha256: 3d6cbf6feb54cad017e9befa3b547c75fc8cbe5a94622dc3ef261588fbc30108

Contents?: true

Size: 734 Bytes

Versions: 51

Compression:

Stored size: 734 Bytes

Contents

require 'honeybadger/plugin'
require 'honeybadger'

module Honeybadger
  module Plugins
    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

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

      execution do
        ::Thor.send(:include, Thor)
      end
    end
  end
end

Version data entries

51 entries across 51 versions & 2 rubygems

Version Path
honeybadger-2.7.2 lib/honeybadger/plugins/thor.rb
honeybadger-2.7.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.7.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.6.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.6.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.5.3 lib/honeybadger/plugins/thor.rb
honeybadger-2.5.2 lib/honeybadger/plugins/thor.rb
honeybadger-2.5.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.5.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.4.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.4.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.3.3 lib/honeybadger/plugins/thor.rb
honeybadger-2.3.2 lib/honeybadger/plugins/thor.rb
honeybadger-2.3.2.beta.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.3.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.3.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.2.0 lib/honeybadger/plugins/thor.rb
honeybadger-2.2.0.beta.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.1.6.beta.1 lib/honeybadger/plugins/thor.rb
honeybadger-2.1.5 lib/honeybadger/plugins/thor.rb