Module: Memoizable
- Extended by:
- Decoratable
- Defined in:
- lib/decoratable/memoizable.rb
Constant Summary collapse
- MEMOIZABLE_CACHE_KEY =
:"@memoizable_cache"
Instance Method Summary collapse
Methods included from Decoratable
Instance Method Details
#memoizable ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/decoratable/memoizable.rb', line 8 def memoizable if instance_variable_defined?(MEMOIZABLE_CACHE_KEY) cache = instance_variable_get(MEMOIZABLE_CACHE_KEY) else cache = instance_variable_set(MEMOIZABLE_CACHE_KEY, Hash.new) end key = __decorated_method__.name.to_sym if cache.has_key?(key) cache[key] else cache[key] = yield end end |