class Honeybadger::Plugins::Rails::ErrorSubscriber

def self.report(exception, handled:, severity:, context: {}, source: nil)

def self.report(exception, handled:, severity:, context: {}, source: nil)
  # We only report unhandled errors (`Rails.error.handle`)
  # Unhandled errors will be caught by our integrations (eg middleware), which have richer context
  return unless handled
  return if source_ignored?(source)
  tags = ["severity:#{severity}", "handled:#{handled}"]
  tags << "source:#{source}" if source
  Honeybadger.notify(exception, context: context, tags: tags)
end

def self.source_ignored?(source)

def self.source_ignored?(source)
  source && ::Honeybadger.config[:'rails.subscriber_ignore_sources'].any? do |ignored_source|
    ignored_source.is_a?(Regexp) ? ignored_source.match?(source) : (ignored_source == source)
  end
end