Module: SafeMemoize::PublicCustomKeyMethods

Included in:
InstanceMethods
Defined in:
lib/safe_memoize/public_custom_key_methods.rb

Instance Method Summary collapse

Instance Method Details

#clear_custom_keys(method_name = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
# File 'lib/safe_memoize/public_custom_key_methods.rb', line 11

def clear_custom_keys(method_name = nil)
  if method_name
    with_memo_lock do
      custom_key_store.delete(method_name.to_sym)
    end
  else
    with_memo_lock do
      _clear_custom_keys
    end
  end
end

#memoize_with_custom_key(method_name, &key_generator) ⇒ Object

Raises:

  • (ArgumentError)


5
6
7
8
9
# File 'lib/safe_memoize/public_custom_key_methods.rb', line 5

def memoize_with_custom_key(method_name, &key_generator)
  raise ArgumentError, "block required for key generation" unless key_generator

  register_custom_key(method_name, &key_generator)
end