class Sfn::Cache::Stamped
Wrapper to auto stamp values
Public Class Methods
new(name, base, cache)
click to toggle source
Create new instance
@param name [String, Symbol] @param base [Redis::Value, LocalValue] @param cache [Cache]
# File lib/sfn/cache.rb, line 348 def initialize(name, base, cache) @name = name.to_sym @base = base @cache = cache end
Public Instance Methods
restamp!()
click to toggle source
Force a timestamp update
# File lib/sfn/cache.rb, line 379 def restamp! self.value = value end
set?()
click to toggle source
@return [TrueClass, FalseClass] is value set
# File lib/sfn/cache.rb, line 369 def set? @base.value.is_a?(Hash) end
stamp()
click to toggle source
@return [Float] timestamp of last set (or 0.0 if unset)
# File lib/sfn/cache.rb, line 374 def stamp set? ? @base.value[:stamp] : 0.0 end
update_allowed?()
click to toggle source
@return [TrueClass, FalseClass] update is allowed based on stamp and limits
# File lib/sfn/cache.rb, line 384 def update_allowed? !set? || @cache.time_check_allow?(@name, @base.value[:stamp]) end
value()
click to toggle source
@return [Object] value stored
# File lib/sfn/cache.rb, line 355 def value @base.value[:value] if set? end
value=(v)
click to toggle source
Store value and update timestamp
@param v [Object] value @return [Object]
# File lib/sfn/cache.rb, line 363 def value=(v) @base.value = {:stamp => Time.now.to_f, :value => v} v end