aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorXavier Noria <fxn@hashref.com>2010-11-16 15:55:43 +0100
committerXavier Noria <fxn@hashref.com>2010-11-16 15:58:37 +0100
commita820d0afdd4a09e0902d7b7c4d9724f50089d254 (patch)
tree6b81a7f7038d6c37bab12808947c3f673c20c42d /activerecord
parent4718d097ffe3af965f3ea7218156050507eabe4f (diff)
downloadrails-a820d0afdd4a09e0902d7b7c4d9724f50089d254.tar.gz
rails-a820d0afdd4a09e0902d7b7c4d9724f50089d254.tar.bz2
rails-a820d0afdd4a09e0902d7b7c4d9724f50089d254.zip
revises RDoc of AR::Base#==
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/base.rb10
1 files changed, 9 insertions, 1 deletions
diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb
index 658c6d7b45..b35f59d6df 100644
--- a/activerecord/lib/active_record/base.rb
+++ b/activerecord/lib/active_record/base.rb
@@ -1582,7 +1582,15 @@ MSG
self.class.columns_hash[name.to_s]
end
- # Returns true if the +comparison_object+ is the same object, or is of the same type and has the same id.
+ # Returns true if +comparison_object+ is the same exact object, or +comparison_object+
+ # is of the same type and +self+ has an ID and it is equal to +comparison_object.id+.
+ #
+ # Note that new records are different from any other record by definition, unless the
+ # other record is the receiver itself. Besides, if you fetch existing records with
+ # +select+ and leave the ID out, you're on your own, this predicate will return false.
+ #
+ # Note also that destroying a record preserves its ID in the model instance, so deleted
+ # models are still comparable.
def ==(comparison_object)
comparison_object.equal?(self) ||
comparison_object.instance_of?(self.class) &&