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 15
def initialize(time, callback)
        @time = time
        @callback = callback
end

Public Instance Methods

>(other) click to toggle source
# File lib/timers/events.rb, line 35
def > other
        @time > other.to_f
end
>=(other) click to toggle source
# File lib/timers/events.rb, line 39
def >= other
        @time >= other.to_f
end
cancel!() click to toggle source

Cancel this timer, O(1).

# File lib/timers/events.rb, line 24
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 31
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 48
def fire(time)
        @callback.call(time) if @callback
end
to_f() click to toggle source
# File lib/timers/events.rb, line 43
def to_f
        @time
end