# File lib/ruote/dboard/process_status.rb, line 503 def current_tree(fexp=root_expression) return nil unless fexp t = Ruote.fulldup(fexp.tree) fexp.children.each do |cfei| cexp = fexp(cfei) next unless cexp ct = current_tree(cexp) #trigger = ct[1]['_triggered'] #if trigger && trigger != 'on_re_apply' # # # # ignore any on_cancel / on_error / ... # # # #ct = t[2][cexp.child_id] # # loses any change in the re_applied tree # # # # just flag the original tree as _triggered # # loses any change in the re_applied tree # # # #ct = t[2][cexp.child_id] # #ct[1]['_triggered'] = trigger # # # # extracts the new tree, discards the layers around it # # # ot = t[2][cexp.child_id] # ct = ct[2][0][2][0] # ct[1]['_triggered'] = [ trigger, ot[1][trigger] ].join('/') #end # return the real current tree, do not tweak with it! t[2][cexp.child_id] = ct end t end