Class: ReVIEW::TOCParser::Node

Inherits:
Object
  • Object
show all
Defined in:
lib/review/tocparser.rb

Direct Known Subclasses

List, Paragraph, Section

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(children = []) ⇒ Node

Returns a new instance of Node.



115
116
117
# File 'lib/review/tocparser.rb', line 115

def initialize(children = [])
  @children = children
end

Instance Attribute Details

#childrenObject (readonly)

Returns the value of attribute children.



119
120
121
# File 'lib/review/tocparser.rb', line 119

def children
  @children
end

Instance Method Details

#add_child(c) ⇒ Object



121
122
123
# File 'lib/review/tocparser.rb', line 121

def add_child(c)
  @children.push c
end

#chapter?Boolean

Returns:

  • (Boolean)


136
137
138
# File 'lib/review/tocparser.rb', line 136

def chapter?
  false
end

#each_child(&block) ⇒ Object



132
133
134
# File 'lib/review/tocparser.rb', line 132

def each_child(&block)
  @children.each(&block)
end

#each_node(&block) ⇒ Object



125
126
127
128
129
130
# File 'lib/review/tocparser.rb', line 125

def each_node(&block)
  @children.each do |c|
    yield c
    c.each(&block)
  end
end

#each_section(&block) ⇒ Object



140
141
142
143
144
# File 'lib/review/tocparser.rb', line 140

def each_section(&block)
  @children.each do |n|
    n.yield_section(&block)
  end
end

#each_section_with_indexObject



146
147
148
149
150
151
152
# File 'lib/review/tocparser.rb', line 146

def each_section_with_index
  i = 0
  each_section do |n|
    yield n, i
    i += 1
  end
end

#n_sectionsObject



154
155
156
157
158
159
160
# File 'lib/review/tocparser.rb', line 154

def n_sections
  cnt = 0
  @children.each do |n|
    n.yield_section { cnt += 1 }
  end
  cnt
end