class Cir::Cli::Main
Constants
- COMMANDS
Global commands
Public Instance Methods
global_opts()
click to toggle source
Global arguments
# File lib/cir/cli/main.rb, line 32 def global_opts Trollop::Parser.new do version "CIR - Configs in repository #{Cir::VERSION}" banner <<-EOS CIR - Configs in repository Keep your configuration files safely versioned in external repository. Usage: cir command [command args] Command is one of #{COMMANDS.keys}. EOS stop_on COMMANDS.keys end end
run(argv)
click to toggle source
Process given arguments and execute them
# File lib/cir/cli/main.rb, line 52 def run(argv) begin # Parse global arguments global_opts.parse argv # Specific command (must exists) cmd_name = argv.shift raise Trollop::HelpNeeded, "" unless cmd_name # Given command that is current executed @cmd = COMMANDS[cmd_name].new # Finish parsing arguments @cmd.global_args = @global_opts @cmd.args = @cmd.opts.parse(argv) @cmd.files = argv # And finally run the command @cmd.process rescue Trollop::CommandlineError => e $stderr.puts "Error: #{e.message}." $stderr.puts "Try --help for help." exit(-1) rescue Trollop::HelpNeeded # Global arguments global_opts.educate # Help for each command COMMANDS.each do |name, cmd| puts "\nCommand :#{name}\n" cmd.opts.educate end exit rescue Trollop::VersionNeeded puts global_opts.version exit end end