Module: Memery
- Extended by:
- ModuleMethods::Extension
- Defined in:
- lib/memery.rb,
lib/memery/version.rb
Overview
Module for memoization
Defined Under Namespace
Modules: ClassMethods
Constant Summary collapse
- VERSION =
'2.1.0'
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.method_visibility(klass, method_name) ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/memery.rb', line 17 def method_visibility(klass, method_name) if klass.private_method_defined?(method_name) :private elsif klass.protected_method_defined?(method_name) :protected elsif klass.public_method_defined?(method_name) :public else raise ArgumentError, "Method #{method_name} is not defined on #{klass}" end end |
.monotonic_clock ⇒ Object
13 14 15 |
# File 'lib/memery.rb', line 13 def monotonic_clock Process.clock_gettime(Process::CLOCK_MONOTONIC) end |
Instance Method Details
#clear_memery_cache!(*method_names) ⇒ Object
84 85 86 87 88 89 90 91 92 |
# File 'lib/memery.rb', line 84 def clear_memery_cache!(*method_names) return unless defined? @_memery_memoized_values if method_names.any? method_names.each { |method_name| @_memery_memoized_values[method_name]&.clear } else @_memery_memoized_values.clear end end |