Sha256: ca6e24f4b78d6a77faf053b27f1e83809f1af5701c9672fe4a01040d3e15243c

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

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

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
shoesgem-0.1430.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1429.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1428.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1426.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb