class Authlogic::ActsAsAuthentic::Queries::CaseSensitivity

@api private

Constants

E_UNABLE_TO_DETERMINE_SENSITIVITY

Public Class Methods

new(model_class, attribute) click to toggle source

@api private

# File lib/authlogic/acts_as_authentic/queries/case_sensitivity.rb, line 20
def initialize(model_class, attribute)
  @model_class = model_class
  @attribute = attribute.to_sym
end

Public Instance Methods

sensitive?() click to toggle source

@api private

# File lib/authlogic/acts_as_authentic/queries/case_sensitivity.rb, line 26
def sensitive?
  sensitive = uniqueness_validator_options[:case_sensitive]
  if sensitive.nil?
    ::Kernel.warn(E_UNABLE_TO_DETERMINE_SENSITIVITY)
    false
  else
    sensitive
  end
end

Private Instance Methods

uniqueness_validator() click to toggle source

@api private

# File lib/authlogic/acts_as_authentic/queries/case_sensitivity.rb, line 39
def uniqueness_validator
  @model_class.validators.select { |v|
    v.is_a?(::ActiveRecord::Validations::UniquenessValidator) &&
      v.attributes == [@attribute]
  }.first
end
uniqueness_validator_options() click to toggle source

@api private

# File lib/authlogic/acts_as_authentic/queries/case_sensitivity.rb, line 47
def uniqueness_validator_options
  uniqueness_validator&.options || {}
end