Module: Typelizer::ProcResourceResolution

Defined in:
lib/typelizer/proc_resource_resolution.rb

Instance Method Summary collapse

Instance Method Details

#interface_for(serializer_class) ⇒ Object

V3 serializers declare association resources lazily as proc { Spree.api.x_serializer } so host-app overrides registered in initializers are respected at render time. Alba calls the proc per object, but Typelizer introspects the resource as a class. Resolve the proc to its serializer class so schema generation works for lazy associations.



7
8
9
10
# File 'lib/typelizer/proc_resource_resolution.rb', line 7

def interface_for(serializer_class)
  serializer_class = serializer_class.call if serializer_class.is_a?(Proc)
  super
end