Sha256: b386e32bfc4c74ba944b61d602f6dbf1cafad6ee16997098c490161ee3e817af
Contents?: true
Size: 1.86 KB
Versions: 3
Compression:
Stored size: 1.86 KB
Contents
module VMC::Cli::Command class User < Base 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 unless no_prompt display "Attempting login to [#{target_url}]" if target_url 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.".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 def logout VMC::Cli::Config.remove_token_file say "Successfully logged out of [#{target_url}]".green end 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 private def login_and_save_token(email, password) token = client.login(email, password) VMC::Cli::Config.store_token(token) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
vmc-0.3.14 | lib/cli/commands/user.rb |
vmc-0.3.14.beta.4 | lib/cli/commands/user.rb |
vmc-0.3.14.beta.3 | lib/cli/commands/user.rb |