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
17
18
19
|
# File 'lib/eac_cli/definition/positional.rb', line 17
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
24
25
26
27
28
29
30
|
# File 'lib/eac_cli/definition/positional.rb', line 24
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
33
34
35
|
# File 'lib/eac_cli/definition/positional.rb', line 33
def default_value
repeat? ? [] : nil
end
|
#identifier ⇒ Symbol
38
39
40
|
# File 'lib/eac_cli/definition/positional.rb', line 38
def identifier
name.to_s.variableize.to_sym
end
|
#subcommand? ⇒ Boolean
43
44
45
|
# File 'lib/eac_cli/definition/positional.rb', line 43
def subcommand?
options[OPTION_SUBCOMMAND]
end
|
#visible? ⇒ Boolean
48
49
50
|
# File 'lib/eac_cli/definition/positional.rb', line 48
def visible?
options.key?(OPTION_VISIBLE) ? options.fetch(OPTION_VISIBLE) : DEFAULT_VISIBLE
end
|