Sha256: 528735a7a80f772d7f29165e149c42acc36d94463aa33c973af9a2104160e9d1

Contents?: true

Size: 877 Bytes

Versions: 14

Compression:

Stored size: 877 Bytes

Contents

module FcrepoWrapper
  class MD5
    attr_reader :config
    def initialize(config)
      @config = config
    end

    def clean!
      FileUtils.remove_entry(config.md5sum_path) if File.exists? config.md5sum_path
    end

    def validate?(file)
      return true if config.validate == false

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

    def validate!(file)
      unless validate? file
        raise "MD5 mismatch" unless config.ignore_md5sum
      end
    end

    private

      def expected_sum
        @md5sum ||= config.md5sum
        @md5sum ||= read_file
      end

      def read_file
        open(md5file).read.split(" ").first
      end

      def md5file
        unless File.exists? config.md5sum_path
          Downloader.fetch_with_progressbar config.md5url, config.md5sum_path
        end

        config.md5sum_path
      end
  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
fcrepo_wrapper-0.9.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.8.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.7.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.6.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.5.2 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.5.1 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.5.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.4.0 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.4.1 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.4 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.3 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.2 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.1 lib/fcrepo_wrapper/md5.rb
fcrepo_wrapper-0.3.0 lib/fcrepo_wrapper/md5.rb