eac_cli 0.18.0 → 0.19.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/eac_cli/config/entry.rb +2 -0
- data/lib/eac_cli/definition/positional_argument.rb +6 -1
- data/lib/eac_cli/docopt/doc_builder/alternative.rb +3 -1
- data/lib/eac_cli/runner_with/help.rb +6 -2
- data/lib/eac_cli/runner_with/subcommands.rb +5 -1
- data/lib/eac_cli/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: cfee9c78c899be3c4e2d36915e4d0cac08cf5f2a63269813b5c05527a06d0e75
|
4
|
+
data.tar.gz: c0374336ed9fea6c351ce00b0a9e5e210b53ca7a34c201dc1a0699fcda12b943
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d2e1c8009e10490cde982e4d8cc0fce02d67d0114ddb3a852180298c6f83edd7d5e4e2ee0bf04188199d615739297b3fdbf41a61d532e6614b86dece3c63b864
|
7
|
+
data.tar.gz: fba7139e87ea3959a2498f20d83a08d19c299acd71e576ed0d446ca47a77bb97ab9e670c4280984001feb6467d6cdd01d3a989dc6b44b5e4d5345d9f87c66a0c
|
data/lib/eac_cli/config/entry.rb
CHANGED
@@ -6,9 +6,10 @@ module EacCli
|
|
6
6
|
class Definition
|
7
7
|
class PositionalArgument
|
8
8
|
DEFAULT_REQUIRED = true
|
9
|
+
DEFAULT_VISIBLE = true
|
9
10
|
|
10
11
|
enable_listable
|
11
|
-
lists.add_symbol :option, :optional, :repeat, :required, :subcommand
|
12
|
+
lists.add_symbol :option, :optional, :repeat, :required, :subcommand, :visible
|
12
13
|
common_constructor :name, :options, default: [{}] do
|
13
14
|
options.assert_valid_keys(self.class.lists.option.values)
|
14
15
|
end
|
@@ -51,6 +52,10 @@ module EacCli
|
|
51
52
|
def to_s
|
52
53
|
"#{self.class.name.demodulize}[#{identifier}]"
|
53
54
|
end
|
55
|
+
|
56
|
+
def visible?
|
57
|
+
options.key?(OPTION_VISIBLE) ? options.fetch(OPTION_VISIBLE) : DEFAULT_VISIBLE
|
58
|
+
end
|
54
59
|
end
|
55
60
|
end
|
56
61
|
end
|
@@ -31,10 +31,12 @@ module EacCli
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def positionals
|
34
|
-
alternative.positional.map { |p| positional(p) }
|
34
|
+
alternative.positional.map { |p| positional(p) }.reject(&:blank?)
|
35
35
|
end
|
36
36
|
|
37
37
|
def positional(positional)
|
38
|
+
return unless positional.visible?
|
39
|
+
|
38
40
|
if positional.subcommand?
|
39
41
|
::EacCli::DocoptRunner::SUBCOMMANDS_MACRO
|
40
42
|
else
|
@@ -10,8 +10,8 @@ module EacCli
|
|
10
10
|
include ::EacCli::Runner
|
11
11
|
|
12
12
|
runner_definition.alt do
|
13
|
-
options_argument false
|
14
13
|
bool_opt '-h', '--help', 'Show help.', usage: true
|
14
|
+
pos_arg :any_arg_with_help, repeat: true, optional: true, visible: false
|
15
15
|
end
|
16
16
|
|
17
17
|
set_callback :run, :before do
|
@@ -20,7 +20,7 @@ module EacCli
|
|
20
20
|
end
|
21
21
|
|
22
22
|
def help_run
|
23
|
-
return unless
|
23
|
+
return unless show_help?
|
24
24
|
|
25
25
|
puts help_text
|
26
26
|
raise ::EacCli::Runner::Exit
|
@@ -31,6 +31,10 @@ module EacCli
|
|
31
31
|
r += help_extra_text if respond_to?(:help_extra_text)
|
32
32
|
r
|
33
33
|
end
|
34
|
+
|
35
|
+
def show_help?
|
36
|
+
parsed.help? && !if_respond(:run_subcommand?, false)
|
37
|
+
end
|
34
38
|
end
|
35
39
|
end
|
36
40
|
end
|
@@ -60,7 +60,7 @@ module EacCli
|
|
60
60
|
end
|
61
61
|
|
62
62
|
def run_with_subcommand
|
63
|
-
if
|
63
|
+
if run_subcommand?
|
64
64
|
if subcommand_runner.respond_to?(:run_run)
|
65
65
|
subcommand_runner.run_run
|
66
66
|
else
|
@@ -79,6 +79,10 @@ module EacCli
|
|
79
79
|
"Method #{__method__} should be overrided in #{self.class.name}"
|
80
80
|
end
|
81
81
|
|
82
|
+
def run_subcommand?
|
83
|
+
subcommand_name.present?
|
84
|
+
end
|
85
|
+
|
82
86
|
def subcommands?
|
83
87
|
self.class.runner_definition.subcommands?
|
84
88
|
end
|
data/lib/eac_cli/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eac_cli
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.19.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Esquilo Azul Company
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-06-
|
11
|
+
date: 2021-06-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: colorize
|