class Roxanne::Loop
Public Class Methods
new(config)
click to toggle source
# File lib/roxanne/loop.rb, line 3 def initialize(config) @config = config end
Public Instance Methods
cycle()
click to toggle source
# File lib/roxanne/loop.rb, line 7 def cycle if @config.activated status = :green @config.consumers.each do |consumer| actual = consumer.pull if actual == :red status = :red break elsif actual == :orange && @previous != :green status = :orange end end publish( @previous, status ) @previous = status else @config.publisher.disable end end
reset()
click to toggle source
# File lib/roxanne/loop.rb, line 26 def reset @config.publisher.push(nil, nil) end
Private Instance Methods
publish(previous, current)
click to toggle source
# File lib/roxanne/loop.rb, line 31 def publish(previous, current) @config.publisher.push(previous, current) end