commander-openflighthpc 1.1.1 → 1.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/commander/command.rb +4 -6
- data/lib/commander/patches/validate_inputs.rb +4 -1
- data/lib/commander/runner.rb +25 -8
- data/lib/commander/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: a40df29e6a019c3ff4bac1776e2752ceefd52ac7cf79f5e6d5d99ec32266c59b
|
4
|
+
data.tar.gz: 0fb111ee4776fd2fbcb359781e740f30572b7b0f6fb9474ddc014b11aa6c8da9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 27a69ae0244b52ddd67288b77a54cda2b0e54bc115c2212960fed7761d7aefe75fc86fb83114b328283c136aab097ae8cfa28f8be061d68891ed1900b87ff4d9
|
7
|
+
data.tar.gz: 87a25ff68ff7c522989e4c67002b6903433af6ace6a12779d23855f1be4e7d2b5257f33bd452ac708a439344f83c51ba911014b117dac90f01bfd144c8bd8714
|
data/lib/commander/command.rb
CHANGED
@@ -9,6 +9,8 @@ OptionParser.prepend Commander::Patches::ImplicitShortTags
|
|
9
9
|
OptionParser.prepend Commander::Patches::DecimalInteger
|
10
10
|
|
11
11
|
module Commander
|
12
|
+
class SubCommandGroupError < StandardError; end
|
13
|
+
|
12
14
|
class Command
|
13
15
|
prepend Patches::ValidateInputs
|
14
16
|
|
@@ -159,7 +161,7 @@ module Commander
|
|
159
161
|
alias action when_called
|
160
162
|
|
161
163
|
##
|
162
|
-
# Handles displaying subcommand help. By default it will set the action to
|
164
|
+
# Handles displaying subcommand help. By default it will set the action to
|
163
165
|
# display the subcommand if the action hasn't already been set
|
164
166
|
|
165
167
|
def sub_command_group?
|
@@ -168,11 +170,7 @@ module Commander
|
|
168
170
|
|
169
171
|
def sub_command_group=(value)
|
170
172
|
@sub_command_group = value
|
171
|
-
if
|
172
|
-
self.action {
|
173
|
-
exec("#{$0} #{ARGV.join(" ")} --help")
|
174
|
-
}
|
175
|
-
end
|
173
|
+
self.action { raise SubCommandGroupError } if value
|
176
174
|
end
|
177
175
|
|
178
176
|
def configure_sub_command(runner)
|
@@ -27,7 +27,10 @@ module Commander
|
|
27
27
|
|
28
28
|
def assert_correct_number_of_args!(args)
|
29
29
|
return if primary_command_word == 'help'
|
30
|
-
|
30
|
+
too_many = too_many_args?(args)
|
31
|
+
if too_many && sub_command_group?
|
32
|
+
raise CommandUsageError, "unrecognised command. Please select from the following:"
|
33
|
+
elsif too_many
|
31
34
|
raise CommandUsageError, "excess arguments for command '#{primary_command_word}'"
|
32
35
|
elsif too_few_args?(args)
|
33
36
|
raise CommandUsageError, "insufficient arguments for command '#{primary_command_word}'"
|
data/lib/commander/runner.rb
CHANGED
@@ -3,20 +3,37 @@ require 'paint'
|
|
3
3
|
module Commander
|
4
4
|
class Runner
|
5
5
|
DEFAULT_ERROR_HANDLER = lambda do |runner, e|
|
6
|
-
|
6
|
+
error_msg = "#{Paint[runner.program(:name), '#2794d8']}: #{Paint[e.to_s, :red, :bright]}"
|
7
7
|
case e
|
8
8
|
when OptionParser::InvalidOption,
|
9
9
|
Commander::Runner::InvalidCommandError,
|
10
10
|
Commander::Patches::CommandUsageError
|
11
|
-
|
12
|
-
|
13
|
-
if
|
14
|
-
|
15
|
-
|
16
|
-
runner.command(
|
11
|
+
# Display the error message for a specific command. Most likely due to
|
12
|
+
# invalid command syntax
|
13
|
+
if cmd = runner.active_command
|
14
|
+
$stderr.puts error_msg
|
15
|
+
$stderr.puts "\nUsage:\n\n"
|
16
|
+
runner.command('help').run(cmd.name)
|
17
|
+
# Display the main app help text when called without `--help`
|
18
|
+
elsif runner.args_without_command_name.empty?
|
19
|
+
$stderr.puts "Usage:\n\n"
|
20
|
+
runner.command('help').run(:error)
|
21
|
+
# Display the main app help text when called with arguments. Mostly
|
22
|
+
# likely an invalid syntax error
|
17
23
|
else
|
18
|
-
|
24
|
+
$stderr.puts error_msg
|
25
|
+
$stderr.puts "\nUsage:\n\n"
|
26
|
+
runner.command('help').run(:error)
|
19
27
|
end
|
28
|
+
# Display the help text for sub command groups when called without `--help`
|
29
|
+
when SubCommandGroupError
|
30
|
+
if cmd = runner.active_command
|
31
|
+
$stderr.puts "Usage:\n\n"
|
32
|
+
runner.command('help').run(cmd.name)
|
33
|
+
end
|
34
|
+
# Catch all error message for all other issues
|
35
|
+
else
|
36
|
+
$stderr.puts error_msg
|
20
37
|
end
|
21
38
|
exit(1)
|
22
39
|
end
|
data/lib/commander/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: commander-openflighthpc
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alces Flight Ltd
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2019-09-
|
13
|
+
date: 2019-09-16 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: highline
|