module LinkedRails::Controller::ErrorHandling

Private Instance Methods

add_error_snackbar(error) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 17
def add_error_snackbar(error)
  add_exec_action_header(response.headers, ontola_snackbar_action(error.error.message))
end
add_error_snackbar?(_error) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 21
def add_error_snackbar?(_error)
  !%w[GET HEAD].include?(request.method)
end
error_mode(exception) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 40
def error_mode(exception)
  @_error_mode = true
  Rails.logger.error exception
  @_uc = nil
end
error_resource(status, error, url = request.original_url) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 46
def error_resource(status, error, url = request.original_url)
  LinkedRails.rdf_error_class.new(status, url, error)
end
error_response_serializer(error, type, status: nil) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 50
def error_response_serializer(error, type, status: nil)
  status ||= error_status(error)
  error = error_resource(status, error)
  add_error_snackbar(error) if add_error_snackbar?(error)
  render type => error, status: status
end
error_status(error) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 57
def error_status(error)
  self.class.error_status_codes[error.class.to_s] || 500
end
handle_and_report_error(error) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 33
def handle_and_report_error(error)
  raise if Rails.env.development? || Rails.env.test?
  raise if response_body

  handle_error(error)
end
handle_error(error) click to toggle source
# File lib/linked_rails/controller/error_handling.rb, line 25
def handle_error(error)
  respond_to do |format|
    (LinkedRails::Renderers.rdf_content_types + [:json]).each do |type|
      format.send(type) { error_response_serializer(error, type) }
    end
  end
end