Рассмотрены все методы и операторы сранения в Ruby. Пояснена их идеология, обговорено что нужно перегрузить, чтобы использовать свои классы в качестве ключей хэша, а что перегружать не стоит. Про то, что case...when..end использует оператор === узнал отсюда.
http://techbot.me/2011/05/ruby-basics-equality-operators-ruby/
http://techbot.me/2011/05/ruby-basics-equality-operators-ruby/