Comment faire pour tester (ActiveRecord) objet de l'égalité

Dans Ruby 1.9.2 sur Rails 3.0.3, je suis tenté de tester pour objet l'égalité entre les deux Friend (classe hérite de ActiveRecord::Base) des objets.

Les objets sont égaux, mais le test échoue:

Failure/Error: Friend.new(name: 'Bob').should eql(Friend.new(name: 'Bob'))

expected #<Friend id: nil, event_id: nil, name: 'Bob', created_at: nil, updated_at: nil>
     got #<Friend id: nil, event_id: nil, name: 'Bob', created_at: nil, updated_at: nil>

(compared using eql?)

Juste pour sourire, j'ai aussi tester pour l'identité de l'objet, qui ne parvient pas comme je l'avais prévu:

Failure/Error: Friend.new(name: 'Bob').should equal(Friend.new(name: 'Bob'))

expected #<Friend:2190028040> => #<Friend id: nil, event_id: nil, name: 'Bob', created_at: nil, updated_at: nil>
     got #<Friend:2190195380> => #<Friend id: nil, event_id: nil, name: 'Bob', created_at: nil, updated_at: nil>

Compared using equal?, which compares object identity,
but expected and actual are not the same object. Use
'actual.should == expected' if you don't care about
object identity in this example.

Quelqu'un peut m'expliquer pourquoi le premier test pour objet l'égalité échoue, et comment je peux réussir à faire valoir ces deux objets sont égaux?