Adds support for :all_or_none option on #import

This commit is contained in:
Gonzalo Rodriguez 2012-05-03 00:20:41 -03:00
parent f74bd2fbbd
commit eac7d5f949
2 changed files with 45 additions and 3 deletions

View file

@ -254,8 +254,12 @@ class ActiveRecord::Base
end
end
array_of_attributes.compact!
num_inserts = array_of_attributes.empty? ? 0 : import_without_validations_or_callbacks( column_names, array_of_attributes, options )
num_inserts = if array_of_attributes.empty? || options[:all_or_none] && failed_instances.any?
0
else
import_without_validations_or_callbacks( column_names, array_of_attributes, options )
end
ActiveRecord::Import::Result.new(failed_instances, num_inserts)
end