Sha256: 800a99b9d8a01668090db9bfe5ae24e58fb46bb6d4deeda293dfcdb135d1e60b

Contents?: true

Size: 315 Bytes

Versions: 4

Compression:

Stored size: 315 Bytes

Contents

module LazyDoc
  class Memoizer
    def memoize(attribute)
      attribute_variable_name = "@#{attribute}"
      unless instance_variable_defined?(attribute_variable_name)
        instance_variable_set(attribute_variable_name, yield)
      end

      instance_variable_get(attribute_variable_name)
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lazy_doc-0.4.0 lib/lazy_doc/memoizer.rb
lazy_doc-0.3.0 lib/lazy_doc/memoizer.rb
lazy_doc-0.2.1 lib/lazy_doc/memoizer.rb
lazy_doc-0.1.0 lib/lazy_doc/memoizer.rb