Class: Lite::Memoize::Instance

Inherits:
Object
  • Object
show all
Includes:
Table
Defined in:
lib/lite/memoize/instance.rb

Instance Method Summary collapse

Methods included from Table

#store

Constructor Details

#initializeInstance

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

#clearObject 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

#eachObject

: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:

Returns:

  • (Boolean)


35
36
37
# File 'lib/lite/memoize/instance.rb', line 35

def empty?
  store.empty?
end

#key?(key) ⇒ Boolean Also known as: hit?

Returns:

  • (Boolean)


41
42
43
# File 'lib/lite/memoize/instance.rb', line 41

def key?(key)
  store.key?(key)
end

#keysObject



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?

Returns:

  • (Boolean)


65
66
67
# File 'lib/lite/memoize/instance.rb', line 65

def present?
  !blank?
end

#sizeObject



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_hashObject Also known as: as_json, hits



80
81
82
# File 'lib/lite/memoize/instance.rb', line 80

def to_hash
  store
end

#valuesObject



87
88
89
# File 'lib/lite/memoize/instance.rb', line 87

def values
  store.values
end