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, #initialize, #target_url
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
|
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 login(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
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.".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
|
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
|