Sha256: 4f131059b69b073ef08158b185fb8e38d301dcb4fd3d471be299f5c60e994e80

Contents?: true

Size: 644 Bytes

Versions: 8

Compression:

Stored size: 644 Bytes

Contents

# frozen_string_literal: true

module Bpluser
  module Validatable
    extend ActiveSupport::Concern

    included do
      include InstanceMethods

      validates :uid, presence: true, uniqueness: { scope: :provider, allow_blank: true }, if: :uid_required?
    end

    # Overrides devise mthods used for validations
    module InstanceMethods
      protected

      def uid_required?
        provider == 'polaris'
      end

      def email_required?
        return false if provider == 'polaris'

        super
      end

      def password_required?
        return false if provider == 'polaris'

        super
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
bpluser-0.5.0 app/models/concerns/bpluser/validatable.rb
bpluser-0.4.0 app/models/concerns/bpluser/validatable.rb
bpluser-0.3.0 app/models/concerns/bpluser/validatable.rb
bpluser-0.2.0.4 app/models/concerns/bpluser/validatable.rb
bpluser-0.2.0.3 app/models/concerns/bpluser/validatable.rb
bpluser-0.2.0.2 app/models/concerns/bpluser/validatable.rb
bpluser-0.2.0.1 app/models/concerns/bpluser/validatable.rb
bpluser-0.2.0 app/models/concerns/bpluser/validatable.rb