Class: HerbNodeRetainingNode

Inherits:
Object
  • Object
show all
Defined in:
lib/nodes/herb_node_retaining_node.rb

Instance Method Summary collapse

Constructor Details

#initialize(first_node = nil) ⇒ HerbNodeRetainingNode

Returns a new instance of HerbNodeRetainingNode.



3
4
5
6
# File 'lib/nodes/herb_node_retaining_node.rb', line 3

def initialize( first_node = nil )
  @sub_nodes = []
  @sub_nodes << first_node unless first_node.nil?
end

Instance Method Details

#<<(node) ⇒ Object



20
21
22
23
24
25
26
27
# File 'lib/nodes/herb_node_retaining_node.rb', line 20

def <<(node)
  if( node.is_a?(Array) )
    @sub_nodes+= node
  else
    @sub_nodes << node
  end
  self
end

#nodesObject



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/nodes/herb_node_retaining_node.rb', line 8

def nodes
  to_return = []
  @sub_nodes.each do|node|
    if( node.is_a?( HerbNodeRetainingNode ) )
      to_return += node.nodes
    else
      to_return << node
    end
  end
  to_return
end

#text_valueObject



29
30
31
32
33
34
35
# File 'lib/nodes/herb_node_retaining_node.rb', line 29

def text_value
  to_return = ""
  @sub_nodes.each do |node|
    to_return += node.text_value
  end
  to_return
end