Class: VMC::Cli::Command::User

Inherits:
Base show all
Defined in:
lib/cli/commands/user.rb

Instance Attribute Summary

Attributes inherited from Base

#no_prompt, #prompt_ok

Instance Method Summary collapse

Methods inherited from Base

#auth_token, #client, #client_info, #frameworks_info, #initialize, #runtimes_info, #target_url

Constructor Details

This class inherits a constructor from VMC::Cli::Command::Base

Instance Method Details

#change_password(password = nil) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
# File 'lib/cli/commands/user.rb', line 36

def change_password(password=nil)
  info = client_info
  email = info[:user]
  err "Need to be logged in to change password." unless email
  say "Changing password for '#{email}'\n"
  unless no_prompt
    password = ask("New Password: ") {|q| q.echo = '*'}
    password2 = ask("Verify Password: ") {|q| q.echo = '*'}
    err "Passwords did not match, try again" if password != password2
  end
  err "Password required" unless password
  client.change_password(password)
  say "\nSuccessfully changed password".green
end

#infoObject



5
6
7
8
9
10
# File 'lib/cli/commands/user.rb', line 5

def info
  info = client_info
  username = info[:user] || 'N/A'
  return display JSON.pretty_generate([username]) if @options[:json]
  display "\n[#{username}]"
end

#login(email = nil) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/cli/commands/user.rb', line 12

def (email=nil)
  email    = @options[:email] unless email
  password = @options[:password]
  tries = 0
  email = ask("Email: ") unless no_prompt || email
  password = ask("Password: ") {|q| q.echo = '*'} unless no_prompt || password
  err "Need a valid email" unless email
  err "Need a password" unless password
  (email, password)
  say "Successfully logged into [#{target_url}]".green
rescue VMC::Client::TargetError
  display "Problem with login, invalid account or password.".red
  retry if (tries += 1) < 3 && prompt_ok && !@options[:password]
  exit 1
rescue => e
  display "Problem with login, #{e}, try again or register for an account.".red
  exit 1
end

#logoutObject



31
32
33
34
# File 'lib/cli/commands/user.rb', line 31

def logout
  VMC::Cli::Config.remove_token_file
  say "Successfully logged out of [#{target_url}]".green
end