class GemHadar

def push_task

def push_task
  master_prepare_task
  version_push_task
  master_push_task
  gem_push_task
  git_remotes_task
  github_release_task
  task :modified do
    changed_files = `git status --porcelain`.gsub(/^\s*\S\s+/, '').lines
    unless changed_files.empty?
      warn "There are still modified files:\n#{changed_files * ''}"
      exit 1
    end
  end
  desc "Push master and version #{version} all git remotes: #{git_remotes * ' '}"
  task :push => %i[ modified build master:push version:push gem:push github:release ]
end