module JsonapiSerializer::DSL::Polymorphic
Attributes
meta_inherited[R]
meta_poly[R]
meta_resolver[R]
Public Instance Methods
inherited(subclass)
click to toggle source
# File lib/jsonapi_serializer/dsl/polymorphic.rb, line 31 def inherited(subclass) parent = self subclass.class_eval do include JsonapiSerializer::Base @meta_attributes = parent.meta_attributes.clone @meta_relationships = parent.meta_relationships.clone @meta_id = parent.meta_id @meta_inherited = true end @meta_poly << subclass.to_s end
polymorphic_for(*serializers)
click to toggle source
# File lib/jsonapi_serializer/dsl/polymorphic.rb, line 27 def polymorphic_for(*serializers) @meta_poly += serializers.map(&:to_s) end
resolver(&block)
click to toggle source
# File lib/jsonapi_serializer/dsl/polymorphic.rb, line 19 def resolver(&block) if block_given? @meta_resolver = block else raise ArgumentError, "Resolver hook requires a block that takes record and returns its type." end end