Class: Class
Instance Method Summary collapse
- #attr_memo_accessor(name, memoization_block) ⇒ Object
- #attr_memo_reader(name, memoization_block) ⇒ Object
Instance Method Details
#attr_memo_accessor(name, memoization_block) ⇒ Object
9 10 11 12 |
# 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) ⇒ Object
2 3 4 5 6 7 |
# 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 |