Class: Lite::Memoize::Instance
- Inherits:
-
Object
- Object
- Lite::Memoize::Instance
- Includes:
- Table
- Defined in:
- lib/lite/memoize/instance.rb
Instance Method Summary collapse
- #[](key) ⇒ Object
- #[]=(key, val) ⇒ Object
- #clear ⇒ Object (also: #flush)
- #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, args: nil, reload: false, &block) ⇒ Object
- #merge!(hash) ⇒ Object
- #present? ⇒ Boolean (also: #hits?)
- #size ⇒ Object
- #slice!(*keys) ⇒ Object
- #to_hash ⇒ Object (also: #as_json, #hits)
- #values ⇒ Object
Methods included from Table
Constructor Details
#initialize ⇒ Instance
Returns a new instance of Instance.
9 |
# File 'lib/lite/memoize/instance.rb', line 9 def initialize; end |
Instance Method Details
#[](key) ⇒ Object
11 12 13 |
# File 'lib/lite/memoize/instance.rb', line 11 def [](key) store[key] end |
#[]=(key, val) ⇒ Object
15 16 17 |
# File 'lib/lite/memoize/instance.rb', line 15 def []=(key, val) store[key] = val end |
#clear ⇒ Object Also known as: flush
19 20 21 |
# File 'lib/lite/memoize/instance.rb', line 19 def clear store.clear end |
#delete(key) ⇒ Object
25 26 27 |
# File 'lib/lite/memoize/instance.rb', line 25 def delete(key) store.delete(key) end |
#each ⇒ Object
:nocov:
30 31 32 |
# File 'lib/lite/memoize/instance.rb', line 30 def each store.each { |key, val| yield(key, val) } end |
#empty? ⇒ Boolean Also known as: blank?
:nocov:
35 36 37 |
# File 'lib/lite/memoize/instance.rb', line 35 def empty? store.empty? end |
#key?(key) ⇒ Boolean Also known as: hit?
41 42 43 |
# File 'lib/lite/memoize/instance.rb', line 41 def key?(key) store.key?(key) end |
#keys ⇒ Object
47 48 49 |
# File 'lib/lite/memoize/instance.rb', line 47 def keys store.keys end |
#memoize(as: nil, args: nil, reload: false, &block) ⇒ Object
55 56 57 58 59 60 61 62 63 |
# File 'lib/lite/memoize/instance.rb', line 55 def memoize(as: nil, args: nil, reload: false, &block) key = caller_key(args || block, as: as) if reload store[key] = yield else store[key] ||= yield end end |
#merge!(hash) ⇒ Object
51 52 53 |
# File 'lib/lite/memoize/instance.rb', line 51 def merge!(hash) store.merge!(hash) end |
#present? ⇒ Boolean Also known as: hits?
65 66 67 |
# File 'lib/lite/memoize/instance.rb', line 65 def present? !blank? end |
#size ⇒ Object
71 72 73 |
# File 'lib/lite/memoize/instance.rb', line 71 def size store.size end |
#slice!(*keys) ⇒ Object
75 76 77 78 |
# File 'lib/lite/memoize/instance.rb', line 75 def slice!(*keys) keys.each { |key| store.delete(key) } store end |
#to_hash ⇒ Object Also known as: as_json, hits
80 81 82 |
# File 'lib/lite/memoize/instance.rb', line 80 def to_hash store end |
#values ⇒ Object
87 88 89 |
# File 'lib/lite/memoize/instance.rb', line 87 def values store.values end |