module Memonic::ClassMethods

Public Instance Methods

memoize(name, &block) click to toggle source
# File lib/memonic.rb, line 21
    def memoize(name, &block)
      define_method("__#{name}__", &block)
      class_eval <<-RUBY
        def #{name}
          @#{name} || begin
            if defined?(@#{name})
              @#{name}
            else
              @#{name} = __#{name}__
            end
          end
        end
      RUBY
    end