mirror of
https://github.com/ditkrg/jsonapi-deserializable.git
synced 2026-01-22 13:56:50 +00:00
Conveniently deserialize JSON API payloads into custom hashes.
| lib/jsonapi | ||
| spec | ||
| .gitignore | ||
| .hound.yml | ||
| .rubocop.yml | ||
| .travis.yml | ||
| Gemfile | ||
| jsonapi-deserializable.gemspec | ||
| LICENSE | ||
| Rakefile | ||
| README.md | ||
| VERSION | ||
jsonapi-deserializable
Ruby gem for deserializing JSON API payloads into custom hashes.
Usage
Support for included documents
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
Status
Resources
- Chat: gitter
- Twitter: @jsonapirb
- Docs: jsonapi-rb.org
Usage and documentation
See jsonapi-rb.org/guides/deserialization.
License
jsonapi-deserializable is released under the MIT License.
