Class: Evilution::Reporter::Suggestion::DiffLines

Inherits:
Object
  • Object
show all
Defined in:
lib/evilution/reporter/suggestion/diff_lines.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(original:, mutated:) ⇒ DiffLines

Returns a new instance of DiffLines.



23
24
25
26
27
# File 'lib/evilution/reporter/suggestion/diff_lines.rb', line 23

def initialize(original:, mutated:)
  @original = original
  @mutated = mutated
  freeze
end

Instance Attribute Details

#mutatedObject (readonly)

Returns the value of attribute mutated.



21
22
23
# File 'lib/evilution/reporter/suggestion/diff_lines.rb', line 21

def mutated
  @mutated
end

#originalObject (readonly)

Returns the value of attribute original.



21
22
23
# File 'lib/evilution/reporter/suggestion/diff_lines.rb', line 21

def original
  @original
end

Class Method Details

.from_diff(raw_diff) ⇒ Object



6
7
8
9
10
11
12
# File 'lib/evilution/reporter/suggestion/diff_lines.rb', line 6

def self.from_diff(raw_diff)
  lines = raw_diff.split("\n")
  new(
    original: clean(lines.find { |l| l.start_with?("- ") }, "- "),
    mutated: clean(lines.find { |l| l.start_with?("+ ") }, "+ ")
  )
end