Sha256: 6ec5b8ee3637c2f712c313048f056f0c60119f3d5b41bb0653acbfe58f58e49a
Contents?: true
Size: 1.01 KB
Versions: 232
Compression:
Stored size: 1.01 KB
Contents
# frozen_string_literal: true module EacCli class Parser class Alternative module LongOptions LONG_OPTION_PREFIX = '--' OPTION_WITH_ARGUMENT_PATTERN = /\A([^=]+)(?:=(.*))\z/.freeze private def argv_current_long_option? phase == PHASE_ANY && argv_enum.peek.start_with?(LONG_OPTION_PREFIX) && !argv_current_double_dash? end def long_option_collect_argv_value option_long, value = parse_option_current_argv alternative.options.any? do |option| next false unless option.long == option_long if value.nil? option_collect_option(option) else option_argument_collect(option, value) end end || raise_argv_current_invalid_option end def parse_option_current_argv m = OPTION_WITH_ARGUMENT_PATTERN.match(argv_enum.peek) m ? [m[1], m[2].if_present('')] : [argv_enum.peek, nil] end end end end end
Version data entries
232 entries across 232 versions & 4 rubygems