class Bummr::Check

Public Instance Methods

check(fullcheck=true) click to toggle source
# File lib/bummr/check.rb, line 7
def check(fullcheck=true)
  @errors = []

  check_base_branch
  check_log
  check_status

  if fullcheck == true
    check_diff
  end

  if @errors.any?
    unless yes? "Bummr found errors! Do you want to continue anyway?".color(:red)
      exit 0
    end
  else
    puts "Ready to run bummr.".color(:green)
  end
end

Private Instance Methods

check_base_branch() click to toggle source
# File lib/bummr/check.rb, line 29
def check_base_branch
  if `git rev-parse --abbrev-ref HEAD` == "#{BASE_BRANCH}\n"
    message = "Bummr is not meant to be run on your base branch"
    puts message.color(:red)
    puts "Please checkout a branch with 'git checkout -b update-gems'"
    @errors.push message
  end
end
check_diff() click to toggle source
# File lib/bummr/check.rb, line 64
def check_diff
  unless `git diff #{BASE_BRANCH}`.empty?
    message = "Please make sure that `git diff #{BASE_BRANCH}` returns empty"
    puts message.color(:red)
    @errors.push message
  end
end
check_log() click to toggle source
# File lib/bummr/check.rb, line 38
def check_log
  unless File.directory? "log"
    message = "There is no log directory or you are not in the root"
    puts message.color(:red)
    @errors.push message
  end
end
check_status() click to toggle source
# File lib/bummr/check.rb, line 46
def check_status
  status = `git status`

  if status.index 'are currently'
    message = ""

    if status.index 'rebasing'
      message += "You are already rebasing. "
    elsif status.index 'bisecting'
      message += "You are already bisecting. "
    end

    message += "Make sure `git status` is clean"
    puts message.color(:red)
    @errors.push message
  end
end