Module: SimpleCache::Interface

Defined in:
lib/simple_cache.rb

Constant Summary collapse

@@requests =
@@misses = 0

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.statsObject



81
82
83
84
85
86
87
88
# File 'lib/simple_cache.rb', line 81

def self.stats
  return {} if @@requests == 0
  
  {
    :hits => @@requests - @@misses,
    :misses => @@misses
  }
end

Instance Method Details

#cached(key, ttl = nil, &block) ⇒ Object



69
70
71
72
73
74
75
76
77
78
79
# File 'lib/simple_cache.rb', line 69

def cached(key, ttl = nil, &block)
  @@requests += 1
  
  fetch(key) do
    @@misses += 1

    value = yield
    store(key, value, ttl) unless ttl == 0 || ttl == false
    value
  end
end