class Primalize::JSONAPI::HasMany
Attributes
attr[R]
Public Class Methods
new(attr, type: attr, &block)
click to toggle source
# File lib/primalize/jsonapi.rb, line 62 def initialize attr, type: attr, &block @attr = attr @block = block || proc { JSONAPI.fetch(type) } end
Public Instance Methods
call(model, cache:)
click to toggle source
# File lib/primalize/jsonapi.rb, line 67 def call(model, cache:) model.send(@attr).map do |obj| cache.fetch(:serialization, obj) do primalizer.new(obj).call end end end
metadata(model, cache:)
click to toggle source
# File lib/primalize/jsonapi.rb, line 79 def metadata(model, cache:) result = model.send(@attr).map do |obj| cache.fetch(:metadata, obj) do MetadataPrimalizer.new(obj, primalizer.type).call end end { data: result } end
primalizer()
click to toggle source
# File lib/primalize/jsonapi.rb, line 75 def primalizer @primalizer ||= @block.call end