class ConfC::CLI
ConfC's CLI
class.
Public Class Methods
parse(argv)
click to toggle source
Parse CLI
ARGV.
# File lib/confc/cli.rb, line 50 def self.parse(argv) options = ConfC.load_config parser = OptionParser.new do |opts| opts.banner = BANNER opts.on('-p', '--path [PATH]', String, 'Path to configuration files') do |p| options[:path] = p end opts.on('-f', '--overwrite', 'Force to overwrite') do options[:overwrite] = true end opts.on('-y', '--yes', 'Say yes without inquiry') do options[:yes] = true end opts.on('-v', '--verbose', 'Display more information') do options[:verbose] = true end opts.on('-V', '--version', 'Show version number') do puts "v#{ConfC::VERSION}" exit end opts.on('-h', '--help', 'Show help') do puts opts exit end end files = parser.parse(argv) options[:files] = ConfC.to_filenames(files) if files.is_a?(Array) && !files.empty? options end
start(argv)
click to toggle source
Start CLI
.
# File lib/confc/cli.rb, line 34 def self.start(argv) options = CLI.parse(argv) files = options[:files] confc_options = { overwrite: options[:overwrite], verbose: options[:verbose] } existent_files = ConfC.get_existent_files(options[:path], files) chosen_files = options[:yes] ? existent_files : ConfC.ask_choose_files(existent_files) confc_result = ConfC.conf_clone(chosen_files, options[:path], confc_options) puts Rainbow("ConfC completed. #{AWW}").green if confc_result end