Sha256: 2a418dc0a7bb72aa37a5b609b81f4a315568ff92de4e858757452117b7b3b48f

Contents?: true

Size: 408 Bytes

Versions: 1

Compression:

Stored size: 408 Bytes

Contents

class Cache

  def initialize(source, fetchm, exp=86400)
    @expiry = exp
    @timestamp = 0
    @contents = []
    @source = source
    @fetch = fetchm
  end

  def contents
    if expired?
      put(@source.send(@fetch))
    end
    @contents
  end

  def put(stuff)
    @timestamp = Time.now.utc.to_i
    @contents = stuff
  end
  
  def expired?
    (Time.now.utc.to_i - @timestamp) > @expiry
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bikes-0.0.3 lib/cache.rb