class Valkyrie::Shrine::Checksum::Base
Public Class Methods
digest_class()
click to toggle source
# File lib/valkyrie/shrine/checksum/base.rb, line 7 def self.digest_class Digest::SHA256 end
Public Instance Methods
checksum_for(io)
click to toggle source
# File lib/valkyrie/shrine/checksum/base.rb, line 19 def checksum_for(io) simple_digest(io) end
digest_class()
click to toggle source
# File lib/valkyrie/shrine/checksum/base.rb, line 11 def digest_class self.class.digest_class end
simple_digest(io)
click to toggle source
# File lib/valkyrie/shrine/checksum/base.rb, line 23 def simple_digest(io) digest_class.new.tap do |result| io.rewind while (chunk = io.read(16 * 1024)) result << chunk end end end
verify_checksum(io, result)
click to toggle source
# File lib/valkyrie/shrine/checksum/base.rb, line 15 def verify_checksum(io, result) checksum_for(io) == calculate_checksum(result) end