class Frankenpins::TransitionQueue

A transition queue Items added to the queue are executed in order

Public Class Methods

new() click to toggle source
# File lib/frankenpins/transition_queue.rb, line 6
def initialize
  @queue = Queue.new
  @debug = false
end

Public Instance Methods

push(transition) click to toggle source
# File lib/frankenpins/transition_queue.rb, line 11
def push(transition)
  puts "E: #{transition.type} #{transition}" if @debug
  @queue.push(transition)
end
start!() click to toggle source
# File lib/frankenpins/transition_queue.rb, line 16
def start!
  Thread.new do
    loop do
      transition = @queue.pop
      puts "D: #{transition.type} #{transition}" if @debug
      transition.perform!
    end
  end
end