class Bugsnag::Middleware::DiscardErrorClass

Determines if the exception should be ignored based on the configured ‘discard_classes`

Public Class Methods

new(middleware) click to toggle source

@param middleware [#call] The next middleware to call

# File lib/bugsnag/middleware/discard_error_class.rb, line 8
def initialize(middleware)
  @middleware = middleware
end

Public Instance Methods

call(report) click to toggle source

@param report [Report]

# File lib/bugsnag/middleware/discard_error_class.rb, line 14
def call(report)
  should_discard = report.raw_exceptions.any? do |ex|
    report.configuration.discard_classes.any? do |to_ignore|
      case to_ignore
      when String then to_ignore == ex.class.name
      when Regexp then to_ignore =~ ex.class.name
      else false
      end
    end
  end

  report.ignore! if should_discard

  @middleware.call(report)
end