# File lib/ruote/exp/flow_expression.rb, line 742 def cancel(flavour) return reply_to_parent(h.applied_workitem) if h.children.empty? # # there are no children, nothing to cancel, let's just reply to # the parent expression do_persist || return # # before firing the cancel message to the children # # if the do_persist returns false, it means it failed, implying this # expression is stale, let's return, thus discarding this cancel message children.each do |child_fei| # # let's send a cancel message to each of the children # # maybe some of them are gone or have not yet been applied, anyway, # the messages are sent @context.storage.put_msg( 'cancel', 'fei' => child_fei, 'parent_id' => h.fei, # indicating that this is a "cancel child" 'flavour' => flavour) end end