Class: ActiveMemoize::Instance

Inherits:
Object
  • Object
show all
Includes:
Shared
Defined in:
lib/active_memoize/instance.rb

Instance Method Summary collapse

Methods included from Shared

#cache, #key

Constructor Details

#initializeInstance

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

#clearObject



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

#eachObject

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

Returns:

  • (Boolean)


33
34
35
# File 'lib/active_memoize/instance.rb', line 33

def empty?
  cache.empty?
end

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

Returns:

  • (Boolean)


39
40
41
# File 'lib/active_memoize/instance.rb', line 39

def key?(key)
  cache.key?(key)
end

#keysObject



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?

Returns:

  • (Boolean)


60
61
62
# File 'lib/active_memoize/instance.rb', line 60

def present?
  !blank?
end

#sizeObject



66
67
68
# File 'lib/active_memoize/instance.rb', line 66

def size
  cache.size
end

#to_hashObject Also known as: as_json, hits



70
71
72
# File 'lib/active_memoize/instance.rb', line 70

def to_hash
  cache
end

#valuesObject



77
78
79
# File 'lib/active_memoize/instance.rb', line 77

def values
  cache.values
end