class Dizby::TimedState
Public Class Methods
new(timeout)
click to toggle source
# File lib/dizby/utility/timed_state.rb, line 9 def initialize(timeout) @timeout = timeout revive end
Public Instance Methods
alive?()
click to toggle source
# File lib/dizby/utility/timed_state.rb, line 23 def alive? @state != :dead end
revive()
click to toggle source
# File lib/dizby/utility/timed_state.rb, line 27 def revive @state = :active @time = 0 @last_update = Time.now.utc end
update()
click to toggle source
# File lib/dizby/utility/timed_state.rb, line 14 def update previous = @last_update @last_update = Time.now.utc timediff = (@last_update - previous) * 1000 @time += timediff progress if @time >= @timeout end
Private Instance Methods
progress()
click to toggle source
# File lib/dizby/utility/timed_state.rb, line 35 def progress @time = 0 @state = case @state when :active :inactive when :inactive :dead end end