Sha256: 3d809d85dce02c7d15184b571a41cc7b11b9d3354340efe81cd933261ba0a8ee

Contents?: true

Size: 1.01 KB

Versions: 14

Compression:

Stored size: 1.01 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

14 entries across 14 versions & 2 rubygems

Version Path
shoesgem-0.1514.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1480.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1469.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
shoesgem-0.1424.0 shoes/ruby/lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.0.1 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.1.0 lib/rubygems/digest/digest_adapter.rb
rubygems-update-0.9.3 lib/rubygems/digest/digest_adapter.rb
rubygems-update-0.9.4 lib/rubygems/digest/digest_adapter.rb
rubygems-update-0.9.5 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.0.0 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.1.1 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.2.0 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.3.0 lib/rubygems/digest/digest_adapter.rb
rubygems-update-1.3.1 lib/rubygems/digest/digest_adapter.rb