Class: EacCli::Definition::Positional
Constant Summary
collapse
- DEFAULT_REQUIRED =
true
- DEFAULT_VISIBLE =
true
OptionOrPositional::OPTION_LIST
Instance Method Summary
collapse
#optional?, #raise, #repeat?, #required?, #to_s
Constructor Details
#initialize(name, options = {}) ⇒ Object
14
15
16
|
# File 'lib/eac_cli/definition/positional.rb', line 14
common_constructor :name, :options, default: [{}] do
options.assert_valid_keys(self.class.lists.option.values)
end
|
Instance Method Details
#build_value(new_value, previous_value) ⇒ Array
21
22
23
24
25
26
27
|
# File 'lib/eac_cli/definition/positional.rb', line 21
def build_value(new_value, previous_value)
if previous_value.is_a?(::Array)
previous_value + [new_value]
else
new_value
end
end
|
#default_value ⇒ Object
30
31
32
|
# File 'lib/eac_cli/definition/positional.rb', line 30
def default_value
repeat? ? [] : nil
end
|
#identifier ⇒ Symbol
35
36
37
|
# File 'lib/eac_cli/definition/positional.rb', line 35
def identifier
name.to_s.variableize.to_sym
end
|
#subcommand? ⇒ Boolean
40
41
42
|
# File 'lib/eac_cli/definition/positional.rb', line 40
def subcommand?
options[OPTION_SUBCOMMAND]
end
|
#visible? ⇒ Boolean
45
46
47
|
# File 'lib/eac_cli/definition/positional.rb', line 45
def visible?
options.key?(OPTION_VISIBLE) ? options.fetch(OPTION_VISIBLE) : DEFAULT_VISIBLE
end
|