diff options
author | Jon Leighton <j@jonathanleighton.com> | 2011-02-14 00:14:16 +0000 |
---|---|---|
committer | Jon Leighton <j@jonathanleighton.com> | 2011-02-14 01:40:31 +0000 |
commit | 7ce7ae0c8bd94e7f96c1448183b83da85ef91edb (patch) | |
tree | bbb92ebdf7b3c27a699c213285f356f9d89bf261 /activerecord/lib/active_record/associations/association_collection.rb | |
parent | eab5fb49f839bf19da4c31b35142f9e05d05ed2e (diff) | |
download | rails-7ce7ae0c8bd94e7f96c1448183b83da85ef91edb.tar.gz rails-7ce7ae0c8bd94e7f96c1448183b83da85ef91edb.tar.bz2 rails-7ce7ae0c8bd94e7f96c1448183b83da85ef91edb.zip |
Get rid of AssociationCollection#save_record
Diffstat (limited to 'activerecord/lib/active_record/associations/association_collection.rb')
-rw-r--r-- | activerecord/lib/active_record/associations/association_collection.rb | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/activerecord/lib/active_record/associations/association_collection.rb b/activerecord/lib/active_record/associations/association_collection.rb index 8e006e4d9d..4ead67b282 100644 --- a/activerecord/lib/active_record/associations/association_collection.rb +++ b/activerecord/lib/active_record/associations/association_collection.rb @@ -197,16 +197,15 @@ module ActiveRecord else create_record(attrs) do |record| yield(record) if block_given? - insert_record(record, false) + insert_record(record) end end end - def create!(attrs = {}) - create_record(attrs) do |record| - yield(record) if block_given? - insert_record(record, true) - end + def create!(attrs = {}, &block) + record = create(attrs, &block) + Array.wrap(record).each(&:save!) + record end # Returns the size of the collection by executing a SELECT COUNT(*) @@ -419,17 +418,11 @@ module ActiveRecord end + existing end - # Do the relevant stuff to insert the given record into the association collection. The - # force param specifies whether or not an exception should be raised on failure. The - # validate param specifies whether validation should be performed (if force is false). - def insert_record(record, force = true, validate = true) + # Do the relevant stuff to insert the given record into the association collection. + def insert_record(record, validate = true) raise NotImplementedError end - def save_record(record, force, validate) - force ? record.save! : record.save(:validate => validate) - end - def create_record(attributes, &block) ensure_owner_is_persisted! transaction { build_record(attributes, &block) } |