Class: Leg::DiffTransformers::TrimBlankLines
- Inherits:
-
BaseTransformer
- Object
- BaseTransformer
- Leg::DiffTransformers::TrimBlankLines
- Defined in:
- lib/leg/diff_transformers/trim_blank_lines.rb
Instance Method Summary collapse
Methods inherited from BaseTransformer
Constructor Details
This class inherits a constructor from Leg::DiffTransformers::BaseTransformer
Instance Method Details
#transform(diff) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/leg/diff_transformers/trim_blank_lines.rb', line 4 def transform(diff) new_diff = diff.clone_empty diff.lines.each.with_index do |line, idx| line = line.clone if line.blank? && [:added, :removed].include?(line.type) prev_line = idx > 0 ? diff.lines[idx - 1] : nil next_line = idx < diff.lines.length - 1 ? diff.lines[idx + 1] : nil prev_changed = prev_line && [:added, :removed].include?(prev_line.type) next_changed = next_line && [:added, :removed].include?(next_line.type) if !prev_changed || !next_changed line = Leg::Line::Unchanged.new(line.source, line.line_numbers) end end new_diff.lines << line end new_diff end |