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 33 def initialize(time, callback) @time = time @callback = callback end
Public Instance Methods
<=>(other)
click to toggle source
# File lib/timers/events.rb, line 53 def <=> other @time <=> other.time end
cancel!()
click to toggle source
Cancel this timer, O(1).
# File lib/timers/events.rb, line 42 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 49 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 58 def fire(time) @callback.call(time) if @callback end