Module: Rdiff3

Defined in:
lib/rdiff3.rb,
lib/rdiff3/version.rb

Constant Summary collapse

VERSION =
"0.0.3"

Class Method Summary collapse

Class Method Details

.diff(original_string, original_tag, new_string, new_tag) ⇒ Object



30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# 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::delete(working_dir)
  Dir.chdir(default_dir)
  text
end

.merge3(my_string, my_tag, old_string, old_tag, your_string, your_tag) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# 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::delete(working_dir)
  Dir.chdir(default_dir)
  text
end