Sha256: 6cbccffa7b356e5c5551fc92381845e4f91bc09eb1603f788738a0042c32a2d3
Contents?: true
Size: 719 Bytes
Versions: 3
Compression:
Stored size: 719 Bytes
Contents
module Chronicle module ETL class JSONAPISerializer < Chronicle::ETL::Serializer def serializable_hash @record .identifier_hash .merge({ attributes: @record.attributes }) .merge({ relationships: build_associations }) .merge(@record.meta_hash) end def build_associations @record.associations.transform_values do |value| association_data = if value.is_a?(Array) value.map { |record| JSONAPISerializer.new(record).serializable_hash } else JSONAPISerializer.new(value).serializable_hash end { data: association_data } end end end end end
Version data entries
3 entries across 3 versions & 1 rubygems