Clarify the error behavior on AuthUser syncing

I added bangs to signify they're mutative operations, but also the bang on `create!` helps ensure we'll bail if User creation fails for some reason.
This commit is contained in:
Emi Matchu 2023-08-06 18:35:52 -07:00
parent 82be3bf5f9
commit 0e7bbd526f
2 changed files with 7 additions and 7 deletions

View file

@ -15,14 +15,14 @@ class AuthUser < AuthRecord
#
# TODO: Should we sync deletions too? We don't do deletions anywhere in app
# right now, so I'll hold off to avoid leaving dead code around.
after_create :create_user
after_update :sync_name_with_user, if: :saved_change_to_name?
after_create :create_user!
after_update :sync_name_with_user!, if: :saved_change_to_name?
def create_user
User.create(name: name, auth_server_id: 1, remote_id: id)
def create_user!
User.create!(name: name, auth_server_id: 1, remote_id: id)
end
def sync_name_with_user
def sync_name_with_user!
user.name = name
user.save!
end

View file

@ -24,9 +24,9 @@ class User < ApplicationRecord
scope :top_contributors, -> { order('points DESC').where('points > 0') }
after_update :sync_name_with_auth_user, if: :saved_change_to_name?
after_update :sync_name_with_auth_user!, if: :saved_change_to_name?
def sync_name_with_auth_user
def sync_name_with_auth_user!
auth_user.name = name
auth_user.save!
end