lib/match/change_password.rb in match-0.2.2 vs lib/match/change_password.rb in match-0.2.3

- old
+ new

@@ -1,14 +1,30 @@ module Match class ChangePassword def self.update(params: nil, from: nil, to: nil) - to ||= UI.password("New password: ") + to ||= ChangePassword.ask_password(message: "New passphrase for Git Repo: ", confirm: false) + from ||= ChangePassword.ask_password(message: "Old passphrase for Git Repo: ", confirm: true) GitHelper.clear_changes workspace = GitHelper.clone(params[:git_url], params[:shallow_clone], manual_password: from) Encrypt.new.clear_password(params[:git_url]) Encrypt.new.store_password(params[:git_url], to) - message = "[fastlane] Changed password" + message = "[fastlane] Changed passphrase" GitHelper.commit_changes(workspace, message, params[:git_url]) + end + + def self.ask_password(message: "Passphrase for Git Repo: ", confirm: true) + loop do + password = ask(message.yellow) { |q| q.echo = "*" } + if confirm + password2 = ask("Type passphrase again: ".yellow) { |q| q.echo = "*" } + if password == password2 + return password + end + else + return password + end + UI.error("Passhprases differ. Try again") + end end end end