Module: JSI::Memoize
- Included in:
- JSI, Base, MetaschemaNode, Schema, SchemaClasses
- Defined in:
- lib/jsi/util.rb
Instance Method Summary collapse
Instance Method Details
#jsi_clear_memo(key, *args) ⇒ Object
95 96 97 98 99 100 101 102 103 104 |
# File 'lib/jsi/util.rb', line 95 def jsi_clear_memo(key, *args) @jsi_memos ||= {} if @jsi_memos[key] if args.empty? @jsi_memos[key].clear else @jsi_memos[key].delete(args) end end end |
#jsi_memoize(key, *args_) ⇒ Object
87 88 89 90 91 92 93 |
# File 'lib/jsi/util.rb', line 87 def jsi_memoize(key, *args_) @jsi_memos ||= {} @jsi_memos[key] ||= Hash.new do |h, args| h[args] = yield(*args) end @jsi_memos[key][args_] end |