Class: JSONAPI::Rails::SerializableActiveModelErrors

Inherits:
Object
  • Object
show all
Defined in:
lib/jsonapi/rails/serializable_active_model_errors.rb

Instance Method Summary collapse

Constructor Details

#initialize(exposures) ⇒ SerializableActiveModelErrors

Returns a new instance of SerializableActiveModelErrors.



20
21
22
23
24
25
# File 'lib/jsonapi/rails/serializable_active_model_errors.rb', line 20

def initialize(exposures)
  @errors = exposures[:object]
  @reverse_mapping = exposures[:_jsonapi_pointers] || {}

  freeze
end

Instance Method Details

#as_jsonapiObject



27
28
29
30
31
32
33
34
35
# 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