class Leg::DiffTransformers::TrimBlankLines
Public Instance Methods
transform(diff)
click to toggle source
# 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