Module: Paco::Memoizer

Extended by:
MonitorMixin
Defined in:
lib/paco/memoizer.rb

Class Method Summary collapse

Class Method Details

.memoize(key, &block) ⇒ Object



10
11
12
13
14
15
16
17
# File 'lib/paco/memoizer.rb', line 10

def memoize(key, &block)
  synchronize do
    @paco_memoized ||= {}
    return @paco_memoized[key] if @paco_memoized.key?(key)

    @paco_memoized[key] = block.call
  end
end