class ReportsKits::Cache
Constants
- CACHE_PREFIX
Public Class Methods
get(properties, context_record)
click to toggle source
# File lib/reports_kits/cache.rb, line 5 def self.get(properties, context_record) return unless store key = self.key(properties, context_record) json_string = store.get(key) return if json_string.blank? ActiveSupport::JSON.decode(json_string) end
set(properties, context_record, data)
click to toggle source
# File lib/reports_kits/cache.rb, line 13 def self.set(properties, context_record, data) return unless store key = self.key(properties, context_record) json_string = ActiveSupport::JSON.encode(data) store.setex(key, duration, json_string) end
Private Class Methods
duration()
click to toggle source
# File lib/reports_kits/cache.rb, line 29 def self.duration @duration ||= ReportsKits.configuration.cache_duration end
key(properties, context_record)
click to toggle source
# File lib/reports_kits/cache.rb, line 22 def self.key(properties, context_record) key = properties.to_json key += "#{context_record.class}#{context_record.id}" if context_record key = Digest::MD5.hexdigest(key) "#{CACHE_PREFIX}#{key}" end
store()
click to toggle source
# File lib/reports_kits/cache.rb, line 33 def self.store @store ||= ReportsKits.configuration.cache_store end