Sha256: 3bdb765ea1cbbd38a55a93c42de422920f47ce011bbc5ab38afbeec799166129

Contents?: true

Size: 738 Bytes

Versions: 4

Compression:

Stored size: 738 Bytes

Contents

# Use CityHash for fast hashing if it is available; use Digest::MD5 otherwise
begin
  require 'cityhash'
rescue LoadError
  unless RUBY_PLATFORM == 'java'
    warn <<-NOTICE
      ** Notice: CityHash was not loaded. **

      For optimal performance, use of the cityhash gem is recommended.

      Run the following command, or add it to your Gemfile:

        gem install cityhash
    NOTICE
  end

  require 'digest/md5'
end

module IdentityCache
  module CacheHash

    if defined?(CityHash)
      
      def memcache_hash(key) #:nodoc:
        CityHash.hash64(key)
      end
    else
      
      def memcache_hash(key) #:nodoc:
        a = Digest::MD5.digest(key).unpack('LL')
        (a[0] << 32) | a[1]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
identity_cache-0.0.7 lib/identity_cache/cache_hash.rb
identity_cache-0.0.6 lib/identity_cache/cache_hash.rb
identity_cache-0.0.5 lib/identity_cache/cache_hash.rb
identity_cache-0.0.4 lib/identity_cache/cache_hash.rb