Module: HashCache::Accessible
Instance Method Summary collapse
Instance Method Details
#fetch(key, default = (default_omitted = true; nil)) ⇒ Object
4 5 6 7 8 9 |
# File 'lib/hash_cache/accessible.rb', line 4 def fetch(key, default = (default_omitted = true; nil)) return self[key] if data.has_key?(key) return yield(key) if block_given? return default unless default_omitted raise KeyError end |
#memoize(key) ⇒ Object
11 12 13 14 15 16 |
# File 'lib/hash_cache/accessible.rb', line 11 def memoize(key) raise ArgumentError, "Block is required" unless block_given? self[key] # triggers flush or refresh if expired return self[key] if data.has_key?(key) self[key] = yield(key) if block_given? end |