class Vanagon::CLI
Constants
- DOCUMENTATION
Public Instance Methods
options_translate(docopt_options)
click to toggle source
Provide a translation from parsed docopt options to older optparse options
# File lib/vanagon/cli.rb, line 95 def options_translate(docopt_options) docopt_options end
options_validate(options)
click to toggle source
Do validation of options
# File lib/vanagon/cli.rb, line 90 def options_validate(options) options end
parse(argv)
click to toggle source
# File lib/vanagon/cli.rb, line 45 def parse(argv) # rubocop:disable Metrics/AbcSize parsed_options = parse_options(argv) sub_command = parsed_options['<command>'] sub_argv = parsed_options['<args>'] case sub_command when 'build' @sub_parser = Vanagon::CLI::Build.new when 'build_host_info' @sub_parser = Vanagon::CLI::BuildHostInfo.new when 'build_requirements' @sub_parser = Vanagon::CLI::BuildRequirements.new when 'completion' @sub_parser = Vanagon::CLI::Completion.new when 'inspect' @sub_parser = Vanagon::CLI::Inspect.new when 'render' @sub_parser = Vanagon::CLI::Render.new when 'list' @sub_parser = Vanagon::CLI::List.new when 'sign' @sub_parser = Vanagon::CLI::Sign.new when 'ship' @sub_parser = Vanagon::CLI::Ship.new when 'dependencies' @sub_parser = Vanagon::CLI::Dependencies.new when 'help' puts DOCUMENTATION exit 0 else VanagonLogger.error "vanagon: Error: unknown command: \"#{sub_command}\"\n\n#{DOCUMENTATION}" exit 1 end raw_options = @sub_parser.parse(sub_argv) options = @sub_parser.options_translate(raw_options) @sub_parser.options_validate(options) return options end
run(options)
click to toggle source
# File lib/vanagon/cli.rb, line 85 def run(options) @sub_parser.run(options) end
Private Instance Methods
parse_options(argv)
click to toggle source
# File lib/vanagon/cli.rb, line 101 def parse_options(argv) Docopt.docopt(DOCUMENTATION, { argv: argv, options_first: true }) rescue Docopt::Exit => e VanagonLogger.error e.message exit 1 end