Add and validate association UserOmniauth#assumed_user
This commit is contained in:
parent
28d40dd632
commit
fda85b6e43
|
@ -7,6 +7,14 @@ class UserOmniauth < ApplicationRecord
|
||||||
|
|
||||||
belongs_to :user
|
belongs_to :user
|
||||||
|
|
||||||
|
has_one :assumed_user,
|
||||||
|
class_name: 'User',
|
||||||
|
primary_key: :email,
|
||||||
|
foreign_key: :email,
|
||||||
|
inverse_of: false,
|
||||||
|
autosave: false,
|
||||||
|
dependent: false
|
||||||
|
|
||||||
###############
|
###############
|
||||||
# Validations #
|
# Validations #
|
||||||
###############
|
###############
|
||||||
|
@ -16,4 +24,12 @@ class UserOmniauth < ApplicationRecord
|
||||||
validates :remote_id, presence: true
|
validates :remote_id, presence: true
|
||||||
|
|
||||||
validates :email, presence: true
|
validates :email, presence: true
|
||||||
|
|
||||||
|
validates :assumed_user, inclusion: { in: :expected_users }
|
||||||
|
|
||||||
|
private
|
||||||
|
|
||||||
|
def expected_users
|
||||||
|
[nil, user]
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Reference in New Issue