Sha256: 61fb1a7b70adac409b64e8fc97734dca984c2e84eff78a285b8888f1400323ea
Contents?: true
Size: 888 Bytes
Versions: 1
Compression:
Stored size: 888 Bytes
Contents
# frozen_string_literal: true require 'eac_ruby_utils/core_ext' module EacCli class Definition class PositionalArgument DEFAULT_REQUIRED = true enable_listable lists.add_symbol :option, :optional, :repeat, :required, :subcommand common_constructor :name, :options, default: [{}] do options.assert_valid_keys(self.class.lists.option.values) end def identifier name.to_s.variableize.to_sym end def optional? !required? end def repeat? options[OPTION_REPEAT] end def required? return true if options.key?(OPTION_REQUIRED) && options.fetch(OPTION_REQUIRED) return false if options.key?(OPTION_OPTIONAL) && options.fetch(OPTION_OPTIONAL) DEFAULT_REQUIRED end def subcommand? options[OPTION_SUBCOMMAND] end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
eac_cli-0.11.0 | lib/eac_cli/definition/positional_argument.rb |