Sha256: d695f115b892b28eb553de6bece83e80ece95d140eb38d710a8fc6d6f2a9a574

Contents?: true

Size: 1.21 KB

Versions: 1

Compression:

Stored size: 1.21 KB

Contents

require 'rubygems'
require 'openwfe/def'
require 'openwfe/workitem'
require 'openwfe/engine/engine'

#
# instantiating an engine

engine = OpenWFE::Engine.new

#
# adding some participants

engine.register_participant :alice do |workitem|
    puts "alice got a workitem..."
    workitem.alice_comment = "this thing looks interesting"
end

engine.register_participant :bob do |workitem|
    puts "bob got a workitem..."
    workitem.bob_comment = "not for me, I prefer VB"
    workitem.bob_comment2 = "Bob rules"
end

engine.register_participant :summarize do |workitem|
    puts 
    puts "summary of process #{workitem.fei.workflow_instance_id}"
    workitem.attributes.each do |k, v|
        next unless k.match ".*_comment$"
        puts " - #{k} : '#{v}'"
    end
end

#
# a process definition

class TheProcessDefinition0 < OpenWFE::ProcessDefinition
    def make
        sequence do
            concurrence do
                participant :alice
                participant :bob
            end
            participant :summarize
        end
    end
end

#
# launching the process

li = OpenWFE::LaunchItem.new(TheProcessDefinition0)

li.initial_comment = "please give your impressions about http://ruby-lang.org"

engine.launch(li)

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
openwferu-0.9.7 examples/openwferu.rb