class Class

Public Instance Methods

attr_memo_accessor(name, memoization_block) click to toggle source
# File lib/core_ext/class.rb, line 9
def attr_memo_accessor(name, memoization_block)
  attr_memo_reader(name, memoization_block)
  attr_writer name
end
attr_memo_reader(name, memoization_block) click to toggle source
# File lib/core_ext/class.rb, line 2
def attr_memo_reader(name, memoization_block)
  define_method(name) do
    instance_variable_get(:"@#{name}") ||
    instance_variable_set(:"@#{name}", instance_exec(&memoization_block))
  end
end