lib/openwfe/expressions/fe_cancel.rb in ruote-0.9.18 vs lib/openwfe/expressions/fe_cancel.rb in ruote-0.9.19
- old
+ new
@@ -1,34 +1,34 @@
#
#--
# Copyright (c) 2007-2008, John Mettraux, OpenWFE.org
# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
+#
+# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
-#
+#
# . Redistributions of source code must retain the above copyright notice, this
-# list of conditions and the following disclaimer.
-#
-# . Redistributions in binary form must reproduce the above copyright notice,
-# this list of conditions and the following disclaimer in the documentation
+# list of conditions and the following disclaimer.
+#
+# . Redistributions in binary form must reproduce the above copyright notice,
+# this list of conditions and the following disclaimer in the documentation
# and/or other materials provided with the distribution.
-#
+#
# . Neither the name of the "OpenWFE" nor the names of its contributors may be
# used to endorse or promote products derived from this software without
# specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
-# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
-# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
-# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
-# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
-# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
-# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
-# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
#++
#
# $Id: definitions.rb 2725 2006-06-02 13:26:32Z jmettraux $
#
@@ -43,67 +43,67 @@
require 'openwfe/expressions/flowexpression'
module OpenWFE
+ #
+ # This expression cancels the current process instance. Use with care.
+ #
+ # <sequence>
+ # <participant ref="before" />
+ # <cancel-process />
+ # <participant ref="after" />
+ # </sequence>
+ #
+ # the message "after" will never get printed.
+ #
+ # Use rather in scenarii like that one :
+ #
+ # class TestDefinition1 < ProcessDefinition
+ # def make
+ # process_definition :name => "25_cancel", :revision => "1" do
+ # sequence do
+ # participant "customer"
+ # _cancel_process :if => "${f:no_thanks} == true"
+ # concurrence do
+ # participant "accounting"
+ # participant "logistics"
+ # end
+ # end
+ # end
+ # end
+ # end
+ #
+ # Note that the expression accepts an "if" attribute.
+ #
+ class CancelProcessExpression < FlowExpression
+ include ConditionMixin
+
+ names :cancel_process, :cancel_flow
+
#
- # This expression cancels the current process instance. Use with care.
- #
- # <sequence>
- # <participant ref="before" />
- # <cancel-process />
- # <participant ref="after" />
- # </sequence>
- #
- # the message "after" will never get printed.
- #
- # Use rather in scenarii like that one :
- #
- # class TestDefinition1 < ProcessDefinition
- # def make
- # process_definition :name => "25_cancel", :revision => "1" do
- # sequence do
- # participant "customer"
- # _cancel_process :if => "${f:no_thanks} == true"
- # concurrence do
- # participant "accounting"
- # participant "logistics"
- # end
- # end
- # end
- # end
- # end
- #
- # Note that the expression accepts an "if" attribute.
- #
- class CancelProcessExpression < FlowExpression
- include ConditionMixin
+ # apply / reply
- names :cancel_process, :cancel_flow
+ def apply (workitem)
+ conditional = eval_condition(:if, workitem, :unless)
#
- # apply / reply
+ # for example : <cancel-process if="${approved} == false"/>
- def apply (workitem)
+ return reply_to_parent(workitem) \
+ if conditional == false
- conditional = eval_condition(:if, workitem, :unless)
- #
- # for example : <cancel-process if="${approved} == false"/>
+ #
+ # else, do cancel the process
- return reply_to_parent(workitem) \
- if conditional == false
+ get_expression_pool.cancel_process self
- #
- # else, do cancel the process
+ # no need to reply to parent
+ end
- get_expression_pool.cancel_process self
+ #def reply (workitem)
+ #end
- # no need to reply to parent
- end
-
- #def reply (workitem)
- #end
-
- end
+ end
end