class JSONAPI::Rails::SerializableActiveModelErrors

@private

Public Class Methods

new(exposures) click to toggle source
# File lib/jsonapi/rails/serializable_active_model_errors.rb, line 20
def initialize(exposures)
  @errors = exposures[:object]
  @reverse_mapping = exposures[:_jsonapi_pointers] || {}

  freeze
end

Public Instance Methods

as_jsonapi() click to toggle source
# File lib/jsonapi/rails/serializable_active_model_errors.rb, line 27
def as_jsonapi
  @errors.keys.flat_map do |key|
    @errors.full_messages_for(key).map do |message|
      SerializableActiveModelError.new(field: key, message: message,
                                       pointer: @reverse_mapping[key])
        .as_jsonapi
    end
  end
end