Sha256: 6ac0f4a616ca0199ed5f163cd4ff7786371026e6c2f2f774f9b931749a5c8045

Contents?: true

Size: 821 Bytes

Versions: 3

Compression:

Stored size: 821 Bytes

Contents

require 'rollbar/exception_reporter'
require 'rollbar/request_data_extractor'

module Pliny
  module ErrorReporters
    class Rollbar
      include ::Rollbar::ExceptionReporter
      include ::Rollbar::RequestDataExtractor

      def notify(exception, context:, rack_env:)
        ::Rollbar.reset_notifier!
        scope = fetch_scope(context: context, rack_env: rack_env)
        ::Rollbar.scoped(scope) do
          report_exception_to_rollbar(rack_env, exception)
        end
      end

      private

      def fetch_scope(context:, rack_env:)
        scope = {}
        unless rack_env.empty?
          scope[:request] = proc { extract_request_data_from_rack(rack_env) }
        end
        scope
      rescue Exception => e
        report_exception_to_rollbar(rack_env, e)
        raise
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pliny-0.24.0 lib/pliny/error_reporters/rollbar.rb
pliny-0.23.0 lib/pliny/error_reporters/rollbar.rb
pliny-0.22.0 lib/pliny/error_reporters/rollbar.rb