lib/openwfe/expressions/flowexpression.rb in openwferu-0.9.2 vs lib/openwfe/expressions/flowexpression.rb in openwferu-0.9.3
- old
+ new
@@ -344,41 +344,48 @@
env.store_itself()
end
#
- # takes care of removing all the children
+ # Takes care of removing all the children of this expression, if any.
#
def clean_children
- @children.each do |children_fei|
- get_expression_pool.remove(children_fei)
+
+ return unless @children
+
+ @children.each do |child_fei|
+ get_expression_pool.remove(child_fei) \
+ if child_fei.kind_of? FlowExpressionId
end
end
#
- # currently only used by dollar.rb and its ${r:some_ruby_code},
- # returns the binding in this flow expression
+ # Currently only used by dollar.rb and its ${r:some_ruby_code},
+ # returns the binding in this flow expression.
#
def get_binding
+
return binding()
end
#
# Used like the classical Ruby synchronize, but as the OpenWFE
# expression pool manages its own set of monitores, it's one of those
# monitors that is used. But the synchronize code looks like the class
# just included the MonitorMixin. No hassle.
#
def synchronize
+
get_expression_pool.get_monitor(@fei).synchronize do
yield
end
end
#
- # some eye candy
+ # Some eye candy
#
def to_s
+
s = "* #{@fei.to_debug_s}"
if @parent_id
s << "\n `--p--> #{@parent_id.to_debug_s}"
end