module TmpCache::Prototype::Methods
Public Instance Methods
cache()
click to toggle source
# File lib/tmp_cache/cache.rb, line 16 def cache @cache ||= Hash.new{|h,k| h = {:expire => 0, :value => nil}} end
each() { |k, v| ... }
click to toggle source
# File lib/tmp_cache/cache.rb, line 58 def each(&block) gc cache.each do |k,v| yield k, v[:value] end end
gc()
click to toggle source
# File lib/tmp_cache/cache.rb, line 36 def gc cache.each do |k,c| if c[:expire] != nil and Time.now.to_i > c[:expire].to_i cache.delete k end end end
get(key)
click to toggle source
# File lib/tmp_cache/cache.rb, line 28 def get(key) if cache[key][:expire] < Time.now.to_i return cache[key][:value] = nil else return cache[key][:value] end end
keys()
click to toggle source
# File lib/tmp_cache/cache.rb, line 48 def keys gc cache.keys end
reset()
click to toggle source
# File lib/tmp_cache/cache.rb, line 44 def reset @cache = nil end
set(key, value, expire=nil)
click to toggle source
# File lib/tmp_cache/cache.rb, line 20 def set(key, value, expire=nil) cache[key] = { :value => value, :expire => expire ? Time.now.to_i+expire.to_i : nil } value end
values()
click to toggle source
# File lib/tmp_cache/cache.rb, line 53 def values gc cache.values.map{|v| v[:value] } end