lib/cli/commands/user.rb in af-0.3.18.12 vs lib/cli/commands/user.rb in af-0.3.19.beta.1

- old
+ new

@@ -1,37 +1,41 @@ module VMC::Cli::Command class User < Base + # Errors + class InvalidLogin < VMC::Client::TargetError; end + def info info = client_info username = info[:user] || 'N/A' return display JSON.pretty_generate([username]) if @options[:json] display "\n[#{username}]" end def login(email=nil) - email = @options[:email] unless email - password = @options[:password] - tries ||= 0 + display "Attempting login to [#{target_url}]" if target_url + begin + email = @options[:email] unless email + password = @options[:password] + tries ||= 0 - unless no_prompt - display "Attempting login to [#{target_url}]" if target_url - email ||= ask("Email") - password ||= ask("Password", :echo => "*") - end + unless no_prompt + email ||= ask("Email") + password ||= ask("Password", :echo => "*") + end - err "Need a valid email" unless email - err "Need a password" unless password - login_and_save_token(email, password) - say "Successfully logged into [#{target_url}]".green - rescue VMC::Client::TargetError - display "Problem with login, invalid account or password when attempting to login to '#{target_url}'".red - retry if (tries += 1) < 3 && prompt_ok && !@options[:password] - exit 1 - rescue => e - display "Problem with login to '#{target_url}', #{e}, try again or register for an account.".red - exit 1 + err "Need a valid email" unless email + err "Need a password" unless password + login_and_save_token(email, password) + say "Successfully logged into [#{target_url}]".green + rescue VMC::Client::TargetError + if (tries += 1) < 3 && prompt_ok && !@options[:password] + display "Problem with login, invalid account or password when attempting to login to '#{target_url}'".red + retry + end + raise InvalidLogin, "Problem with login, invalid account or password when attempting to login to '#{target_url}'" + end end def logout VMC::Cli::Config.remove_token_file say "Successfully logged out of [#{target_url}]".green