Sha256: 1260d949c0e1a7aeaf06da2eeb2b8bc1f67c453f14c887408a91acc4b4dc8820

Contents?: true

Size: 729 Bytes

Versions: 88

Compression:

Stored size: 729 Bytes

Contents

require 'honeybadger/plugin'
require 'honeybadger/ruby'

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(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

88 entries across 88 versions & 1 rubygems

Version Path
honeybadger-5.23.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.22.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.21.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.20.1 lib/honeybadger/plugins/thor.rb
honeybadger-5.20.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.19.2 lib/honeybadger/plugins/thor.rb
honeybadger-5.19.1 lib/honeybadger/plugins/thor.rb
honeybadger-5.19.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.18.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.17.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.16.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.6 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.5 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.4 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.3 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.2 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.1 lib/honeybadger/plugins/thor.rb
honeybadger-5.15.0 lib/honeybadger/plugins/thor.rb
honeybadger-5.14.2 lib/honeybadger/plugins/thor.rb
honeybadger-5.14.1 lib/honeybadger/plugins/thor.rb