Module: Hamlit::Parsers::Multiline
- Includes:
- Concerns::LineReader
- Included in:
- Hamlit::Parser
- Defined in:
- lib/hamlit/parsers/multiline.rb
Instance Method Summary collapse
Methods included from Concerns::LineReader
#current_line, #empty_line?, #next_line, #read_lines, #reset_lines, #skip_lines
Instance Method Details
#preprocess_multilines(template) ⇒ Object
8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/hamlit/parsers/multiline.rb', line 8 def preprocess_multilines(template) reset_lines(template.split("\n")) result = [] while @lines[@current_lineno + 1] @current_lineno += 1 unless end_with_pipe?(current_line) result << current_line next end prefix = current_line[/\A */] lines = scan_multilines result << prefix + build_multiline(lines) (lines.length - 1).times { result << '' } end result.map { |line| "#{line}\n" }.join end |