budget/app/models/session.rb

22 lines
427 B
Ruby

class Session
include ActiveModel::Model
include ActiveModel::Attributes
include ActiveModel::Validations
attr_accessor :user_id
attribute :email, :string
attribute :password, :string
validates :email, presence: true
validates :password, presence: true
def save
user = User.authenticate_by(email: email, password: password)
@user_id = user && user.id
user.present? && self || nil
end
end