Class: MethodCache::LocalCache
- Defined in:
- lib/method_cache/local_cache.rb
Instance Method Summary collapse
- #cached_at(key) ⇒ Object
- #clear ⇒ Object
- #count(key) ⇒ Object
- #decr(key, amount) ⇒ Object
- #delete(key) ⇒ Object
- #expires_at(key) ⇒ Object
- #get(key) ⇒ Object (also: #[])
- #incr(key, amount) ⇒ Object
-
#initialize ⇒ LocalCache
constructor
A new instance of LocalCache.
- #set(key, value, expiry) ⇒ Object (also: #[]=, #write)
Constructor Details
#initialize ⇒ LocalCache
Returns a new instance of LocalCache.
3 4 5 |
# File 'lib/method_cache/local_cache.rb', line 3 def initialize clear end |
Instance Method Details
#cached_at(key) ⇒ Object
51 52 53 |
# File 'lib/method_cache/local_cache.rb', line 51 def cached_at(key) @cached_at[key] end |
#clear ⇒ Object
7 8 9 10 11 |
# File 'lib/method_cache/local_cache.rb', line 7 def clear @data = {} @cached_at = {} @expires_at = {} end |
#count(key) ⇒ Object
21 22 23 |
# File 'lib/method_cache/local_cache.rb', line 21 def count(key) get(key).to_i end |
#decr(key, amount) ⇒ Object
43 44 45 |
# File 'lib/method_cache/local_cache.rb', line 43 def decr(key, amount) incr(key, -amount) end |
#delete(key) ⇒ Object
33 34 35 36 37 |
# File 'lib/method_cache/local_cache.rb', line 33 def delete(key) @cached_at.delete(key) @expires_at.delete(key) @data.delete(key) end |
#expires_at(key) ⇒ Object
47 48 49 |
# File 'lib/method_cache/local_cache.rb', line 47 def expires_at(key) @expires_at[key] end |
#get(key) ⇒ Object Also known as: []
13 14 15 16 17 18 |
# File 'lib/method_cache/local_cache.rb', line 13 def get(key) if expires = expires_at(key) delete(key) if expires <= Time.now end @data[key] end |
#incr(key, amount) ⇒ Object
39 40 41 |
# File 'lib/method_cache/local_cache.rb', line 39 def incr(key, amount) @data[key] = count(key) + amount end |
#set(key, value, expiry) ⇒ Object Also known as: []=, write
25 26 27 28 29 |
# File 'lib/method_cache/local_cache.rb', line 25 def set(key, value, expiry) @cached_at[key] = Time.now @expires_at[key] = expiry_to_time(expiry) @data[key] = value end |