class InOurTime::Tic
Public Class Methods
new()
click to toggle source
# File lib/iot/iot.rb, line 28 def initialize Thread.abort_on_exception = true @flag = false init_processes run end
Public Instance Methods
ended()
click to toggle source
# File lib/iot/iot.rb, line 72 def ended timeout? :ended end
inc_processes()
click to toggle source
# File lib/iot/iot.rb, line 49 def inc_processes @processes.each { |process| process[:value] += 1 } end
init_processes()
click to toggle source
# File lib/iot/iot.rb, line 35 def init_processes @processes = { process: { timeout: 5, value: 0 }, playing_time: { timeout: 1, value: 0 }, ended: { timeout: 1, value: 0 } } end
kill()
click to toggle source
# File lib/iot/iot.rb, line 53 def kill Thread.kill(@th_tic) if @th_tic end
playing_time()
click to toggle source
# File lib/iot/iot.rb, line 68 def playing_time timeout? :playing_time end
process()
click to toggle source
# File lib/iot/iot.rb, line 64 def process timeout? :process end
run()
click to toggle source
# File lib/iot/iot.rb, line 76 def run Thread.abort_on_exception = true @th_tic = Thread.new do loop do sleep 0.2 @processes[:process][:value] += 1 @processes[:playing_time][:value] += 1 @processes[:ended][:value] += 1 @flag = true end end end
timeout?(type)
click to toggle source
# File lib/iot/iot.rb, line 57 def timeout? type @processes[type] return unless @processes[type][:value] > @processes[type][:timeout] @processes[type][:value] = 0 true end
toc()
click to toggle source
# File lib/iot/iot.rb, line 89 def toc ret_val = @flag @flag = false ret_val end