One of the simplest participants. Simply passes a workitem to a block
of ruby code.
engine.register_participant :alpha do |workitem| workitem.fields['time'] = Time.now end
This participant implicitely replies to the engine when the block execution
You can pass the flow_expression (participant expression) as well.
engine.register_participant :alpha do |workitem, flow_exp| workitem.fields['amount'] = flow_exp.lookup_variable('amount') end
By default, this participant (like most other participants) is executed
in its own thread.
As it includes Ruote::LocalParticipant, the block partitcipant has
- #context: the ruote context
- #workitem: the current workitem (usually passed as arg to the block)
- #fei: the current flow expression id
- #fexp: the current flow expression
- #flavour: only used in #on_cancel (nil or ‘kill’)
- #lookup_variable(key): looks up a variable…