class DashOverlord::UseCases::V1::Shared::LogIn::ValidateUserModel

Public Instance Methods

perform() click to toggle source
# File lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb, line 35
def perform
  return if target_valid?

  failure! :unprocessable_entity, message('contains_errors')
end
validate_email(user_model) click to toggle source
# File lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb, line 18
def validate_email(user_model)
  return if user_model.email.blank?
  return if existing_user_model.present?

  user_model.errors.add(:email, message('bad_credentials'))
  user_model.errors.add(:password, message('bad_credentials'))
end
validate_password(user_model) click to toggle source
# File lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb, line 26
def validate_password(user_model)
  return if existing_user_model.blank?
  return if user_model.password.blank?
  return if existing_user_model.secured_password == user_model.password

  user_model.errors.add(:email, message('bad_credentials'))
  user_model.errors.add(:password, message('bad_credentials'))
end

Protected Instance Methods

message(key) click to toggle source
# File lib/dash_overlord/use_cases/v1/shared/log_in/validate_user_model.rb, line 43
def message(key)
  I18n.t("v1.#{user_model_class.model_name.element}s.#{key}")
end