module Idonethis::UseCases
  class Options
    class << self
      def parse(argv={})
        args = {}

        require 'optparse'
        
        OptionParser.new do |opts|
          opts.banner = "Usage: command [options]"

          opts.on("-v", "--verbose", "Run verbosely") do |v|
            args[:verbose] = v
          end

          opts.on("-m MESSAGE", "Message") do |m|
            args[:message] = m
          end

          opts.on("-d", "Dry run") do |_|
            args[:dry_run] = true
          end
          
          opts.on("-t TEAM", "--team TEAM" "Run against this team") do |team_name|
            args[:team] = team_name
          end

          opts.on("-s WHEN", "--since WHEN" "Show git commits since when") do |value|
            args[:since] = value
          end
        end.parse!
        
        args
      end
    end
  end
end