class Flor::Pro::Graft
Public Instance Methods
pre_execute()
click to toggle source
# File lib/flor/punit/graft.rb, line 45 def pre_execute @node['execute_message'] = Flor.dup(@message) @node['atts'] = [] end
receive_last()
click to toggle source
# File lib/flor/punit/graft.rb, line 51 def receive_last # look up subtree sub = att('tree', 'subtree', 'flow', 'subflow', 'twig', nil) source_path, source = @executor.unit.loader.library(domain, sub, subflows: true) fail Flor::FlorError.new( "no subtree #{sub.inspect} found (domain #{domain.inspect})", self ) unless source tree = Flor.parse(source, source_path, {}) # graft subtree into parent node if parent_tree = lookup_tree(parent) parent_tree[1][child_id] = tree end # re-apply self with subtree m = @node['execute_message'] m['tree'] = tree [ m ] end