module YmlErrorResponder::Responder

Private Instance Methods

log_error(error) click to toggle source
# File lib/yml_error_responder/responder.rb, line 41
def log_error(error)
  if YmlErrorResponder.unknown_error_logger.respond_to?(:call)
    YmlErrorResponder.unknown_error_logger.call(error)
  end
  Rails.logger.error error.message
  Rails.logger.error error.backtrace.join("\n")
end
respond_with_error(handler) click to toggle source
# File lib/yml_error_responder/responder.rb, line 27
def respond_with_error(handler)
  respond_to do |format|
    format.html do
      render file: "#{Rails.root}/public/#{handler.http_code}",
        layout: false,
        status: handler.http_code
    end
    format.json do
      render json: handler.as_json,
        status: handler.http_code
    end
  end
end
resque_global(error) click to toggle source
# File lib/yml_error_responder/responder.rb, line 11
def resque_global(error)
  if YmlMapper.error_defined?(error)
    respond_with_error ErrorHandlers::handler(error, YmlMapper.error_payload(error))
  else

    log_error(error)
    ExceptionNotifier.notify_exception(error) if defined?(ExceptionNotifier)

    if YmlErrorResponder.handle_unknown_error
      respond_with_error ErrorHandlers.unknown_error
    else
      raise error
    end
  end
end