Class: HatiJsonapiError::PoroSerializer

Inherits:
Object
  • Object
show all
Defined in:
lib/hati_jsonapi_error/poro_serializer.rb

Overview

This class is used to serialize errors to a JSON API format.

Constant Summary collapse

SHORT_KEYS =
i[status title detail source].freeze

Instance Method Summary collapse

Constructor Details

#initialize(error) ⇒ PoroSerializer

Returns a new instance of PoroSerializer.



8
9
10
# File 'lib/hati_jsonapi_error/poro_serializer.rb', line 8

def initialize(error)
  @errors = normalized_errors(error)
end

Instance Method Details

#serializable_hash(short: false) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/hati_jsonapi_error/poro_serializer.rb', line 16

def serializable_hash(short: false)
  if short
    { errors: errors.map { |error| error.to_h.slice(*SHORT_KEYS) } }
  else
    { errors: errors.map(&:to_h) }
  end
end

#serialize_to_json(short: false) ⇒ Object



12
13
14
# File 'lib/hati_jsonapi_error/poro_serializer.rb', line 12

def serialize_to_json(short: false)
  serializable_hash(short: short).to_json
end