From 9ee5d54e4db5d8448d643fbeece6d42cc7179c7a Mon Sep 17 00:00:00 2001 From: Jeremy Kemper Date: Tue, 1 Aug 2006 03:35:04 +0000 Subject: r4889@ks: jeremy | 2006-07-31 20:27:15 -0700 Create and update return the new pk and the number of affected rows, respectively. The job of returning true to appease the validations chain is up to create_or_update. git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@4645 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- activerecord/lib/active_record/base.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) (limited to 'activerecord/lib/active_record') diff --git a/activerecord/lib/active_record/base.rb b/activerecord/lib/active_record/base.rb index e90c65ee07..52b7df7fe8 100755 --- a/activerecord/lib/active_record/base.rb +++ b/activerecord/lib/active_record/base.rb @@ -1707,9 +1707,11 @@ module ActiveRecord #:nodoc: private def create_or_update if new_record? then create else update end + true end # Updates the associated record with values matching those of the instance attributes. + # Returns the number of affected rows. def update connection.update( "UPDATE #{self.class.table_name} " + @@ -1717,16 +1719,15 @@ module ActiveRecord #:nodoc: "WHERE #{self.class.primary_key} = #{quote(id)}", "#{self.class.name} Update" ) - - return true end - # Creates a new record with values matching those of the instance attributes. + # Creates a record with values matching those of the instance attributes + # and returns its id. def create if self.id.nil? && connection.prefetch_primary_key?(self.class.table_name) self.id = connection.next_sequence_value(self.class.sequence_name) end - + self.id = connection.insert( "INSERT INTO #{self.class.table_name} " + "(#{quoted_column_names.join(', ')}) " + @@ -1736,8 +1737,7 @@ module ActiveRecord #:nodoc: ) @new_record = false - - return true + id end # Sets the attribute used for single table inheritance to this class name if this is not the ActiveRecord descendent. -- cgit v1.2.3