1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00
ruby--ruby/lib/rubygems/digest/digest_adapter.rb
drbrain fbf59bdbea Import RubyGems trunk revision 1493.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@13862 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
2007-11-10 07:48:56 +00:00

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