Class: Mutant::Diff

Inherits:
Object
  • Object
show all
Includes:
Adamantium::Flat
Defined in:
lib/mutant/diff.rb

Overview

Class to create diffs from source code

Constant Summary collapse

ADDITION =
'+'.freeze
DELETION =
'-'.freeze
NEWLINE =
"\n".freeze

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.build(old, new) ⇒ Diff

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return new object



54
55
56
# File 'lib/mutant/diff.rb', line 54

def self.build(old, new)
  new(lines(old), lines(new))
end

Instance Method Details

#colorized_diffString?

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return colorized source diff



39
40
41
42
# File 'lib/mutant/diff.rb', line 39

def colorized_diff
  return unless diff
  diff.lines.map(&self.class.method(:colorize_line)).join
end

#diffString?

This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.

Return source diff



20
21
22
23
24
25
26
# File 'lib/mutant/diff.rb', line 20

def diff
  return if diffs.empty?

  minimized_hunks.map do |hunk|
    hunk.diff(:unified) << NEWLINE
  end.join
end