class EasySerializer::RootCacher
Attributes
block[R]
serializer[R]
Public Class Methods
call(serializer, &block)
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 5 def self.call(serializer, &block) new(serializer, &block).execute end
new(serializer, &block)
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 10 def initialize(serializer, &block) @serializer = serializer @block = block end
Public Instance Methods
cache_key()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 24 def cache_key return object.cache_key if object.respond_to?(:cache_key) object end
execute()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 15 def execute fetch end
fetch()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 47 def fetch EasySerializer.cache.fetch(key, options, &block) end
key()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 37 def key custom_key = serializer.__cache[:key] if custom_key k = option_to_value(custom_key, object, serializer) [cache_key, k, serializer.class.name] else [cache_key, serializer.class.name] end.flatten end
object()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 19 def object serializer.object end
Also aliased as: subject
options()
click to toggle source
# File lib/easy_serializer/root_cacher.rb, line 29 def options h = serializer.__cache.dup [:block, :cache_key, :root_call, :serializer, :key].each do |k| h.delete(k) end h end