module PennyWise::ErrorHandler
Public Instance Methods
error()
click to toggle source
# File lib/penny_wise/error_handler.rb, line 17 def error render_error(params[:code], PennyWise::Exceptions::RenderedErrorPageException.new) end
error_report(exception)
click to toggle source
# File lib/penny_wise/error_handler.rb, line 21 def error_report(exception) "#{exception.class} raised on #{request.fullpath}:" \ "\n#{exception.message}" \ "\nBacktrace:" \ "\n#{exception.backtrace.join("\n")}" end
render_error(code, exception)
click to toggle source
# File lib/penny_wise/error_handler.rb, line 28 def render_error(code, exception) message, description = PennyWise.configuration.error_messages.fetch(code, PennyWise.configuration.unknown_error_message) error_logger = logger.method(code.to_i < 500 ? :info : :error) error_logger.call "#{code}: #{description}.\n" + error_report(exception) @code = code @message = message @description = description error_renderer(code) rescue Exception => handler_exception logger.fatal error_report(PennyWise::Exceptions::ErrorHandlerException.new(exception, handler_exception)) failure_renderer(500) end