Sha256: 3340264e8caa8c57ce2de3c451177374eb9ac10123d3b71ebb5a3ce3a54ad80d
Contents?: true
Size: 448 Bytes
Versions: 2
Compression:
Stored size: 448 Bytes
Contents
require "digest/md5" require "forwardable" class String def crc32 Zlib.crc32(self) end def md5 Digest::MD5.hexdigest(self) end # return a 64 bit uid def uid64 md5.unpack("LL").inject { |a,b| (a << 31) + b } end end class Hash extend Forwardable delegate [:uid64, :crc32, :md5] => :calculate_stable_hashable def calculate_stable_hashable map { |k,v| "#{k.inspect}:#{v.inspect}" }.sort.join("//") end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
radiospiel-app-0.1.1 | lib/core-extensions/uids.rb |
radiospiel-app-0.1.0 | lib/core-extensions/uids.rb |