class JSONAPI::Exceptions::InternalServerError

Attributes

exception[RW]

Public Class Methods

new(exception, error_object_overrides = {}) click to toggle source
Calls superclass method JSONAPI::Exceptions::Error::new
# File lib/jsonapi/exceptions.rb, line 40
def initialize(exception, error_object_overrides = {})
  @exception = exception
  super(error_object_overrides)
end

Public Instance Methods

errors() click to toggle source
# File lib/jsonapi/exceptions.rb, line 45
def errors
  if JSONAPI.configuration.include_backtraces_in_errors
    meta = Hash.new
    meta[:exception] = exception.message
    meta[:backtrace] = exception.backtrace
  end

  if JSONAPI.configuration.include_application_backtraces_in_errors
    meta ||= Hash.new
    meta[:exception] ||= exception.message
    meta[:application_backtrace] = exception.backtrace.select{|line| line =~ /#{Rails.root}/}
  end

  [create_error_object(code: JSONAPI::INTERNAL_SERVER_ERROR,
                       status: :internal_server_error,
                       title: I18n.t('jsonapi-resources.exceptions.internal_server_error.title',
                                     default: 'Internal Server Error'),
                       detail: I18n.t('jsonapi-resources.exceptions.internal_server_error.detail',
                                      default: 'Internal Server Error'),
                       meta: meta)]
end