Sha256: 3659145cc3de9a8731bbb0678ca3e336f4fe8ba9ce49051b4690cbf27dd1656d

Contents?: true

Size: 1.42 KB

Versions: 46

Compression:

Stored size: 1.42 KB

Contents

module Match
  # These functions should only be used while in (UI.) interactive mode
  class ChangePassword
    def self.update(params: nil, from: nil, to: nil)
      ensure_ui_interactive
      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, skip_docs: params[:skip_docs], branch: params[:git_branch])
      Encrypt.new.clear_password(params[:git_url])
      Encrypt.new.store_password(params[:git_url], to)

      message = "[fastlane] Changed passphrase"
      GitHelper.commit_changes(workspace, message, params[:git_url], params[:git_branch])
    end

    def self.ask_password(message: "Passphrase for Git Repo: ", confirm: true)
      ensure_ui_interactive
      loop do
        password = UI.password(message)
        if confirm
          password2 = UI.password("Type passphrase again: ")
          if password == password2
            return password
          end
        else
          return password
        end
        UI.error("Passphrases differ. Try again")
      end
    end

    def self.ensure_ui_interactive
      raise "This code should only run in interactive mode" unless UI.interactive?
    end

    private_class_method :ensure_ui_interactive
  end
end

Version data entries

46 entries across 46 versions & 1 rubygems

Version Path
fastlane-2.29.0.beta.20170509010055 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170508010014 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170507010054 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170506010047 match/lib/match/change_password.rb
fastlane-2.28.9 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170505010029 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170504010033 match/lib/match/change_password.rb
fastlane-2.28.8 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170503010035 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170502010055 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170501010050 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170430010051 match/lib/match/change_password.rb
fastlane-2.28.7 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170429010036 match/lib/match/change_password.rb
fastlane-2.28.6 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170428010037 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170427010043 match/lib/match/change_password.rb
fastlane-2.28.5 match/lib/match/change_password.rb
fastlane-2.29.0.beta.20170426010043 match/lib/match/change_password.rb
fastlane-2.28.4 match/lib/match/change_password.rb