Module: Tins::Memoize::CacheMethods

Defined in:
lib/tins/memoize.rb

Overview

Provides cache management methods for memoized functions and methods. This module is included in classes that use memoization functionality.

Examples:

Using cache methods directly

class Example
  include Tins::Memoize::CacheMethods

  def expensive_method
    # Some expensive computation
  end
  memoize_method :expensive_method
end

obj = Example.new
obj.memoize_cache_clear  # Clear all cached values
obj.__memoize_cache__    # Access the internal cache object

Instance Method Summary collapse

Instance Method Details

#__memoize_cache__Object

Return the cache object used for memoization.

Returns:

  • (Object)

    The cache instance



57
58
59
60
61
62
63
64
65
66
67
# File 'lib/tins/memoize.rb', line 57

def __memoize_cache__
  if @__memoize_cache__
    @__memoize_cache__
  else
    @__memoize_cache__ = __mize_cache__
    def @__memoize_cache__.empty?
      @data.empty?
    end
    @__memoize_cache__
  end
end

#memoize_cache_clearself

Clear cached values for all methods/functions of this object.

Returns:

  • (self)

    For chaining



72
73
74
75
# File 'lib/tins/memoize.rb', line 72

def memoize_cache_clear
   __memoize_cache__.clear
  self
end