class BomDB::Diff::Dwdiff
This wraps the command-line tool, dwdiff See linux.die.net/man/1/dwdiff
Public Class Methods
new(bin = '/usr/local/bin/dwdiff')
click to toggle source
# File lib/bomdb/diff/dwdiff.rb, line 8 def initialize(bin = '/usr/local/bin/dwdiff') @bin = bin end
Public Instance Methods
diff(str1, str2)
click to toggle source
# File lib/bomdb/diff/dwdiff.rb, line 12 def diff(str1, str2) Dir.mktmpdir("bomdb") do |dir| file1 = File.join(dir, "file1.txt") file2 = File.join(dir, "file2.txt") File.open(file1, "w"){ |f1| f1.write(str1) } File.open(file2, "w"){ |f2| f2.write(str2) } # -w : start-delete marker, {- # -x : end-delete marker, -} # -y : start-insert marker, {+ # -z : end-insert marker, +} # -P : use punctuation characters as delimiters `#{@bin} -w'{-' -x'-}' -y'{+' -z'+}' -P #{file1} #{file2}` end end