class CacheStore attr_accessor :store def initialize(cache="#{File.expand_path(File.dirname(__FILE__))}/cache.pstore") @store = PStore.new(cache) end def put(store_name, obj) @store.transaction { @store[store_name] = obj } end def get(store_name) @store.transaction { |store_keeper| store_keeper.fetch(store_name) } end end