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

40 lines
1 KiB
Ruby
Raw Normal View History

#!/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