main
 1class LoginCommand
 2  def initialize(users = User)
 3    @users = users
 4  end
 5
 6  def run(context)
 7    user = @users.find_by(email: context.params[:email])
 8    return nil unless user
 9
10    if user && (user_session = user.login(context.params[:password]))
11      user_session.access(context.request)
12    end
13  end
14end