Sha256: f1f9b2808a34dbd48ce11d3e51f8efe5927b87d08a3ff2a502fd33571850798c

Contents?: true

Size: 1.24 KB

Versions: 61

Compression:

Stored size: 1.24 KB

Contents

# frozen_string_literal: true

# takelage git check clean
module GitCheckClean
  # Backend method for git check clean.
  # @return [Boolean] is git workspace clean?
  def git_check_clean
    log.debug 'Checking if git workspace is clean'

    return false unless git_check_workspace

    status_unstaged = _git_check_clean_get_status_unstaged
    status_uncommitted = _git_check_clean_get_status_uncommitted
    stdout_str_status = _git_check_clean_get_str_status

    # only return true if neither unstaged nor uncommitted nor empty files
    sum = status_unstaged.exitstatus +
          status_uncommitted.exitstatus +
          stdout_str_status.length

    sum.zero?
  end

  private

  # Get git status of unstaged changes.
  def _git_check_clean_get_status_unstaged
    cmd_git_unstaged =
      config.active['cmd_git_check_clean_git_unstaged']
    try cmd_git_unstaged
  end

  # Get git status of uncommitted changes.
  def _git_check_clean_get_status_uncommitted
    cmd_git_uncommitted =
      config.active['cmd_git_check_clean_git_uncommitted']
    try cmd_git_uncommitted
  end

  # Get git status result.
  def _git_check_clean_get_str_status
    cmd_git_status =
      config.active['cmd_git_check_clean_git_status']
    run cmd_git_status
  end
end

Version data entries

61 entries across 61 versions & 1 rubygems

Version Path
takelage-0.33.1 lib/takelage/git/check/clean.rb
takelage-0.32.4 lib/takelage/git/check/clean.rb
takelage-0.32.3 lib/takelage/git/check/clean.rb
takelage-0.32.1 lib/takelage/git/check/clean.rb
takelage-0.32.0 lib/takelage/git/check/clean.rb
takelage-0.31.0 lib/takelage/git/check/clean.rb
takelage-0.30.6 lib/takelage/git/check/clean.rb
takelage-0.30.5 lib/takelage/git/check/clean.rb
takelage-0.30.1 lib/takelage/git/check/clean.rb
takelage-0.30.0 lib/takelage/git/check/clean.rb
takelage-0.29.14 lib/takelage/git/check/clean.rb
takelage-0.29.13 lib/takelage/git/check/clean.rb
takelage-0.29.11 lib/takelage/git/check/clean.rb
takelage-0.29.10 lib/takelage/git/check/clean.rb
takelage-0.29.8 lib/takelage/git/check/clean.rb
takelage-0.29.6 lib/takelage/git/check/clean.rb
takelage-0.29.0 lib/takelage/git/check/clean.rb
takelage-0.28.26 lib/takelage/git/check/clean.rb
takelage-0.28.24 lib/takelage/git/check/clean.rb
takelage-0.28.14 lib/takelage/git/check/clean.rb