class Convoy::GlobalPreParser

Attributes

setup[R]

Public Class Methods

new(setup) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 5
def initialize(setup)
    @setup = setup
end

Public Instance Methods

parse(cli_options) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 9
def parse(cli_options)
    AutoOptions.new(parse_global_options(cli_options))
end

Private Instance Methods

add_setup_options_to(parser, context = []) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 30
def add_setup_options_to(parser, context = [])
    setup.options_for(context).each do |name, opts|
        parser.opt name, opts[:desc] || "", opts
    end
    parser
end
init_parser(stop_words) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 24
def init_parser(stop_words)
    Trollop::Parser.new.tap do |parser|
        parser.stop_on(stop_words)
    end
end
parse_global_options(cli_options, context = []) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 15
def parse_global_options(cli_options, context = [])
    stop_words = setup.command_names_for(context).map(&:to_s)
    parser     = init_parser(stop_words)
    parser     = add_setup_options_to(parser, context)
    parser.version(setup.version) #set the version if it was provided
    parser.help_formatter(Convoy::Formatter::DefaultHelpFormatter.new(setup, context))
    parsed_options = parse_options_string(parser, cli_options)
end
parse_options_string(parser, cli_options) click to toggle source
# File lib/convoy/global_pre_parser.rb, line 37
def parse_options_string(parser, cli_options)
    Trollop::with_standard_exception_handling(parser) do
        parser.parse(cli_options)
    end
end