class Primalize::JSONAPI::Cache
Public Class Methods
new()
click to toggle source
# File lib/primalize/jsonapi.rb, line 130 def initialize # Three-layer cache: metadata/serialization, class, and id @cache = Hash.new do |h, k| h[k] = Hash.new do |h, k| h[k] = {} end end end
Public Instance Methods
[](type, model)
click to toggle source
# File lib/primalize/jsonapi.rb, line 139 def [] type, model return if model.nil? @cache[type][model.class][model.id] end
[]=(type, model, value)
click to toggle source
# File lib/primalize/jsonapi.rb, line 145 def []= type, model, value return if model.nil? @cache[type][model.class][model.id] = value end
fetch(type, model) { || ... }
click to toggle source
# File lib/primalize/jsonapi.rb, line 151 def fetch type, model return if model.nil? @cache[type][model.class][model.id] ||= yield end