Module: LightIO::Library::KernelExt

Defined in:
lib/lightio/library/kernel_ext.rb

Instance Method Summary collapse

Instance Method Details

#sleep(*duration) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/lightio/library/kernel_ext.rb', line 3

def sleep(*duration)
  if duration.size > 1
    raise ArgumentError, "wrong number of arguments (given #{duration.size}, expected 0..1)"
  elsif duration.size == 0
    LightIO::IOloop.current.transfer
  end
  duration = duration[0]
  if duration.zero?
    LightIO::Beam.pass
    return
  end
  timer = LightIO::Watchers::Timer.new duration
  LightIO::IOloop.current.wait(timer)
end