Class: Eras::ErrorReporter

Inherits:
Object
  • Object
show all
Defined in:
lib/eras/error_reporter.rb

Instance Method Summary collapse

Instance Method Details

#report(error, handled:, severity:, context:, source: nil) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/eras/error_reporter.rb', line 3

def report(error, handled:, severity:, context:, source: nil)
  return if Eras.config.ignored_error_classes.include?(error.class.name)
  return unless Eras.config.reporting_envs.include?(::Rails.env)

  context = context.merge(rails_env: ::Rails.env).transform_values(&:to_s)

  data = {
    error: {
      class: error.class.name,
      message: error.message,
      backtrace: error.backtrace&.join("\n")
    },
    handled: handled,
    severity: severity,
    context: context,
    source: source
  }
  Eras.adapter.write_error(data)
end