Sha256: 1edce283a2c1e7b7f5665abdc8bf6f1d363814f02145d84578cdba3d34983233
Contents?: true
Size: 805 Bytes
Versions: 3
Compression:
Stored size: 805 Bytes
Contents
#encoding: utf-8 module PointRb class LayoutTree attr_reader :tree, :active_node def initialize(root_node) @counter = -1 @tree = Tree::TreeNode.new(node_id, root_node) @active_node = @tree @prng = Random.new end def add_node(node) node = Tree::TreeNode.new(node_id, node) @active_node << node @active_node = node end def up @active_node = @active_node.parent end def serialize(&block) serialized_tree = [] #default action during serialize block = lambda { |node| node.content } unless block @tree.each do |node| serialized_tree << block.call(node) end serialized_tree end private def node_id @counter += 1 "node#{@counter}" end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
pointrb-0.1.2 | lib/pointrb/layout_tree.rb |
pointrb-0.1.1 | lib/pointrb/layout_tree.rb |
pointrb-0.1.0 | lib/pointrb/layout_tree.rb |