Method: MetricFu::MD5Tracker.file_changed?

Defined in:
lib/base/md5_tracker.rb

.file_changed?(path_to_file, base_dir) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/base/md5_tracker.rb', line 29

def file_changed?(path_to_file, base_dir)
  orig_md5_file = md5_file(path_to_file, base_dir)
  return !!track(path_to_file, base_dir) unless File.exist?(orig_md5_file)

  current_md5 = ""
  file = File.open(orig_md5_file, 'r')
  file.each_line { |line| current_md5 << line }
  file.close
  current_md5.chomp!

  new_md5 = Digest::MD5.hexdigest(File.read(path_to_file))
  new_md5.chomp!

  @@unchanged_md5s << path_to_file if new_md5 == current_md5

  return new_md5 != current_md5
end