Methods
C
N
R
Class Public methods
new(app, rescuers = {}, &block)
# File actionpack/lib/action_dispatch/middleware/rescue.rb, line 3
def initialize(app, rescuers = {}, &block)
  @app, @rescuers = app, {}
  rescuers.each { |exception, rescuer| rescue_from(exception, rescuer) }
  instance_eval(&block) if block_given?
end
Instance Public methods
call(env)
# File actionpack/lib/action_dispatch/middleware/rescue.rb, line 9
def call(env)
  @app.call(env)
rescue Exception => exception
  if rescuer = @rescuers[exception.class.name]
    env['action_dispatch.rescue.exception'] = exception
    rescuer.call(env)
  else
    raise exception
  end
end
Instance Protected methods
rescue_from(exception, rescuer)
# File actionpack/lib/action_dispatch/middleware/rescue.rb, line 21
def rescue_from(exception, rescuer)
  exception = exception.class.name if exception.is_a?(Exception)
  @rescuers[exception.to_s] = rescuer
end