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