Sha256: a52761cc2dd4b409123cc25b3ba0afac557a45fd3fb6d340eb67e8cdf8cb2d9f

Contents?: true

Size: 869 Bytes

Versions: 2

Compression:

Stored size: 869 Bytes

Contents

# frozen_string_literal: true

module DeviseJwtAuth::Concerns::UserOmniauthCallbacks
  extend ActiveSupport::Concern

  included do
    validates :email, presence: true, if: :email_provider?
    validates :email,
              devise_jwt_auth_email: true,
              allow_nil: true,
              allow_blank: true,
              if: :email_provider?

    validates_presence_of :uid, unless: :email_provider?

    # only validate unique emails among email registration users
    # validates :email,
    #           uniqueness: { case_sensitive: false, scope: :provider },
    #           on: :create,
    #           if: :email_provider?

    # keep uid in sync with email
    before_save :sync_uid
    before_create :sync_uid
  end

  protected

  def email_provider?
    provider == 'email'
  end

  def sync_uid
    self.uid = email if email_provider?
  end
end

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
devise_jwt_auth722-0.1.7 app/models/devise_jwt_auth/concerns/user_omniauth_callbacks.rb
devise_jwt_auth7-0.1.7 app/models/devise_jwt_auth/concerns/user_omniauth_callbacks.rb