Sha256: 4ac5c03b83b91a80fca1b73e88fe92393a2afd43e593f9baf832794cf91b8ec0
Contents?: true
Size: 1023 Bytes
Versions: 8
Compression:
Stored size: 1023 Bytes
Contents
module JSONAPIonify::Api module Resource::Builders class RelationshipsBuilder < FieldsBuilder delegate :relationships, to: :resource, prefix: true private def build_default resource_relationships.each_with_object(Objects::Relationships.new) do |relationship, attrs| unless relationship.hidden_for_action?(action_name) attrs[relationship.name] = build_relationship(relationship) end end end def build_sparce resource_fields.each_with_object(Objects::Relationships.new) do |field, attrs| field = field.to_sym relationship = resource_relationships.find { |rel| rel.name == field } attrs[field] = build_relationship(relationship) if relationship end end def build_relationship(relationship) RelationshipBuilder.build( resource, relationship: relationship, context: context, instance: instance ) end end end end
Version data entries
8 entries across 8 versions & 1 rubygems