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