Class: StatusLib::Cache

Inherits:
Object
  • Object
show all
Defined in:
lib/status_lib/cache.rb

Class Method Summary collapse

Class Method Details

.clear!Object



13
14
15
# File 'lib/status_lib/cache.rb', line 13

def clear!
  @timestamps = @cached_items = nil
end

.fetch(item, options = {}) ⇒ Object



3
4
5
6
7
8
9
10
11
# File 'lib/status_lib/cache.rb', line 3

def fetch(item, options={})
  expires_in = options[:expires_in]
  stored = items[item]
  if stored.nil? || expired?(expires_in, timestamps[item])
    stored = items[item] = yield
    timestamps[item] = Time.now
  end
  stored
end