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
109 110 111 112 113 114 115 116 117 118 |
# File 'lib/jsi/util.rb', line 109 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
101 102 103 104 105 106 107 |
# File 'lib/jsi/util.rb', line 101 def memoize(key, *args_) @memos ||= {} @memos[key] ||= Hash.new do |h, args| h[args] = yield(*args) end @memos[key][args_] end |