Module: JSONAPI::Consumer::Errors
- Defined in:
- lib/jsonapi/consumer/errors.rb
Defined Under Namespace
Classes: ConnectionNotConfigured, RecordNotSaved, ResponseError, ServerNotResponding
Constant Summary collapse
- BAD_REQUEST =
Error constants
400
- NOT_AUTHORIZED =
401
- FORBIDDEN =
403
- NOT_FOUND =
404
- METHOD_NOT_ALLOWED =
405
- BAD_FORMAT =
406
- REQUESTED_RANGE_NOT_SATISFIABLE =
416
- UNPROCESSABLE_ENTITY =
422
- INTERNAL_SERVER_ERROR =
500
Class Method Summary collapse
-
.class_for_error_code(code) ⇒ Object
Returns the error class for a given error code.
-
.class_for_error_name(name) ⇒ Object
Returns the error class for a given constant name.
-
.class_name_for_error_name(name) ⇒ Object
Returns a class name from a constant name.
-
.error_constants ⇒ Object
Returns a hash of error names to response codes.
Class Method Details
.class_for_error_code(code) ⇒ Object
Returns the error class for a given error code. Default to InternalServerError.
83 84 85 86 |
# File 'lib/jsonapi/consumer/errors.rb', line 83 def class_for_error_code(code) name = error_constants.select { |k, v| v == code }.keys.first name.present? ? class_for_error_name(name) : Errors::InternalServerError end |
.class_for_error_name(name) ⇒ Object
Returns the error class for a given constant name. Default to InternalServerError.
76 77 78 79 |
# File 'lib/jsonapi/consumer/errors.rb', line 76 def class_for_error_name(name) class_name = class_name_for_error_name(name) const_defined?(class_name) ? Errors.const_get(class_name) : Errors::InternalServerError end |
.class_name_for_error_name(name) ⇒ Object
Returns a class name from a constant name.
70 71 72 |
# File 'lib/jsonapi/consumer/errors.rb', line 70 def class_name_for_error_name(name) name.to_s.titleize.gsub(' ', '') end |
.error_constants ⇒ Object
Returns a hash of error names to response codes.
61 62 63 64 65 66 67 |
# File 'lib/jsonapi/consumer/errors.rb', line 61 def error_constants constants.each_with_object({}) do |name, hash| # Ignore any class constants next if (code = Errors.const_get(name)).is_a?(Class) hash[name] = code end end |