Module: JSI::Util::Memoize
- Included in:
- Base, MetaschemaNode, SchemaClasses
- Defined in:
- lib/jsi/util.rb
Instance Method Summary collapse
Instance Method Details
#jsi_clear_memo(key, *args) ⇒ Object
94 95 96 97 98 99 100 101 102 103 |
# File 'lib/jsi/util.rb', line 94 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
86 87 88 89 90 91 92 |
# File 'lib/jsi/util.rb', line 86 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 |