class Primalize::JSONAPI::HasOne
Attributes
attr[R]
Public Class Methods
new(attr, type: attr, &block)
click to toggle source
# File lib/primalize/jsonapi.rb, line 92 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 97 def call(model, cache:) model = model.send(@attr) cache.fetch(:serialization, model) do primalizer.new(model).call end end
metadata(model, cache:)
click to toggle source
# File lib/primalize/jsonapi.rb, line 108 def metadata(model, cache:) model = model.send(@attr) data = cache.fetch(:metadata, model) do MetadataPrimalizer.new(model, primalizer.type).call end { data: data } end
primalizer()
click to toggle source
# File lib/primalize/jsonapi.rb, line 104 def primalizer @primalizer ||= @block.call end