module ActionController::Rescue

def rescue_action_in_public?

def rescue_action_in_public?
  request.respond_to?(:rescue_action_in_public?) and request.rescue_action_in_public?
end

def rescue_action_with_handler_with_fast_errors(exception)

def rescue_action_with_handler_with_fast_errors(exception)
  if (use_rails_error_handling? || rescue_action_in_public?) & !handler_for_rescue(exception)
    rescue_action_in_public(exception)
  else
    rescue_action_with_handler_without_fast_errors(exception)
  end
end

def use_rails_error_handling!

def use_rails_error_handling!
  Kernel.warn <<-WARNING
ECATION NOTICE: controller.use_rails_error_handling! is
ecated and will be removed from a future version of
c-rails.
rescue_action_in_public!, which is defined directly in
s' testing framework, instead.
ING
  if Rails::VERSION::STRING =~ /^2\.0/
    @use_rails_error_handling = true
  else
    # anything but 0.0.0.0 - borrowed from rails own rescue_action_in_public!
    request.remote_addr = '208.77.188.166'
  end
end

def use_rails_error_handling?

def use_rails_error_handling?
  @use_rails_error_handling ||= false
end