#!/usr/bin/env ruby

require 'docopt'
load File.expand_path(File.join(__dir__, '..', 'lib', 'metrics.rb'))

# Parse options
DOC =<<DOCOPT
Count releases in a given year (2012 - present).

Usage:
#{__FILE__} in-year YEAR
#{__FILE__} per-day-in-year YEAR
#{__FILE__} per-week-in-year YEAR
#{__FILE__} of-pe-in-year YEAR
#{__FILE__} of-foss-in-year YEAR
#{__FILE__} by-project-in-year YEAR --project PROJECT
DOCOPT

begin
  options = Docopt::docopt(DOC)
rescue Docopt::Exit => e
  puts "ERROR: Option parsing failed."
  puts e.message
  exit 1
end

# Do the thing
year = options['YEAR']

if options['in-year']
  count = Metrics.releases_in_year(year)
  puts "There have been #{count} total releases in #{year}"
end
if options['per-day-in-year']
  count = Metrics.releases_per_day_in_year(year)
  puts "There have been #{count} releases per day in #{year}"
end
if options['per-week-in-year']
  count = Metrics.releases_per_week_in_year(year)
  puts "There have been #{count} releases per week in #{year}"
end
if options['of-pe-in-year']
  count = Metrics.pe_releases_in_year(year)
  puts "There have been #{count} PE releases in #{year}"
end
if options['of-foss-in-year']
  count = Metrics.foss_releases_in_year(year)
  puts "There have been #{count} FOSS releases in #{year}"
end
if options['by-project-in-year']
  project = options['PROJECT']
  count = Metrics.releases_of_project_in_year(year, project)
  puts "There have been #{count} releases of #{project} in #{year}"
end
