Sha256: 2385ee974386dca12a191da08ce500fb0c6f00b66bfa2c9399cd52b12486c6e7
Contents?: true
Size: 904 Bytes
Versions: 4
Compression:
Stored size: 904 Bytes
Contents
# encoding: utf-8 module Memoizable # Methods mixed in to memoizable instances module InstanceMethods # Freeze the object # # @example # object.freeze # object is now frozen # # @return [Object] # # @api public def freeze memoized_method_cache # initialize method cache super end # Sets a memoized value for a method # # @example # object.memoize(hash: 12345) # # @param [Hash{Symbol => Object}] data # the data to memoize # # @return [self] # # @api public def memoize(data) data.each { |name, value| memoized_method_cache[name] = value } self end private # The memoized method results # # @return [Hash] # # @api private def memoized_method_cache @_memoized_method_cache ||= Memory.new end end # InstanceMethods end # Memoizable
Version data entries
4 entries across 4 versions & 1 rubygems