Class: Smith::Cache
Instance Method Summary collapse
- #delete(name) ⇒ Object
- #each ⇒ Object
- #empty? ⇒ Boolean
- #entries ⇒ Object
- #entry(name, options = nil) ⇒ Object (also: #[])
- #exist?(name) ⇒ Boolean
-
#initialize ⇒ Cache
constructor
A new instance of Cache.
- #invalidate(name) ⇒ Object
- #operator(operator) ⇒ Object
- #size ⇒ Object
- #to_s ⇒ Object
- #update(name, entry) ⇒ Object
Constructor Details
#initialize ⇒ Cache
Returns a new instance of Cache.
7 8 9 |
# File 'lib/smith/cache.rb', line 7 def initialize @cache = {} end |
Instance Method Details
#delete(name) ⇒ Object
49 50 51 |
# File 'lib/smith/cache.rb', line 49 def delete(name) @cache.delete(name) end |
#each ⇒ Object
37 38 39 |
# File 'lib/smith/cache.rb', line 37 def each @cache.each_value { |v| yield v } end |
#empty? ⇒ Boolean
41 42 43 |
# File 'lib/smith/cache.rb', line 41 def empty? @cache.empty? end |
#entries ⇒ Object
29 30 31 |
# File 'lib/smith/cache.rb', line 29 def entries @cache.keys.map(&:to_s) end |
#entry(name, options = nil) ⇒ Object Also known as: []
15 16 17 18 19 20 21 22 23 24 25 |
# File 'lib/smith/cache.rb', line 15 def entry(name, =nil) if @cache[name] @cache[name] else if @operator.respond_to?(:call) @cache[name] = @operator.call(name, ) else nil end end end |
#exist?(name) ⇒ Boolean
45 46 47 |
# File 'lib/smith/cache.rb', line 45 def exist?(name) !@cache[name].nil? end |
#invalidate(name) ⇒ Object
33 34 35 |
# File 'lib/smith/cache.rb', line 33 def invalidate(name) @cache.delete(name) end |
#operator(operator) ⇒ Object
11 12 13 |
# File 'lib/smith/cache.rb', line 11 def operator(operator) @operator = operator end |
#size ⇒ Object
53 54 55 |
# File 'lib/smith/cache.rb', line 53 def size @cache.size end |
#to_s ⇒ Object
57 58 59 |
# File 'lib/smith/cache.rb', line 57 def to_s @cache.to_s end |
#update(name, entry) ⇒ Object
61 62 63 |
# File 'lib/smith/cache.rb', line 61 def update(name, entry) @cache[name] = entry end |