123456789_123456789_123456789_123456789_123456789_

Class: ActionCable::Connection::TestTimer

Relationships & Source Files
Inherits: Object
Defined in: actioncable/lib/action_cable/connection/test_case.rb

Class Method Summary

Instance Attribute Summary

Instance Method Summary

Constructor Details

.new(interval, &block) ⇒ TestTimer

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 112

def initialize(interval, &block)
  @interval = interval
  @block = block
  @elapsed = 0
  @shutdown = false
end

Instance Attribute Details

#interval (readonly)

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 110

attr_reader :interval

Instance Method Details

#advance(seconds)

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 123

def advance(seconds)
  return if @shutdown
  @elapsed += seconds
  while @elapsed >= @interval
    @elapsed -= @interval
    @block&.call
  end
end

#shutdown

[ GitHub ]

  
# File 'actioncable/lib/action_cable/connection/test_case.rb', line 119

def shutdown
  @shutdown = true
end