Class: Evilution::Compare::DiffExtractor::Evilution

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/compare/diff_extractor/evilution.rb

Overview

Extracts plus: payload arrays from Evilution-format diffs. Evilution diffs use “- ” / “+ ” line prefixes (note the trailing space) and do not carry unified-diff headers or hunk markers.

Instance Method Summary collapse

Instance Method Details

#call(diff) ⇒ Object



9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/evilution/compare/diff_extractor/evilution.rb', line 9

def call(diff)
  minus = []
  plus = []
  diff.to_s.each_line do |line|
    line = line.chomp
    if line.start_with?("- ")
      minus << line[2..]
    elsif line.start_with?("+ ")
      plus << line[2..]
    end
  end
  { minus: minus, plus: plus }
end