Class: EacCli::Definition::Option
Abstract
- Inherits:
-
OptionOrPositional
show all
- Defined in:
- lib/eac_cli/definition/option.rb,
lib/eac_cli/definition/option/initialize_args_parser.rb
Overview
Defined Under Namespace
Classes: InitializeArgsParser
Constant Summary
collapse
- DEFAULT_REQUIRED =
false
EacCli::Definition::OptionOrPositional::OPTION_LIST
Class Method Summary
collapse
Instance Method Summary
collapse
#optional?, #raise, #repeat?, #required?, #to_s
Constructor Details
#initialize(short, long, description, options = {}) ⇒ Object
32
33
34
35
36
37
|
# File 'lib/eac_cli/definition/option.rb', line 32
common_constructor :short, :long, :description, :options, default: [{}] do
validate
self.options = ::EacCli::Definition::Option.lists.option.hash_keys_validate!(
options.symbolize_keys
)
end
|
Instance Method Details
#default_value ⇒ Object
40
41
42
|
# File 'lib/eac_cli/definition/option.rb', line 40
def default_value
default_value? ? options[OPTION_DEFAULT] : default_default_value
end
|
#default_value? ⇒ Boolean
45
46
47
|
# File 'lib/eac_cli/definition/option.rb', line 45
def default_value?
options.key?(OPTION_DEFAULT)
end
|
#identifier ⇒ Symbol
51
52
53
54
55
56
57
|
# File 'lib/eac_cli/definition/option.rb', line 51
def identifier
[long, short].each do |v|
v.to_s.if_present { |vv| return vv.variableize.to_sym }
end
raise('No short or long option to build identifier')
end
|
#show_on_usage? ⇒ Boolean
60
61
62
|
# File 'lib/eac_cli/definition/option.rb', line 60
def show_on_usage?
options[:usage]
end
|