Method: Gem::Package::DigestIO.wrap
- Defined in:
- lib/rubygems/package/digest_io.rb
.wrap(io, digests) {|digest_io| ... } ⇒ Object
Wraps io
and updates digest for each of the digest algorithms in the digests
Hash. Returns the digests hash. Example:
io = StringIO.new
digests = {
'SHA1' => OpenSSL::Digest.new('SHA1'),
'SHA512' => OpenSSL::Digest.new('SHA512'),
}
Gem::Package::DigestIO.wrap io, digests do |digest_io|
digest_io.write "hello"
end
digests['SHA1'].hexdigest #=> "aaf4c61d[...]"
digests['SHA512'].hexdigest #=> "9b71d224[...]"
34 35 36 37 38 39 40 |
# File 'lib/rubygems/package/digest_io.rb', line 34 def self.wrap(io, digests) digest_io = new io, digests yield digest_io digests end |