Use `update` instead of `update_attributes`

`update_attributes` and `update_attributes!` will be deprecated in Rails 6.

Refer 5645149d3a
This commit is contained in:
Koichi ITO 2018-03-04 19:39:12 +09:00 committed by Leonardo Tegon
parent f220b992c3
commit dac90eeb80
5 changed files with 26 additions and 26 deletions

View File

@ -73,7 +73,7 @@ module Devise
end
result = if valid_password?(current_password)
update_attributes(params, *options)
update(params, *options)
else
self.assign_attributes(params, *options)
self.valid?
@ -101,7 +101,7 @@ module Devise
params.delete(:password)
params.delete(:password_confirmation)
result = update_attributes(params, *options)
result = update(params, *options)
clean_up_passwords
result
end

View File

@ -263,7 +263,7 @@ class ConfirmationOnChangeTest < Devise::IntegrationTest
test 'admin should be able to request a new confirmation after email changed' do
admin = create_admin
admin.update_attributes(email: 'new_test@example.com')
admin.update(email: 'new_test@example.com')
visit new_admin_session_path
click_link "Didn't receive confirmation instructions?"
@ -279,7 +279,7 @@ class ConfirmationOnChangeTest < Devise::IntegrationTest
test 'admin with valid confirmation token should be able to confirm email after email changed' do
admin = create_admin
admin.update_attributes(email: 'new_test@example.com')
admin.update(email: 'new_test@example.com')
assert_equal 'new_test@example.com', admin.unconfirmed_email
visit_admin_confirmation_with_token(admin.raw_confirmation_token)
@ -291,13 +291,13 @@ class ConfirmationOnChangeTest < Devise::IntegrationTest
test 'admin with previously valid confirmation token should not be able to confirm email after email changed again' do
admin = create_admin
admin.update_attributes(email: 'first_test@example.com')
admin.update(email: 'first_test@example.com')
assert_equal 'first_test@example.com', admin.unconfirmed_email
raw_confirmation_token = admin.raw_confirmation_token
admin = Admin.find(admin.id)
admin.update_attributes(email: 'second_test@example.com')
admin.update(email: 'second_test@example.com')
assert_equal 'second_test@example.com', admin.unconfirmed_email
visit_admin_confirmation_with_token(raw_confirmation_token)
@ -313,7 +313,7 @@ class ConfirmationOnChangeTest < Devise::IntegrationTest
test 'admin email should be unique also within unconfirmed_email' do
admin = create_admin
admin.update_attributes(email: 'new_admin_test@example.com')
admin.update(email: 'new_admin_test@example.com')
assert_equal 'new_admin_test@example.com', admin.unconfirmed_email
create_second_admin(email: "new_admin_test@example.com")

View File

@ -19,7 +19,7 @@ class EmailChangedTest < ActionMailer::TestCase
def user
@user ||= create_user.tap { |u|
@original_user_email = u.email
u.update_attributes!(email: 'new-email@example.com')
u.update!(email: 'new-email@example.com')
}
end
@ -108,7 +108,7 @@ class EmailChangedReconfirmationTest < ActionMailer::TestCase
def admin
@admin ||= create_admin.tap { |u|
@original_admin_email = u.email
u.update_attributes!(email: 'new-email@example.com')
u.update!(email: 'new-email@example.com')
}
end

View File

@ -372,7 +372,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
admin = create_admin
assert admin.confirm
residual_token = admin.confirmation_token
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert_not_equal residual_token, admin.confirmation_token
end
@ -381,7 +381,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
original_token = admin.confirmation_token
assert admin.confirm
admin.skip_reconfirmation!
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert admin.confirmed?
refute admin.pending_reconfirmation?
assert_equal original_token, admin.confirmation_token
@ -392,16 +392,16 @@ class ReconfirmableTest < ActiveSupport::TestCase
admin.skip_confirmation_notification!
assert_email_not_sent do
admin.update_attributes(email: 'new_test@example.com')
admin.update(email: 'new_test@example.com')
end
end
test 'should regenerate confirmation token after changing email' do
admin = create_admin
assert admin.confirm
assert admin.update_attributes(email: 'old_test@example.com')
assert admin.update(email: 'old_test@example.com')
token = admin.confirmation_token
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert_not_equal token, admin.confirmation_token
end
@ -409,7 +409,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
admin = create_admin
assert admin.confirm
assert_email_sent "new_test@example.com" do
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
end
assert_match "new_test@example.com", ActionMailer::Base.deliveries.last.body.encoded
end
@ -417,7 +417,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
test 'should send confirmation instructions by email after changing email from nil' do
admin = create_admin(email: nil)
assert_email_sent "new_test@example.com" do
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
end
assert_match "new_test@example.com", ActionMailer::Base.deliveries.last.body.encoded
end
@ -426,7 +426,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
admin = create_admin
assert admin.confirm
assert_email_not_sent do
assert admin.update_attributes(password: 'newpass', password_confirmation: 'newpass')
assert admin.update(password: 'newpass', password_confirmation: 'newpass')
end
end
@ -442,14 +442,14 @@ class ReconfirmableTest < ActiveSupport::TestCase
test 'should stay confirmed when email is changed' do
admin = create_admin
assert admin.confirm
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert admin.confirmed?
end
test 'should update email only when it is confirmed' do
admin = create_admin
assert admin.confirm
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert_not_equal 'new_test@example.com', admin.email
assert admin.confirm
assert_equal 'new_test@example.com', admin.email
@ -458,16 +458,16 @@ class ReconfirmableTest < ActiveSupport::TestCase
test 'should not allow admin to get past confirmation email by resubmitting their new address' do
admin = create_admin
assert admin.confirm
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert_not_equal 'new_test@example.com', admin.email
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
assert_not_equal 'new_test@example.com', admin.email
end
test 'should find a admin by send confirmation instructions with unconfirmed_email' do
admin = create_admin
assert admin.confirm
assert admin.update_attributes(email: 'new_test@example.com')
assert admin.update(email: 'new_test@example.com')
confirmation_admin = Admin.send_confirmation_instructions(email: admin.unconfirmed_email)
assert_equal confirmation_admin, admin
end
@ -536,7 +536,7 @@ class ReconfirmableTest < ActiveSupport::TestCase
original_email = admin.email
assert_difference 'ActionMailer::Base.deliveries.size', 2 do
assert admin.update_attributes(email: 'new-email@example.com')
assert admin.update(email: 'new-email@example.com')
end
assert_equal original_email, ActionMailer::Base.deliveries[-2]['to'].to_s
assert_equal 'new-email@example.com', ActionMailer::Base.deliveries[-1]['to'].to_s

View File

@ -234,7 +234,7 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase
test 'should not email on password change' do
user = create_user
assert_email_not_sent do
assert user.update_attributes(password: 'newpass', password_confirmation: 'newpass')
assert user.update(password: 'newpass', password_confirmation: 'newpass')
end
end
@ -243,7 +243,7 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase
user = create_user
original_email = user.email
assert_email_sent original_email do
assert user.update_attributes(email: 'new-email@example.com')
assert user.update(email: 'new-email@example.com')
end
assert_match original_email, ActionMailer::Base.deliveries.last.body.encoded
end
@ -253,7 +253,7 @@ class DatabaseAuthenticatableTest < ActiveSupport::TestCase
swap Devise, send_password_change_notification: true do
user = create_user
assert_email_sent user.email do
assert user.update_attributes(password: 'newpass', password_confirmation: 'newpass')
assert user.update(password: 'newpass', password_confirmation: 'newpass')
end
assert_match user.email, ActionMailer::Base.deliveries.last.body.encoded
end