#!/usr/bin/env ruby require_relative '../lib/pair_see/seer' require 'trollop' opts = Trollop.options do opt :root, 'Folder in which .git folder is', default: '.' opt :config, 'location of config file, example: ../../config/config.yml', default: "config/config.yml" opt :after, 'Date since which you want to get commits, in yyyy-mm-dd format', default: '0-1-1' opt :extras, 'See all commits without the name of any dev in them', default: false opt :latest, 'See dates of most recent commits by pairs', default: false opt :recommended, 'See active devs who have not paired (and therefore should)', default: false opt :cards, 'See cards and number of commits on each', default: false opt :cards_per_person, 'See cards for each dev', default: false end def run_command(opts) begin config = YAML.load_file(opts[:config]) rescue puts "Config file not found at: " + opts[:config] + " See config/config.yml.sample for an example. ....exiting" exit end options = { names: config['names'].split(' '), card_prefix: config['card_prefix'], after_date: opts[:after], repo_location: opts[:root] } seer = PairSee::Seer.new(options) if opts[:extras] seer.commits_not_by_known_pair elsif opts[:latest] seer.all_most_recent_commits elsif opts[:recommended] seer.recommended_pairings elsif opts[:cards] seer.pretty_card_data elsif opts[:cards_per_person] seer.cards_per_person else seer.all_commits end end puts run_command(opts).join("\n")