Sha256: ac53d95c1f350a45594a3953b6081329a4cf60857f1ec5d5e97f31df4f59172a

Contents?: true

Size: 1.53 KB

Versions: 4

Compression:

Stored size: 1.53 KB

Contents

require 'active_model_serializers/model'

module FunWithJsonApi
  # id: a unique identifier for this particular occurrence of the problem.
  # links: a links object containing the following members:
  #   about: a link that leads to further details about this particular occurrence of the problem.
  # status: the HTTP status code applicable to this problem, expressed as a string value.
  # code: an application-specific error code, expressed as a string value.
  # title: a short, human-readable summary of the problem that SHOULD NOT change from occurrence to
  #   occurrence of the problem, except for purposes of localization.
  # detail: a human-readable explanation specific to this occurrence of the problem. Like title,
  #   this field's value can be localized.
  # source: an object containing references to the source of the error, optionally including any of
  #   the following members:
  # pointer: a JSON Pointer [RFC6901] to the associated entity in the request document
  #  [e.g. "/data" for a primary data object, or "/data/attributes/title" for a specific attribute].
  #  parameter: a string indicating which URI query parameter caused the error.
  #  meta: a meta object containing non-standard meta-information about the error.
  class ExceptionPayload < ::ActiveModelSerializers::Model
    [:id, :status, :code, :title, :detail, :pointer, :parameter].each do |param|
      define_method param do
        attributes[param]
      end
      define_method "#{param}=" do |value|
        attributes[param] = value
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
fun_with_json_api-0.0.14 lib/fun_with_json_api/exception_payload.rb
fun_with_json_api-0.0.13 lib/fun_with_json_api/exception_payload.rb
fun_with_json_api-0.0.11.3 lib/fun_with_json_api/exception_payload.rb
fun_with_json_api-0.0.11.2 lib/fun_with_json_api/exception_payload.rb