Remove deprecated conditions parameter from #destroy_all

This commit is contained in:
Rafael Mendonça França 2016-12-29 15:55:31 -05:00
parent 4fc3366d9d
commit d31a6d1384
No known key found for this signature in database
GPG Key ID: FC23B6D0F1EEE948
3 changed files with 6 additions and 16 deletions

@ -1,3 +1,7 @@
* Remove deprecated conditions parameter from `#destroy_all`.
*Rafael Mendonça França*
* Remove deprecated support to passing arguments to `#select` when a block is provided.
*Rafael Mendonça França*

@ -446,16 +446,8 @@ def update(id = :all, attributes)
# ==== Examples
#
# Person.where(age: 0..18).destroy_all
def destroy_all(conditions = nil)
if conditions
ActiveSupport::Deprecation.warn(<<-MESSAGE.squish)
Passing conditions to destroy_all is deprecated and will be removed in Rails 5.1.
To achieve the same use where(conditions).destroy_all.
MESSAGE
where(conditions).destroy_all
else
records.each(&:destroy).tap { reset }
end
def destroy_all
records.each(&:destroy).tap { reset }
end
# Destroy an object (or multiple objects) that has the given id. The object is instantiated first,

@ -1004,12 +1004,6 @@ def test_destroy_all
assert davids.loaded?
end
def test_destroy_all_with_conditions_is_deprecated
assert_deprecated do
assert_difference("Author.count", -1) { Author.destroy_all(name: "David") }
end
end
def test_delete_all
davids = Author.where(name: "David")