lib/openwfe/expressions/fe_define.rb in openwferu-0.9.12 vs lib/openwfe/expressions/fe_define.rb in openwferu-0.9.12.863
- old
+ new
@@ -27,21 +27,17 @@
# 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 $
-#
#
# "made in Japan"
#
# John Mettraux at openwfe.org
#
-#require 'openwfe/rudefinitions'
require 'openwfe/expressions/flowexpression'
require 'openwfe/expressions/fe_sequence'
module OpenWFE
@@ -61,10 +57,11 @@
#
# Evaluates the definition, but doesn't apply its body, will
# simply return the body fei.
#
def evaluate (workitem)
+
@eval_only = true
apply workitem
return @body_fei
end
@@ -105,10 +102,14 @@
end
exp_class = get_expression_map.get_class rawchild
if exp_class == DefineExpression
- get_environment()[rawchild.definition_name()] = next_fei
+ #
+ # binds the FlowExpressionId of the current child
+ # as a variable and recurses to the next child
+ #
+ set_variable rawchild.definition_name, next_fei
return get_to_next_child
end
#
# our next child will simply get applied