Sha256: 497daca9b4fd50ad5aa1449f89aa621da2762ae1c238ca67b4be1bcf90ee45be
Contents?: true
Size: 898 Bytes
Versions: 5
Compression:
Stored size: 898 Bytes
Contents
module UV class Timer include Assertions, Handle def start(timeout, repeat, &block) assert_block(block) assert_arity(1, block) assert_type(Integer, timeout, "timeout must be an Integer") assert_type(Integer, repeat, "repeat must be an Integer") @timer_block = block check_result! UV.timer_start(handle, callback(:on_timer), timeout, repeat) self end def stop check_result! UV.timer_stop(handle) self end def again check_result! UV.timer_again(handle) self end def repeat=(repeat) assert_type(Integer, repeat, "repeat must be an Integer") check_result! UV.timer_set_repeat(handle, repeat) self end def repeat UV.timer_get_repeat(handle) end private def on_timer(handle, status) @timer_block.call(check_result(status)) end end end
Version data entries
5 entries across 5 versions & 1 rubygems
Version | Path |
---|---|
uvrb-0.2.0 | lib/uv/timer.rb |
uvrb-0.1.4 | lib/uv/timer.rb |
uvrb-0.1.3 | lib/uv/timer.rb |
uvrb-0.1.2 | lib/uv/timer.rb |
uvrb-0.1.1 | lib/uv/timer.rb |