Sha256: 8a89060386f79cea2833fcf8075c2dd8d2f4a0a397d89a15a0d34ef88efddc39

Contents?: true

Size: 521 Bytes

Versions: 5

Compression:

Stored size: 521 Bytes

Contents

# frozen_string_literal: true

module Tramway::Auth
  class SessionForm < ::Tramway::Core::ApplicationForm
    properties :email
    attr_accessor :password

    def model_name
      User
    end

    def validate(params)
      (!model.new_record? && model.authenticate(params[:password])).tap do |result|
        add_wrong_email_or_password_error unless result
      end
    end

    private

    def add_wrong_email_or_password_error
      errors.add(:email, I18n.t('errors.wrong_email_or_password'))
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
tramway-auth-1.2.1.1 app/forms/tramway/auth/session_form.rb
tramway-auth-1.2.1 app/forms/tramway/auth/session_form.rb
tramway-auth-1.2 app/forms/tramway/auth/session_form.rb
tramway-auth-1.1.0.3 app/forms/tramway/auth/session_form.rb
tramway-auth-1.1.0.2 app/forms/tramway/auth/session_form.rb