Sha256: f0b83282a68f7c62c07552bfe6b1625b537f42d1551857b81f678dbb7beb9a0a
Contents?: true
Size: 1.56 KB
Versions: 2
Compression:
Stored size: 1.56 KB
Contents
#-- # Expirable # # George Moschovitis # Copyright (c) 2004-2005 Navel, all rights reserved. # # Ruby License # # This module is free software. You may use, modify, and/or redistribute this # software under the same terms as Ruby. # # This program is distributed in the hope that it will be useful, but WITHOUT # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # FOR A PARTICULAR PURPOSE. # # ========================================================================== # Revision History # -------------------------------------------------------------------------- # 2005-08-07 trans * Ported to Calibre. # ========================================================================== #++ #:title: Expirable # # Very generic expirability mixin. # # == Usage # # TODO # # == Author(s) # # * George Moschovitis # module Expirable attr_accessor :expires # Set the expires timeout for this entry. def expires_after(timeout = (60*60*24)) @expires = Time.now + timeout end # Set the expire timeout for this entry. The timeout happens # after (base + rand(spread)) seconds. def expires_spread(base, spread) @expires = Time.now + base + rand(spread) end # Is this entry expired? def expired? if @expires.nil? or (Time.now > @expires) return true else return false end end end # _____ _ # |_ _|__ ___| |_ # | |/ _ \/ __| __| # | | __/\__ \ |_ # |_|\___||___/\__| # # TODO =begin #test require 'test/unit' class TC_Expirable < Test::Unit::TestCase def test_01 end end =end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
facets-1.0.3 | packages/more/lib/facet/expirable.rb |
facets-1.2.0 | lib/facets/more/expirable.rb |