module Rdiff3

Constants

VERSION

Public Class Methods

diff(original_string,original_tag,new_string,new_tag) click to toggle source
# File lib/rdiff3.rb, line 30
  def self.diff(original_string,original_tag,new_string,new_tag)
#    home_dir = ENV['HOME']
    default_dir = `pwd`.chomp
#    Dir.chdir(home_dir)
    now = Time.now
    now_text = now.strftime("%Y-%m-%d-%H-%M-%S")
    working_dir = "#{SecureRandom.hex(3)}-#{now_text}"
    Dir::mkdir(working_dir)
    original_file_name = working_dir + "/" +original_tag
    new_file_name = working_dir + "/" +new_tag
    File.write(original_file_name, original_string + "\n")
    File.write(new_file_name, new_string + "\n")
    Dir.chdir(working_dir)
    text = `diff -u #{original_tag} #{new_tag}`
    File.delete(original_tag)
    File.delete(new_tag)
#    Dir.chdir(home_dir)
    Dir.chdir(default_dir)
    Dir::delete(working_dir)
    text
  end
merge3(my_string,my_tag,old_string,old_tag,your_string,your_tag) click to toggle source
# File lib/rdiff3.rb, line 5
  def self.merge3(my_string,my_tag,old_string,old_tag,your_string,your_tag)
#    home_dir = ENV['HOME']
    default_dir = `pwd`.chomp
#    Dir.chdir(home_dir)
    now = Time.now
    now_text = now.strftime("%Y-%m-%d-%H-%M-%S")
    working_dir = "#{SecureRandom.hex(3)}-#{now_text}"
    Dir::mkdir(working_dir)
    my_file_name = working_dir + "/" +my_tag
    old_file_name = working_dir + "/" +old_tag
    your_file_name = working_dir + "/" + your_tag
    File.write(my_file_name, my_string +"\n")
    File.write(old_file_name, old_string + "\n")
    File.write(your_file_name, your_string + "\n")
    Dir.chdir(working_dir)
    text = `diff3 -m #{my_tag} #{old_tag} #{your_tag}`
    File.delete(my_tag)
    File.delete(old_tag)
    File.delete(your_tag)
#    Dir.chdir(home_dir)
    Dir.chdir(default_dir)
    Dir::delete(working_dir)
    text
  end