Sha256: 1f94424dfaa7a15937e6d70b891b24eedbf5637a05a16bf6f78909972c4cb3fb

Contents?: true

Size: 398 Bytes

Versions: 4

Compression:

Stored size: 398 Bytes

Contents

class Method

  # Memoize a method by defining a singleton override.
  #
  # NOTE: This method is not a common core extension and is not
  # loaded automatically when using <code>require 'facets'</code>.
  #
  # @uncommon
  #   require 'facets/method/memoize'
  #
  def memoize(value)
    singleton = (class << receiver; self; end)
    singleton.__send__(:define_method, name){ value }
  end

end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
facets-glimmer-3.2.0 lib/core/facets/method/memoize.rb
facets-3.1.0 lib/core/facets/method/memoize.rb
facets-3.0.0 lib/core/facets/method/memoize.rb
facets-2.9.3 lib/core/facets/method/memoize.rb