Sha256: 830bbebc2dcbbbf8ff87a5dd7d16301715b75b75f5f2a7a59b13c0c9c3ebc307

Contents?: true

Size: 1.98 KB

Versions: 24

Compression:

Stored size: 1.98 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 = begin
                             controller.rollbar_request_data
                           rescue StandardError
                             nil
                           end
            person_data = begin
                            controller.rollbar_person_data
                          rescue StandardError
                            nil
                          end
            exception_data = Rollbar.scope(:request => request_data, :person => person_data).error(exception, :use_exception_level_filters => true)
          rescue StandardError => 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

24 entries across 24 versions & 1 rubygems

Version Path
rollbar-3.2.0 lib/rollbar/plugins/goalie.rb
rollbar-3.1.2 lib/rollbar/plugins/goalie.rb
rollbar-3.1.1 lib/rollbar/plugins/goalie.rb
rollbar-3.1.0 lib/rollbar/plugins/goalie.rb
rollbar-3.0.1 lib/rollbar/plugins/goalie.rb
rollbar-3.0.0 lib/rollbar/plugins/goalie.rb
rollbar-2.27.1 lib/rollbar/plugins/goalie.rb
rollbar-2.27.0 lib/rollbar/plugins/goalie.rb
rollbar-2.26.1 lib/rollbar/plugins/goalie.rb
rollbar-2.26.0 lib/rollbar/plugins/goalie.rb
rollbar-2.25.1 lib/rollbar/plugins/goalie.rb
rollbar-2.25.0 lib/rollbar/plugins/goalie.rb
rollbar-2.24.0 lib/rollbar/plugins/goalie.rb
rollbar-2.23.2 lib/rollbar/plugins/goalie.rb
rollbar-2.23.1 lib/rollbar/plugins/goalie.rb
rollbar-2.23.0 lib/rollbar/plugins/goalie.rb
rollbar-2.22.1 lib/rollbar/plugins/goalie.rb
rollbar-2.22.0 lib/rollbar/plugins/goalie.rb
rollbar-2.21.0 lib/rollbar/plugins/goalie.rb
rollbar-2.20.2 lib/rollbar/plugins/goalie.rb