Class: ActiveMemoize::Instance
- Inherits:
-
Object
- Object
- ActiveMemoize::Instance
- Includes:
- Shared
- Defined in:
- lib/active_memoize/instance.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #clear ⇒ Object
- #delete(key) ⇒ Object
-
#each ⇒ Object
:nocov:.
-
#empty? ⇒ Boolean
(also: #blank?)
:nocov:.
-
#initialize ⇒ Instance
constructor
A new instance of Instance.
- #key?(key) ⇒ Boolean (also: #hit?)
- #keys ⇒ Object
- #memoize(as: nil, refresh: false, &block) ⇒ Object
- #merge!(hash) ⇒ Object
- #present? ⇒ Boolean (also: #hits?)
- #size ⇒ Object
- #to_hash ⇒ Object (also: #as_json, #hits)
- #values ⇒ Object
Methods included from Shared
Constructor Details
#initialize ⇒ Instance
Returns a new instance of Instance.
9 |
# File 'lib/active_memoize/instance.rb', line 9 def initialize; end |
Instance Method Details
#[](key) ⇒ Object
11 12 13 |
# File 'lib/active_memoize/instance.rb', line 11 def [](key) cache[key] end |
#[]=(key, val) ⇒ Object
15 16 17 |
# File 'lib/active_memoize/instance.rb', line 15 def []=(key, val) cache[key] = val end |
#clear ⇒ Object
19 20 21 |
# File 'lib/active_memoize/instance.rb', line 19 def clear cache.clear end |
#delete(key) ⇒ Object
23 24 25 |
# File 'lib/active_memoize/instance.rb', line 23 def delete(key) cache.delete(key) end |
#each ⇒ Object
:nocov:
28 29 30 |
# File 'lib/active_memoize/instance.rb', line 28 def each cache.each { |key, val| yield(key, val) } end |
#empty? ⇒ Boolean Also known as: blank?
:nocov:
33 34 35 |
# File 'lib/active_memoize/instance.rb', line 33 def empty? cache.empty? end |
#key?(key) ⇒ Boolean Also known as: hit?
39 40 41 |
# File 'lib/active_memoize/instance.rb', line 39 def key?(key) cache.key?(key) end |
#keys ⇒ Object
45 46 47 |
# File 'lib/active_memoize/instance.rb', line 45 def keys cache.keys end |
#memoize(as: nil, refresh: false, &block) ⇒ Object
53 54 55 56 57 58 |
# File 'lib/active_memoize/instance.rb', line 53 def memoize(as: nil, refresh: false, &block) key = key(as || caller_method, caller_locals(block)) return cache[key] if !refresh && cache.key?(key) cache[key] = yield(block) end |
#merge!(hash) ⇒ Object
49 50 51 |
# File 'lib/active_memoize/instance.rb', line 49 def merge!(hash) cache.merge!(hash) end |
#present? ⇒ Boolean Also known as: hits?
60 61 62 |
# File 'lib/active_memoize/instance.rb', line 60 def present? !blank? end |
#size ⇒ Object
66 67 68 |
# File 'lib/active_memoize/instance.rb', line 66 def size cache.size end |
#to_hash ⇒ Object Also known as: as_json, hits
70 71 72 |
# File 'lib/active_memoize/instance.rb', line 70 def to_hash cache end |
#values ⇒ Object
77 78 79 |
# File 'lib/active_memoize/instance.rb', line 77 def values cache.values end |