Class: Valkyrie::Shrine::Checksum::Base
- Inherits:
-
Object
- Object
- Valkyrie::Shrine::Checksum::Base
- Defined in:
- lib/valkyrie/shrine/checksum/base.rb
Direct Known Subclasses
Class Method Summary collapse
Instance Method Summary collapse
- #checksum_for(io) ⇒ Object
- #digest_class ⇒ Object
- #simple_digest(io) ⇒ Object
- #verify_checksum(io, result) ⇒ Object
Class Method Details
.digest_class ⇒ Object
7 8 9 |
# File 'lib/valkyrie/shrine/checksum/base.rb', line 7 def self.digest_class Digest::SHA256 end |
Instance Method Details
#checksum_for(io) ⇒ Object
19 20 21 |
# File 'lib/valkyrie/shrine/checksum/base.rb', line 19 def checksum_for(io) simple_digest(io) end |
#digest_class ⇒ Object
11 12 13 |
# File 'lib/valkyrie/shrine/checksum/base.rb', line 11 def digest_class self.class.digest_class end |
#simple_digest(io) ⇒ Object
23 24 25 26 27 28 29 30 |
# 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) ⇒ Object
15 16 17 |
# File 'lib/valkyrie/shrine/checksum/base.rb', line 15 def verify_checksum(io, result) checksum_for(io) == calculate_checksum(result) end |