class DTK::Client::Operation::Account::SetPassword
Public Class Methods
execute(args = Args.new)
click to toggle source
# File lib/client/operation/account/set_password.rb, line 21 def self.execute(args = Args.new) old_pass_prompt, old_pass, new_pass_prompt, confirm_pass_prompt = nil cred_file = Configurator::CRED_FILE old_pass = DTK::Client::Configurator.parse_key_value_file(cred_file)[:password] username = DTK::Client::Configurator.parse_key_value_file(cred_file)[:username] if old_pass.nil? OsUtil.print("Unable to retrieve your current password!", :yellow) return end 3.times do old_pass_prompt = DTK::Client::Console.password_prompt("Enter old password: ") break if (old_pass.eql?(old_pass_prompt) || old_pass_prompt.nil?) OsUtil.print("Incorrect old password!", :yellow) end return unless old_pass.eql?(old_pass_prompt) new_pass_prompt = DTK::Client::Console.password_prompt("Enter new password: ") return if new_pass_prompt.nil? confirm_pass_prompt = DTK::Client::Console.password_prompt("Confirm new password: ") if new_pass_prompt.eql?(confirm_pass_prompt) post_body = {:new_password => new_pass_prompt} response = rest_post("#{RoutePrefix}/set_password", post_body) return response unless response.ok? Configurator.regenerate_conf_file(cred_file, [['username', "#{username.to_s}"], ['password', "#{new_pass_prompt.to_s}"]], '') OsUtil.print("Password changed successfully!", :yellow) else OsUtil.print("Entered passwords don't match!", :yellow) return end end