class FcrepoWrapper::MD5

Attributes

config[R]

Public Class Methods

new(config) click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 4
def initialize(config)
  @config = config
end

Public Instance Methods

clean!() click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 8
def clean!
  FileUtils.remove_entry(config.md5sum_path) if File.exists? config.md5sum_path
end
validate!(file) click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 18
def validate!(file)
  unless validate? file
    raise "MD5 mismatch" unless config.ignore_md5sum
  end
end
validate?(file) click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 12
def validate?(file)
  return true if config.validate == false

  Digest::MD5.file(file).hexdigest == expected_sum
end

Private Instance Methods

expected_sum() click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 26
def expected_sum
  @md5sum ||= config.md5sum
  @md5sum ||= read_file
end
md5file() click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 35
def md5file
  unless File.exists? config.md5sum_path
    Downloader.fetch_with_progressbar config.md5url, config.md5sum_path
  end

  config.md5sum_path
end
read_file() click to toggle source
# File lib/fcrepo_wrapper/md5.rb, line 31
def read_file
  open(md5file).read.split(" ").first
end