class Api::Exception
Attributes
messages[RW]
Public Class Methods
error_constants()
click to toggle source
# File lib/api/exception.rb, line 26 def error_constants { INTERNAL_SERVER_ERROR: { message: t(:internal_server_error), key: :internal_server_error, status_code: :internal_server_error }, RECORD_NOT_FOUND: { message: t(:record_not_found), key: :record_not_found, status_code: :not_found }, RECORD_INVALID: { message: t(:record_invalid), key: :record_invalid, status_code: :unprocessable_entity }, RECORD_NOT_DESTROYED: { message: t(:record_not_destroyed), key: :record_not_destroyed, status_code: :forbidden }, FORBIDDEN_RESOURCE: { message: t(:forbidden_resource), key: :forbidden_resource, status_code: :forbidden }, UNAUTHORIZED_ACCESS: { message: t(:unauthorized_access), key: :unauthorized_access, status_code: :unauthorized } } end
new(error_constant, messages = nil)
click to toggle source
# File lib/api/exception.rb, line 10 def initialize(error_constant, messages = nil) @error_constant = error_constant @messages = { @error_constant[:key].to_s => [messages || @error_constant[:message]] } end
Private Class Methods
t(key)
click to toggle source
# File lib/api/exception.rb, line 63 def t(key) ::I18n.config.available_locales = :en ::I18n.t("api_response.messages.#{key}") end
Public Instance Methods
full_messages()
click to toggle source
# File lib/api/exception.rb, line 17 def full_messages @messages.values.flatten end
status_code()
click to toggle source
# File lib/api/exception.rb, line 21 def status_code @error_constant[:status_code] end