Sha256: c16e70d87201a378e51afaea0b7f2b54c540f13d6718c03da52838960999c75c

Contents?: true

Size: 1.71 KB

Versions: 13

Compression:

Stored size: 1.71 KB

Contents

Rollbar.plugins.define('goalie') do
  dependency { !configuration.disable_monkey_patch }
  dependency { defined?(Goalie) }

  execute do
    module Rollbar
      module Goalie
        def render_exception_with_rollbar(env, exception)
          exception_data = nil

          begin
            controller = env['action_controller.instance']
            request_data = controller.rollbar_request_data rescue nil
            person_data = controller.rollbar_person_data rescue nil
            exception_data = Rollbar.scope(:request => request_data, :person => person_data).error(exception, :use_exception_level_filters => true)
          rescue => e
            Rollbar.log_warning "[Rollbar] Exception while reporting exception to Rollbar: #{e}"
          end

          # if an exception was reported, save uuid in the env
          # so it can be displayed to the user on the error page
          if exception_data.is_a?(Hash)
            env['rollbar.exception_uuid'] = exception_data[:uuid]
            Rollbar.log_info "[Rollbar] Exception uuid saved in env: #{exception_data[:uuid]}"
          elsif exception_data == 'disabled'
            Rollbar.log_info "[Rollbar] Exception not reported because Rollbar is disabled"
          elsif exception_data == 'ignored'
            Rollbar.log_info "[Rollbar] Exception not reported because it was ignored"
          end

          # now continue as normal
          render_exception_without_rollbar(env, exception)
        end
      end
    end
  end

  execute do
    Goalie::CustomErrorPages.class_eval do
      include Rollbar::Goalie

      alias_method :render_exception_without_rollbar, :render_exception
      alias_method :render_exception, :render_exception_with_rollbar
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
rollbar-2.14.1 lib/rollbar/plugins/goalie.rb
rollbar-2.14.0 lib/rollbar/plugins/goalie.rb
rollbar-2.13.3 lib/rollbar/plugins/goalie.rb
rollbar-2.13.2 lib/rollbar/plugins/goalie.rb
rollbar-2.13.1 lib/rollbar/plugins/goalie.rb
rollbar-2.13.0 lib/rollbar/plugins/goalie.rb
rollbar-2.12.0 lib/rollbar/plugins/goalie.rb
rollbar-2.11.5 lib/rollbar/plugins/goalie.rb
rollbar-2.11.4 lib/rollbar/plugins/goalie.rb
rollbar-2.11.3 lib/rollbar/plugins/goalie.rb
rollbar-2.11.2 lib/rollbar/plugins/goalie.rb
rollbar-2.11.1 lib/rollbar/plugins/goalie.rb
rollbar-2.11.0 lib/rollbar/plugins/goalie.rb