ActiveRecord equality - explained

ActiveRecord equality - unapparent

Comparing objects in Ruby there is distinct difference between object equality (== and eql?) and object identity (equal?). Both are defined at class Object. And for all inheriting sub classes: object equality is meant to be overwritten, though object identity is not.
That also applies to ActiveRecord.
A simple model example: