Sha256: cb95c4611e08c05f4e02256b4dac684cf626d657d153345092efcfed01589d5c

Contents?: true

Size: 325 Bytes

Versions: 73

Compression:

Stored size: 325 Bytes

Contents

class Hash
  def hash
    h = 0
    each do |key, value|
      h ^= key.hash ^ value.hash
    end
    h
  end unless {}.hash == {}.hash

  def eql?(other)
    other.is_a?(Hash) &&
      size == other.size &&
      all? do |key, value|
        value.eql?(other.fetch(key){return false})
      end
  end unless {}.eql?({})
end

Version data entries

73 entries across 73 versions & 5 rubygems

Version Path
backports-3.25.0 lib/backports/1.8.7/hash/hash.rb
backports-3.24.1 lib/backports/1.8.7/hash/hash.rb
backports-3.24.0 lib/backports/1.8.7/hash/hash.rb
backports-3.23.0 lib/backports/1.8.7/hash/hash.rb
backports-3.22.1 lib/backports/1.8.7/hash/hash.rb
backports-3.22.0 lib/backports/1.8.7/hash/hash.rb
backports-3.21.0 lib/backports/1.8.7/hash/hash.rb
backports-3.20.2 lib/backports/1.8.7/hash/hash.rb
backports-3.20.1 lib/backports/1.8.7/hash/hash.rb
backports-3.20.0 lib/backports/1.8.7/hash/hash.rb
backports-3.19.0 lib/backports/1.8.7/hash/hash.rb
backports-3.18.2 lib/backports/1.8.7/hash/hash.rb
backports-3.18.1 lib/backports/1.8.7/hash/hash.rb
backports-3.18.0 lib/backports/1.8.7/hash/hash.rb
files.com-1.0.55 docs/vendor/bundle/ruby/2.5.0/gems/backports-3.12.0/lib/backports/1.8.7/hash/hash.rb
backports-3.17.2 lib/backports/1.8.7/hash/hash.rb
backports-3.17.1 lib/backports/1.8.7/hash/hash.rb
backports-3.17.0 lib/backports/1.8.7/hash/hash.rb
backports-3.16.1 lib/backports/1.8.7/hash/hash.rb
backports-3.16.0 lib/backports/1.8.7/hash/hash.rb