class Timers::Events::Handle
Represents a cancellable handle for a specific timer event.
Attributes
time[R]
The absolute time that the handle should be fired at.
Public Class Methods
new(time, callback)
click to toggle source
# File lib/timers/events.rb, line 12 def initialize(time, callback) @time = time @callback = callback end
Public Instance Methods
>(other)
click to toggle source
# File lib/timers/events.rb, line 32 def > other @time > other.to_f end
cancel!()
click to toggle source
Cancel this timer, O(1).
# File lib/timers/events.rb, line 21 def cancel! # The simplest way to keep track of cancelled status is to nullify the # callback. This should also be optimal for garbage collection. @callback = nil end
cancelled?()
click to toggle source
Has this timer been cancelled? Cancelled timer’s don’t fire.
# File lib/timers/events.rb, line 28 def cancelled? @callback.nil? end
fire(time)
click to toggle source
Fire the callback if not cancelled with the given time parameter.
# File lib/timers/events.rb, line 41 def fire(time) if @callback @callback.call(time) end end
to_f()
click to toggle source
# File lib/timers/events.rb, line 36 def to_f @time end