class Multidiff::Differ

Constants

OVERRIDE_ACTION

Public Class Methods

diff(files) click to toggle source
# File lib/multidiff/differ.rb, line 7
def self.diff(files)
  base = files.shift

  files.map { |file| Diff::LCS.sdiff(base, file) }
end
pretty_diff(files) click to toggle source
# File lib/multidiff/differ.rb, line 13
def self.pretty_diff(files)
  diff(files).map do |changes|
    changes.each_with_index.map do |change, line|
      text = if change.action == '!'
               "#{change.old_element}|#{change.new_element}"
             else
               change.old_element || change.new_element
             end

      "#{line.next}\t#{OVERRIDE_ACTION[change.action]}\t#{text}"
    end
  end
end