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
115 116 117 118 119 120 121 122 123 124 |
# File 'lib/jsi/util.rb', line 115 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
107 108 109 110 111 112 113 |
# File 'lib/jsi/util.rb', line 107 def memoize(key, *args_) @memos ||= {} @memos[key] ||= Hash.new do |h, args| h[args] = yield(*args) end @memos[key][args_] end |