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