Class: SM::LineCollection
- Inherits:
-
Object
- Object
- SM::LineCollection
- Defined in:
- lib/rdoc/markup/simple_markup/fragments.rb
Overview
Collect groups of lines together. Each group will end up containing a flow of text
Instance Method Summary collapse
- #accept(am, visitor) ⇒ Object
- #add(fragment) ⇒ Object
- #each(&b) ⇒ Object
-
#fragment_for(*args) ⇒ Object
Factory for different fragment types.
-
#initialize ⇒ LineCollection
constructor
A new instance of LineCollection.
-
#normalize ⇒ Object
tidy up at the end.
-
#to_a ⇒ Object
For testing.
- #to_s ⇒ Object
Constructor Details
#initialize ⇒ LineCollection
Returns a new instance of LineCollection.
127 128 129 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 127 def initialize @fragments = [] end |
Instance Method Details
#accept(am, visitor) ⇒ Object
161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 161 def accept(am, visitor) visitor.start_accepting @fragments.each do |fragment| case fragment when Verbatim visitor.accept_verbatim(am, fragment) when Rule visitor.accept_rule(am, fragment) when ListStart visitor.accept_list_start(am, fragment) when ListEnd visitor.accept_list_end(am, fragment) when ListItem visitor.accept_list_item(am, fragment) when BlankLine visitor.accept_blank_line(am, fragment) when Heading visitor.accept_heading(am, fragment) when Paragraph visitor.accept_paragraph(am, fragment) end end visitor.end_accepting end |
#add(fragment) ⇒ Object
131 132 133 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 131 def add(fragment) @fragments << fragment end |
#each(&b) ⇒ Object
135 136 137 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 135 def each(&b) @fragments.each(&b) end |
#fragment_for(*args) ⇒ Object
Factory for different fragment types
145 146 147 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 145 def fragment_for(*args) Fragment.for(*args) end |
#normalize ⇒ Object
tidy up at the end
150 151 152 153 154 155 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 150 def normalize change_verbatim_blank_lines add_list_start_and_ends add_list_breaks tidy_blank_lines end |
#to_a ⇒ Object
For testing
140 141 142 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 140 def to_a @fragments.map {|fragment| fragment.to_s} end |
#to_s ⇒ Object
157 158 159 |
# File 'lib/rdoc/markup/simple_markup/fragments.rb', line 157 def to_s @fragments.join("\n----\n") end |