Building the Workflow in Ruby
customer_queue = Queue.new("Validate Customer")
catalog_queue = Queue.new("Assemble Order")
charge_queue = Queue.new("Charge Credit Card")
ship_queue = Queue.new("Ship")
prob_res_queue = Queue.new("Problem Resolution")
order_route = Route.new("EMail Order")
order_route.add(Step.new(customer_queue))
order_route.add(Step.new(catalog_queue))
order_route.add(cc=Step.new(charge_queue))
order_route.add(Step.new(ship_queue))
problems_route = Route.new("Problems")
problems_route.add(pr = Step.new(prob_res_queue))
cc.add(Alternative.new("invalid", pr))
Queue.items.each do |q| puts q.to_sql end
Route.items.each do |r| puts r.to_sql end