Undoes and the redoes (re-applies) an expression identified by a tag.
pdef = Ruote.process_definition do
sequence do
alpha :tag => 'kilroy'
_redo :ref => 'kilroy', :unless => '${f:ok} == true'
end
end
will redo at tag 'kilroy' if the field 'ok' is not set to true.
(redo is escaped as _redo not to conflict with the "redo" Ruby keyword)
Maybe this case is better served by a cursor/rewind combination
pdef = Ruote.process_definition do
cursor do
alpha :tag => 'kilroy'
rewind :unless => '${f:ok} == true'
end
end
# File lib/ruote/exp/fe_redo.rb, line 55 def apply ref = attribute(:ref) || attribute_text tag = ref ? lookup_variable(ref) : nil if tag @context.storage.put_msg('cancel', 'fei' => tag, 're_apply' => true) reply_to_parent(h.applied_workitem) unless ancestor?(tag) else reply_to_parent(h.applied_workitem) end end
Generated with the Darkfish Rdoc Generator 2.