Module: LaserLemon::CacheFlow::InstanceMethods
- Defined in:
- lib/cache_flow.rb
Instance Method Summary collapse
- #to_json_with_cache_flow(options = {}, &block) ⇒ Object
- #to_xml_with_cache_flow(options = {}, &block) ⇒ Object
Instance Method Details
#to_json_with_cache_flow(options = {}, &block) ⇒ Object
43 44 45 46 47 48 49 50 51 |
# File 'lib/cache_flow.rb', line 43 def to_json_with_cache_flow( = {}, &block) if cache_json?() key = json_cache_key(.merge!(:cache => false)) value = to_json_without_cache_flow(, &block) Rails.cache.fetch(key){ value.respond_to?(:dup) ? value.dup : value } else to_json_without_cache_flow(, &block) end end |
#to_xml_with_cache_flow(options = {}, &block) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/cache_flow.rb', line 33 def to_xml_with_cache_flow( = {}, &block) if cache_xml?(, &block) key = xml_cache_key(.merge!(:cache => false)) value = to_xml_without_cache_flow(, &block) Rails.cache.fetch(key){ value.respond_to?(:dup) ? value.dup : value } else to_xml_without_cache_flow(, &block) end end |