class Devpad::CLI::Commands::User::Login

Public Class Methods

new(shell:) click to toggle source
# File lib/devpad/cli/commands/user/login.rb, line 6
def initialize(shell:)
  @shell = shell
  @cli = HighLine.new
end

Public Instance Methods

execute() click to toggle source
# File lib/devpad/cli/commands/user/login.rb, line 11
def execute
  @shell.say 'Sign-in to Devpad'

  email    = @cli.ask('Enter your e-mail: ')
  password = @cli.ask('Enter your password: ') { |q| q.echo = '*' }

  if email.present? && password.present?
    return false if (auth_token = Devpad::API::User.authenticate(email, password)).blank?
    Devpad::User.auth_token = auth_token
    Devpad::User.save!
    Devpad::Configuration.instance.user_api_key = Devpad::User.auth_token
    Devpad::API::Client.reset_instance
    return true
  end
  false
end