Module Memoizable::Copy
In: lib/facets/supplemental/facets/memoizable.rb

Include Memoizable alone with an initialize_copy method that will copy the memoization cache when dup or clone is used.

TODO: Is this best approach? Perhaps a method to easily create the initialize_copy method would suffice?

Methods

Public Class methods

[Source]

# File lib/facets/supplemental/facets/memoizable.rb, line 129
    def self.included(base)
      base.extend(Memoizable)
    end

Public Instance methods

[Source]

# File lib/facets/supplemental/facets/memoizable.rb, line 134
    def initialize_copy(original)
      if Memoizable.cache.key?(original)
        Memoizable.cache[self] = Memoizable.cache[original].dup
      end
    end

[Validate]