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_base, #target_url

Constructor Details

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

Instance Method Details

#change_password(password = nil) ⇒ Object



40
41
42
43
44
45
46
47
48
49
50
51
52
53
# File 'lib/cli/commands/user.rb', line 40

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", :echo => "*"
    password2 = ask "Verify Password", :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
30
31
32
33
# File 'lib/cli/commands/user.rb', line 12

def (email=nil)
  email    = @options[:email] unless email
  password = @options[:password]
  tries ||= 0

  unless no_prompt
    email ||= ask("Email")
    password ||= ask("Password", :echo => "*")
  end

  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



35
36
37
38
# File 'lib/cli/commands/user.rb', line 35

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