module Google::Cloud::Storage::File::Verifier
@private Verifies downloaded files by creating an MD5 or CRC32c hash digest and comparing the value to the one from the Storage
API.
Public Class Methods
crc32c_for(local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 65 def self.crc32c_for local_file if local_file.respond_to? :to_path ::File.open Pathname(local_file).to_path, "rb" do |f| ::Digest::CRC32c.file(f).base64digest end else # StringIO local_file.rewind crc32c = ::Digest::CRC32c.base64digest local_file.read local_file.rewind crc32c end end
md5_for(local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 52 def self.md5_for local_file if local_file.respond_to? :to_path ::File.open Pathname(local_file).to_path, "rb" do |f| ::Digest::MD5.file(f).base64digest end else # StringIO local_file.rewind md5 = ::Digest::MD5.base64digest local_file.read local_file.rewind md5 end end
verify_crc32c(gcloud_file, local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 48 def self.verify_crc32c gcloud_file, local_file gcloud_file.crc32c == crc32c_for(local_file) end
verify_crc32c!(gcloud_file, local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 37 def self.verify_crc32c! gcloud_file, local_file gcloud_digest = gcloud_file.crc32c local_digest = crc32c_for local_file return if gcloud_digest == local_digest raise FileVerificationError.for_crc32c(gcloud_digest, local_digest) end
verify_md5(gcloud_file, local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 44 def self.verify_md5 gcloud_file, local_file gcloud_file.md5 == md5_for(local_file) end
verify_md5!(gcloud_file, local_file)
click to toggle source
# File lib/google/cloud/storage/file/verifier.rb, line 30 def self.verify_md5! gcloud_file, local_file gcloud_digest = gcloud_file.md5 local_digest = md5_for local_file return if gcloud_digest == local_digest raise FileVerificationError.for_md5(gcloud_digest, local_digest) end