module Expirable
Generic expirability mixin.
Attributes
expires[RW]
Public Instance Methods
expired?()
click to toggle source
Is this entry expired?
# File lib/more/facets/expirable.rb, line 40 def expired? if @expires.nil? or (Time.now > @expires) return true else return false end end
expires_after(timeout = (60*60*24))
click to toggle source
Set the expires timeout for this entry.
# File lib/more/facets/expirable.rb, line 27 def expires_after(timeout = (60*60*24)) @expires = Time.now + timeout end
expires_spread(base, spread)
click to toggle source
Set the expire timeout for this entry. The timeout happens after (base + rand(spread)) seconds.
# File lib/more/facets/expirable.rb, line 34 def expires_spread(base, spread) @expires = Time.now + base + rand(spread) end
touch!()
click to toggle source
Update the expiration period. Override in your application.
# File lib/more/facets/expirable.rb, line 50 def touch! end