#!/usr/bin/env ruby # Persistence::ODBA -- de.oddb.org -- 01.09.2006 -- hwyss@ywesee.com require 'odba' require 'odba/connection_pool' #require 'odba/drbwrapper' ODBA.storage.dbi = ODBA::ConnectionPool.new("DBI:Pg:testdb", "masa", "") #ODBA.cache.setup class Masa include ODBA::Persistable attr_reader :name, :expiry_time def initialize(name) @name = name end def expired? (@expiry_time - Time.now) < 0 end def save(expires=Time.now+2592000) # in 30 days @expiry_time = expires self.odba_store end end if ARGV[0] masa = ODBA.cache.fetch_cache_entry(ARGV[0].to_i) print "expired?=", masa.expired?, "\n" print "this id is valid in ", (masa.expiry_time - Time.now).to_i/60/60/24, " days\n" else masa = Masa.new('aaabbb') print "odba_id=", masa.odba_id, "\n" masa.save Time.local(2011,1,1) end