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



88
89
90
91
92
93
94
95
# File 'lib/simple_cache.rb', line 88

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

Instance Method Details

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



76
77
78
79
80
81
82
83
84
85
86
# File 'lib/simple_cache.rb', line 76

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