Ruby gem for deserializing JSON API payloads into custom hashes.
To insert the included documents to has_one
and has_many
relation ship, use the with_included: true
option to the relationship:
class DeserializableBook < JSONAPI::Deserializable::Resource
id
type
attributes :id,
:title
has_one :author, with_included: true
end
To use a custom deserializer for the included relationship, use the deserializer
option:
class DeserializableBook < JSONAPI::Deserializable::Resource
id
type
attributes :id,
:title
has_one :author, with_included: true, deserializer: DeserialzableAuthor
end
If the property name is different than the included object type, pass the type
option:
class DeserializableBook < JSONAPI::Deserializable::Resource
id
type
attributes :id,
:title
has_one :author, with_included: true, deserializer: DeserializablePerson, type: 'people'
end
- Chat: gitter
- Twitter: @jsonapirb
- Docs: jsonapi-rb.org
See jsonapi-rb.org/guides/deserialization.
jsonapi-deserializable is released under the MIT License.