Sha256: 59af974a3df52941c68d1dfe60bcaf6992ffc0bffae99ea2b4e87e853bf4ac79

Contents?: true

Size: 1.49 KB

Versions: 14

Compression:

Stored size: 1.49 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])
      GitHelper.check_push_repo_permission(workspace, 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("Passhprases 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

14 entries across 14 versions & 1 rubygems

Version Path
fastlane-2.26.0.beta.20170405010026 match/lib/match/change_password.rb
fastlane-2.26.0.beta.20170404010022 match/lib/match/change_password.rb
fastlane-2.25.0 match/lib/match/change_password.rb
fastlane-2.25.0.beta.20170403010018 match/lib/match/change_password.rb
fastlane-2.25.0.beta.20170402010035 match/lib/match/change_password.rb
fastlane-2.25.0.beta.20170401010021 match/lib/match/change_password.rb
fastlane-2.25.0.beta.20170331010039 match/lib/match/change_password.rb
fastlane-2.25.0.beta.20170330225747 match/lib/match/change_password.rb
fastlane-2.24.0 match/lib/match/change_password.rb
fastlane-2.24.0.beta.20170330010023 match/lib/match/change_password.rb
fastlane-2.24.0.beta.20170329010023 match/lib/match/change_password.rb
fastlane-2.24.0.beta.20170328010037 match/lib/match/change_password.rb
fastlane-2.24.0.beta.20170327010009 match/lib/match/change_password.rb
fastlane-2.24.0.beta.20170326010023 match/lib/match/change_password.rb