class PartyFoul::Middleware
Public Class Methods
new(app)
click to toggle source
# File lib/party_foul/middleware.rb, line 3 def initialize(app) @app = app end
Public Instance Methods
call(env)
click to toggle source
# File lib/party_foul/middleware.rb, line 7 def call(env) @app.call(env) rescue Exception => captured_exception if allow_handling?(captured_exception) PartyFoul::ExceptionHandler.handle(captured_exception, env) end raise captured_exception end
Private Instance Methods
allow_handling?(captured_exception)
click to toggle source
# File lib/party_foul/middleware.rb, line 18 def allow_handling?(captured_exception) !PartyFoul.blacklisted_exceptions.find do |blacklisted_exception| names = blacklisted_exception.split('::') names.shift if names.empty? || names.first.empty? constant = Object names.each do |name| constant = constant.const_defined?(name) ? constant.const_get(name) : constant.const_missing(name) end constant === captured_exception end end