mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
287a34ae0d
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@22784 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
40 lines
No EOL
1 KiB
Ruby
Executable file
40 lines
No EOL
1 KiB
Ruby
Executable file
#!/usr/bin/env ruby
|
|
#--
|
|
# Copyright 2006 by Chad Fowler, Rich Kilmer, Jim Weirich and others.
|
|
# All rights reserved.
|
|
# See LICENSE.txt for permissions.
|
|
#++
|
|
|
|
module Gem
|
|
|
|
# There is an incompatibility between the way Ruby 1.8.5 and 1.8.6
|
|
# handles digests. This DigestAdapter will take a pre-1.8.6 digest
|
|
# and adapt it to the 1.8.6 API.
|
|
#
|
|
# Note that only the digest and hexdigest methods are adapted,
|
|
# since these are the only functions used by Gems.
|
|
#
|
|
class DigestAdapter
|
|
|
|
# Initialize a digest adapter.
|
|
def initialize(digest_class)
|
|
@digest_class = digest_class
|
|
end
|
|
|
|
# Return a new digester. Since we are only implementing the stateless
|
|
# methods, we will return ourself as the instance.
|
|
def new
|
|
self
|
|
end
|
|
|
|
# Return the digest of +string+ as a hex string.
|
|
def hexdigest(string)
|
|
@digest_class.new(string).hexdigest
|
|
end
|
|
|
|
# Return the digest of +string+ as a binary string.
|
|
def digest(string)
|
|
@digest_class.new(string).digest
|
|
end
|
|
end
|
|
end |