Class: Dratools::ChecksumVerifier
- Inherits:
-
Object
- Object
- Dratools::ChecksumVerifier
- Defined in:
- lib/dratools/checksum_verifier.rb
Overview
ダウンロード済みファイルのチェックサムを検証する。
Digest::MD5.file はストリーム処理なので、巨大ファイルでも全体をメモリに載せない。
Instance Method Summary collapse
Instance Method Details
#md5_matches?(path, expected_md5) ⇒ Boolean
12 13 14 |
# File 'lib/dratools/checksum_verifier.rb', line 12 def md5_matches?(path, expected_md5) md5_for(path).casecmp?(normalize_md5(expected_md5)) end |
#verify_md5!(path, expected_md5) ⇒ Object
16 17 18 19 20 21 22 |
# File 'lib/dratools/checksum_verifier.rb', line 16 def verify_md5!(path, expected_md5) expected_md5 = normalize_md5(expected_md5) actual_md5 = md5_for(path) return true if actual_md5.casecmp?(expected_md5) raise ChecksumError, "MD5 mismatch for #{path}: expected #{expected_md5}, got #{actual_md5}" end |