Sha256: 5f896ae94c45939d058a0c2d0ac268f46daae33460a62ede1916ba5ced8835ae

Contents?: true

Size: 874 Bytes

Versions: 23

Compression:

Stored size: 874 Bytes

Contents

module SolrWrapper
  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

23 entries across 23 versions & 1 rubygems

Version Path
solr_wrapper-0.18.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.17.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.16.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.15.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.14.2 lib/solr_wrapper/md5.rb
solr_wrapper-0.14.1 lib/solr_wrapper/md5.rb
solr_wrapper-0.14.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.13.2 lib/solr_wrapper/md5.rb
solr_wrapper-0.13.1 lib/solr_wrapper/md5.rb
solr_wrapper-0.13.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.12.1 lib/solr_wrapper/md5.rb
solr_wrapper-0.12.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.11.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.10.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.9.2 lib/solr_wrapper/md5.rb
solr_wrapper-0.9.1 lib/solr_wrapper/md5.rb
solr_wrapper-0.9.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.8.1 lib/solr_wrapper/md5.rb
solr_wrapper-0.8.0 lib/solr_wrapper/md5.rb
solr_wrapper-0.7.3 lib/solr_wrapper/md5.rb