Module: Daitai::Once

Included in:
Daitai
Defined in:
lib/daitai/functions/once.rb

Instance Method Summary collapse

Instance Method Details

#onceObject



5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/daitai/functions/once.rb', line 5

def once
  lambda do |function|
    called = false
    result = nil

    lambda do |*args|
      return result if called

      called = true
      result = function.(*args)
    end
  end
end