class EasySerializer::Cacher::Collection

Public Instance Methods

block_to_get_value(elem) click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 27
def block_to_get_value(elem)
  proc { nested_serializer.call(elem) }
end
collection() click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 11
def collection
  @collection ||= serializer.instance_exec serializer.object, &metadata.get_value
end
execute() click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 5
def execute
  collection.map do |elem|
    fetch(key(elem), elem)
  end
end
fetch(key, elem) click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 35
def fetch(key, elem)
  EasySerializer.cache.fetch(key, options, &block_to_get_value(elem))
end
key(elem) click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 15
def key(elem)
  if metadata_key
    [cache_key(elem), metadata_key, nested_serializer.name]
  else
    [cache_key(elem), nested_serializer.name]
  end.flatten
end
nested_serializer() click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 31
def nested_serializer
  metadata.serializer(serializer.object, serializer)
end
options() click to toggle source
# File lib/easy_serializer/cacher/collection.rb, line 23
def options
  metadata.cache_options || {}
end