class Mhc::DataStore::Cache
Constants
- VERSION
Public Class Methods
new(cache_filename)
click to toggle source
# File lib/mhc/datastore.rb, line 122 def initialize(cache_filename) @pstore = PStore.new(cache_filename) load end
Public Instance Methods
each() { |uid, ent| ... }
click to toggle source
dump cache entry for debug usage
# File lib/mhc/datastore.rb, line 128 def each load unless @db @db.each do |uid, ent| yield uid, ent end end
lookup(uid, filename)
click to toggle source
# File lib/mhc/datastore.rb, line 135 def lookup(uid, filename) unless c = get(uid) and File.mtime(filename).to_i <= c.mtime c = CacheEntry.new(filename) put(uid, c) end return c end
save()
click to toggle source
# File lib/mhc/datastore.rb, line 143 def save return self unless @dirty @pstore.transaction do @pstore["root"] = @db @pstore["version"] = VERSION end @dirty = false end
Private Instance Methods
get(uid)
click to toggle source
# File lib/mhc/datastore.rb, line 154 def get(uid) @db[uid] end
load()
click to toggle source
# File lib/mhc/datastore.rb, line 163 def load @pstore.transaction do @db = (@pstore["version"] == VERSION) && @pstore["root"] || {} end @dirty = false end
put(uid, value)
click to toggle source
# File lib/mhc/datastore.rb, line 158 def put(uid, value) @db[uid] = value @dirty = true end