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 = ENV.fetch('VERSION', version).dup.prepend(?v) my_versions = versions.map { _1.prepend(?v) } + %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