Method: Megam::NodeCollection#insert
- Defined in:
- lib/megam/core/node_collection.rb
#insert(node) ⇒ Object
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/megam/core/node_collection.rb', line 54 def insert(node) is_megam_node(node) if @insert_after_idx # in the middle of executing a run, so any nodes inserted now should # be placed after the most recent addition done by the currently executing # node @nodes.insert(@insert_after_idx + 1, node) # update name -> location mappings and register new node @nodes_by_name.each_key do |key| @nodes_by_name[key] += 1 if @nodes_by_name[key] > @insert_after_idx end @nodes_by_name[node.node_name] = @insert_after_idx + 1 @insert_after_idx += 1 else @nodes << node @nodes_by_name[node.node_name] = @nodes.length - 1 end end |