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