Class: EasySerializer::Cacher::Method
- Inherits:
-
Template
- Object
- Template
- EasySerializer::Cacher::Method
show all
- Defined in:
- lib/easy_serializer/cacher/method.rb
Instance Attribute Summary
Attributes inherited from Template
#metadata, #serializer
Instance Method Summary
collapse
Methods inherited from Template
call, #initialize
Methods included from Helpers
#option_to_value
Instance Method Details
#block_to_get_value ⇒ Object
22
23
24
|
# File 'lib/easy_serializer/cacher/method.rb', line 22
def block_to_get_value
proc { serializer.instance_exec serializer.object, &metadata.get_value }
end
|
#execute ⇒ Object
5
6
7
|
# File 'lib/easy_serializer/cacher/method.rb', line 5
def execute
fetch
end
|
#fetch ⇒ Object
26
27
28
|
# File 'lib/easy_serializer/cacher/method.rb', line 26
def fetch
EasySerializer.cache.fetch(key, options, &block_to_get_value)
end
|
#key ⇒ Object
9
10
11
12
13
14
15
16
|
# File 'lib/easy_serializer/cacher/method.rb', line 9
def key
cache_key = if metadata.cache_key
option_to_value(metadata.cache_key, serializer.object, serializer)
else
metadata.name
end
[serializer.object, cache_key, serializer.class.name].flatten
end
|
#options ⇒ Object
18
19
20
|
# File 'lib/easy_serializer/cacher/method.rb', line 18
def options
metadata.cache_options || {}
end
|