module Memflash::CachingLayer
Public Instance Methods
[](key)
click to toggle source
Calls superclass method
# File lib/memflash.rb, line 19 def [](key) value_in_hash = super if memflashed?(key, value_in_hash) Rails.cache.read(value_in_hash) else value_in_hash end end
[]=(key, value)
click to toggle source
Calls superclass method
# File lib/memflash.rb, line 8 def []=(key, value) value_for_hash = value if value.kind_of?(String) && value.length >= Memflash.threshold value_for_hash = memflash_key(key) Rails.cache.write(value_for_hash, value) end super(key, value_for_hash) end
Private Instance Methods
memflash_key(hash_key)
click to toggle source
# File lib/memflash.rb, line 30 def memflash_key(hash_key) "Memflash-#{hash_key}-#{Time.now.to_f}-#{Kernel.rand}" end
memflashed?(key, value)
click to toggle source
# File lib/memflash.rb, line 34 def memflashed?(key, value) /^Memflash-#{key}/.match?(value.to_s) end