class GemHadar

def version_push_task

configured and generate appropriate push commands for each one.
The tasks utilize the git_remotes method to determine which remotes are

tag to all remotes.
individual remote push tasks, enabling a single command to push the version
- It also defines a top-level :version:push task that depends on all the
Git remote, allowing individual pushes to specific remotes.
- It creates subtasks in the :version:push namespace for each configured

namespace:
This method sets up a hierarchical task structure under the :version

Git remotes.
The version_push_task method defines Rake tasks for pushing version tags to
def version_push_task
  namespace :version do
    git_remotes.each do |gr|
      namespace gr.to_sym do
        desc "Push version #{version} to git remote #{gr}"
        task :push do
          sh "git push #{gr} v#{version}"
        end
      end
    end
    desc "Push version #{version} to all git remotes: #{git_remotes * ' '}"
    task :push => git_remotes.map { |gr| :"version:#{gr}:push" }
  end
end