Module: Evilution::Reporter::Suggestion::DiffHelpers

Defined in:
lib/evilution/reporter/suggestion/diff_helpers.rb

Class Method Summary collapse

Class Method Details

.clean_diff_line(line, prefix) ⇒ Object



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

def clean_diff_line(line, prefix)
  return nil if line.nil?

  line.sub(/^#{Regexp.escape(prefix)}/, "").strip
end

.extract_diff_lines(diff) ⇒ Object



16
17
18
19
20
21
# File 'lib/evilution/reporter/suggestion/diff_helpers.rb', line 16

def extract_diff_lines(diff)
  lines = diff.split("\n")
  original = lines.find { |l| l.start_with?("- ") }
  mutated = lines.find { |l| l.start_with?("+ ") }
  [clean_diff_line(original, "- "), clean_diff_line(mutated, "+ ")]
end

.parse_method_name(subject_name) ⇒ Object



8
9
10
# File 'lib/evilution/reporter/suggestion/diff_helpers.rb', line 8

def parse_method_name(subject_name)
  subject_name.split(/[#.]/).last
end

.sanitize_method_name(name) ⇒ Object



12
13
14
# File 'lib/evilution/reporter/suggestion/diff_helpers.rb', line 12

def sanitize_method_name(name)
  name.gsub(/[^a-zA-Z0-9_]/, "_").gsub(/_+/, "_").gsub(/\A_|_\z/, "")
end