# File lib/ruote/part/block_participant.rb, line 75 def on_workitem block = get_block('on_workitem', 'block') r = if block.arity == 1 block.call(workitem) else block.call( workitem, Ruote::Exp::FlowExpression.fetch(@context, workitem.h.fei)) end if r != nil && r != workitem workitem.result = (Rufus::Json.dup(r) rescue nil) end reply_to_engine(workitem) end