Skip to content

End of Life Ruby 3.2 has reached end of life and gets no more fixes. Switch to Ruby 4.0 →

class method

Gem::Package::DigestIO.wrap

wrap(io, digests) { |digest_io| ... }

Wraps io and updates digest for each of the digest algorithms in the digests Hash. Returns the digests hash. Example:

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[...]"
See also .new #write also in 4.1 · 4.0 · 3.4 · 3.3 · 3.1 · 3.0