class GemHadar

def version_diff_task

def version_diff_task
  namespace :version do
    desc "List all versions in order"
    task :list do
      system 'git fetch --tags'
      $?.success? or exit $?.exitstatus
      puts versions
    end
    desc "Displaying the diff from env var VERSION to the next version or HEAD"
    task :diff do
      arg_version = version_identifier(ENV.fetch('VERSION', version))
      my_versions = versions.map { version_identifier(_1) } + %w[ HEAD ]
      start_version, end_version = my_versions[my_versions.index(arg_version), 2]
      puts color(172) {"Showing diff from version %s to %s:" % [ start_version, end_version ]}
      puts `git diff --color=always #{start_version}..#{end_version}`
    end
  end
end