#!/usr/bin/env ruby # frozen_string_literal: true require_relative '../lib/coconductor' require 'thor' require 'octokit' class CoconductorCLI < Thor package_name 'Coconductor' default_task :detect class_option :remote, type: :boolean, desc: 'Assume PATH is a GitHub owner/repo path' private def path @path ||= if remote? "https://github.com/#{args.first}" else args.first || Dir.pwd end end def project @project ||= Coconductor.project(path) end def code_of_conduct project.code_of_conduct end def code_of_conduct_file project.code_of_conduct_file end def remote? options[:remote] || path =~ %r{^https://} end end commands_dir = File.expand_path '../lib/coconductor/commands/', __dir__ Dir["#{commands_dir}/*.rb"].sort.each { |c| require(c) } CoconductorCLI.start(ARGV)