Methods
Attributes
| [R] | digests | Collected digests for wrapped writes. |
Class Public methods
new(io, digests)
Link
Creates a new DigestIO instance. Using ::wrap is recommended, see the ::wrap documentation for
documentation of io and digests.
Source: show
# File lib/rubygems/package/digest_io.rb, line 45 def initialize io, digests @io = io @digests = digests end
wrap(io, digests)
Link
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[...]"
Source: show
# File lib/rubygems/package/digest_io.rb, line 33 def self.wrap io, digests digest_io = new io, digests yield digest_io return digests end
Instance Public methods