diff options
author | David Chelimsky <dchelimsky@gmail.com> | 2010-11-07 08:05:18 -0600 |
---|---|---|
committer | Santiago Pastorino <santiago@wyeworks.com> | 2010-11-09 13:54:04 -0200 |
commit | 1f06652a57e727700c3a673dc1f86e3b1e07ce1f (patch) | |
tree | 6ab5165939c2fcae615bd586ea0254e352f6715a /activerecord/lib/active_record/attribute_methods | |
parent | f57b5197b3215d9dd66196e960ef5d78b7a62de1 (diff) | |
download | rails-1f06652a57e727700c3a673dc1f86e3b1e07ce1f.tar.gz rails-1f06652a57e727700c3a673dc1f86e3b1e07ce1f.tar.bz2 rails-1f06652a57e727700c3a673dc1f86e3b1e07ce1f.zip |
use persisted? instead of new_record? wherever possible
- persisted? is the API defined in ActiveModel
- makes it easier for extension libraries to conform to ActiveModel APIs
without concern for whether the extended object is specifically
ActiveRecord
[#5927 state:committed]
Signed-off-by: Santiago Pastorino <santiago@wyeworks.com>
Diffstat (limited to 'activerecord/lib/active_record/attribute_methods')
-rw-r--r-- | activerecord/lib/active_record/attribute_methods/primary_key.rb | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/activerecord/lib/active_record/attribute_methods/primary_key.rb b/activerecord/lib/active_record/attribute_methods/primary_key.rb index 82d94b848a..75ae06f5e9 100644 --- a/activerecord/lib/active_record/attribute_methods/primary_key.rb +++ b/activerecord/lib/active_record/attribute_methods/primary_key.rb @@ -3,10 +3,11 @@ module ActiveRecord module PrimaryKey extend ActiveSupport::Concern - # Returns this record's primary key value wrapped in an Array - # or nil if the record is a new_record? + # Returns this record's primary key value wrapped in an Array or nil if + # the record is not persisted? or has just been destroyed. def to_key - new_record? ? nil : [ id ] + key = send(self.class.primary_key) + [key] if key end module ClassMethods |