Module: JSI::Memoize
- Included in:
- JSI, Base, Schema, SchemaClasses
- Defined in:
- lib/jsi/util.rb
Instance Method Summary collapse
Instance Method Details
#clear_memo(key, *args) ⇒ Object
105 106 107 108 109 110 111 112 113 114 |
# File 'lib/jsi/util.rb', line 105 def clear_memo(key, *args) @memos ||= {} if @memos[key] if args.empty? @memos[key].clear else @memos[key].delete(args) end end end |
#memoize(key, *args_) ⇒ Object
97 98 99 100 101 102 103 |
# File 'lib/jsi/util.rb', line 97 def memoize(key, *args_) @memos ||= {} @memos[key] ||= Hash.new do |h, args| h[args] = yield(*args) end @memos[key][args_] end |