class EasySerializer::Cacher::Serializer

Public Instance Methods

block_to_get_value() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 25
def block_to_get_value
  proc { metadata.serialize!(value, serializer) }
end
execute() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 5
def execute
  fetch
end
fetch() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 37
def fetch
  EasySerializer.cache.fetch(key, options, &block_to_get_value)
end
key() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 9
def key
  if metadata_key
    [cache_key, metadata_key, nested_serializer.name]
  else
    [cache_key, nested_serializer.name]
  end.flatten
end
nested_serializer() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 33
def nested_serializer
  metadata.serializer(serializer.object, serializer)
end
options() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 21
def options
  metadata.cache_options || {}
end
subject() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 17
def subject
  value
end
value() click to toggle source
# File lib/easy_serializer/cacher/serializer.rb, line 29
def value
  serializer.instance_exec serializer.object, &metadata.get_value
end