Sha256: a53a64bca302be6719fbd53c2c992bc50c6b65375fb534725366d84c3ee5d561

Contents?: true

Size: 467 Bytes

Versions: 5

Compression:

Stored size: 467 Bytes

Contents

module Faye
  module Timeouts
    def add_timeout(name, delay, &block)
      @timeouts ||= {}
      return if @timeouts.has_key?(name)
      @timeouts[name] = EventMachine.add_timer(delay) do
        @timeouts.delete(name)
        block.call
      end
    end
    
    def remove_timeout(name)
      @timeouts ||= {}
      timeout = @timeouts[name]
      return if timeout.nil?
      EventMachine.cancel_timer(timeout)
      @timeouts.delete(name)
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
goshrine_bot-0.1.1 lib/goshrine_bot/faye/timeouts.rb
goshrine_bot-0.1.0 lib/goshrine_bot/faye/timeouts.rb
faye-0.3.4 lib/faye/timeouts.rb
faye-0.3.3 lib/faye/timeouts.rb
faye-0.3.2 lib/faye/timeouts.rb