pennyworth 10.0.1 → 11.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (68) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data.tar.gz.sig +0 -0
  4. data/README.adoc +352 -31
  5. data/bin/pennyworth +1 -3
  6. data/lib/pennyworth.rb +11 -2
  7. data/lib/pennyworth/cli/actions/config.rb +35 -0
  8. data/lib/pennyworth/cli/actions/encodings.rb +23 -0
  9. data/lib/pennyworth/cli/actions/git_hub.rb +27 -0
  10. data/lib/pennyworth/cli/actions/http_statuses.rb +23 -0
  11. data/lib/pennyworth/cli/actions/ruby_gems.rb +27 -0
  12. data/lib/pennyworth/cli/actions/system/errors.rb +25 -0
  13. data/lib/pennyworth/cli/actions/system/signals.rb +25 -0
  14. data/lib/pennyworth/cli/actions/text.rb +23 -0
  15. data/lib/pennyworth/cli/configuration/content.rb +28 -0
  16. data/lib/pennyworth/cli/configuration/defaults.yml +25 -0
  17. data/lib/pennyworth/cli/configuration/loader.rb +37 -0
  18. data/lib/pennyworth/cli/parsers.rb +11 -0
  19. data/lib/pennyworth/cli/parsers/assembler.rb +32 -0
  20. data/lib/pennyworth/cli/parsers/core.rb +100 -0
  21. data/lib/pennyworth/cli/parsers/git_hub.rb +51 -0
  22. data/lib/pennyworth/cli/parsers/ruby_gems.rb +35 -0
  23. data/lib/pennyworth/cli/shell.rb +81 -0
  24. data/lib/pennyworth/container.rb +40 -0
  25. data/lib/pennyworth/identity.rb +2 -1
  26. data/lib/pennyworth/inflector.rb +18 -0
  27. data/lib/pennyworth/integrations/git_hub/client.rb +59 -0
  28. data/lib/pennyworth/integrations/git_hub/response.rb +33 -0
  29. data/lib/pennyworth/integrations/ruby_gems/client.rb +29 -0
  30. data/lib/pennyworth/loaders/encodings.rb +31 -0
  31. data/lib/pennyworth/loaders/http_statuses.rb +28 -0
  32. data/lib/pennyworth/loaders/projects.rb +22 -0
  33. data/lib/pennyworth/loaders/system/errors.rb +33 -0
  34. data/lib/pennyworth/loaders/system/signals.rb +21 -0
  35. data/lib/pennyworth/loaders/text.rb +27 -0
  36. data/lib/pennyworth/models/encoding.rb +8 -0
  37. data/lib/pennyworth/models/http_status.rb +8 -0
  38. data/lib/pennyworth/models/system/error.rb +10 -0
  39. data/lib/pennyworth/models/system/signal.rb +10 -0
  40. data/lib/pennyworth/models/text.rb +8 -0
  41. data/lib/pennyworth/presenters/encoding.rb +22 -0
  42. data/lib/pennyworth/presenters/gem.rb +48 -0
  43. data/lib/pennyworth/presenters/http_status.rb +41 -0
  44. data/lib/pennyworth/presenters/repository.rb +35 -0
  45. data/lib/pennyworth/presenters/system/error.rb +28 -0
  46. data/lib/pennyworth/presenters/system/signal.rb +22 -0
  47. data/lib/pennyworth/presenters/text.rb +25 -0
  48. data/lib/pennyworth/processor.rb +68 -0
  49. data/lib/pennyworth/serializers/encoding.rb +33 -0
  50. data/lib/pennyworth/serializers/http_status.rb +41 -0
  51. data/lib/pennyworth/serializers/project.rb +52 -0
  52. data/lib/pennyworth/serializers/system/error.rb +46 -0
  53. data/lib/pennyworth/serializers/system/signal.rb +40 -0
  54. data/lib/pennyworth/serializers/text.rb +31 -0
  55. metadata +110 -19
  56. metadata.gz.sig +0 -0
  57. data/lib/pennyworth/cli.rb +0 -140
  58. data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/icon.png +0 -0
  59. data/lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/info.plist +0 -159
  60. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/icon.png +0 -0
  61. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/info.plist +0 -272
  62. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-camelcase.png +0 -0
  63. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-capitalize.png +0 -0
  64. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-lowercase.png +0 -0
  65. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-size.png +0 -0
  66. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-snakecase.png +0 -0
  67. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-titleize.png +0 -0
  68. data/lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-uppercase.png +0 -0
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ # Serializes a HTTP status into a compatible format for parsing within Alfred script filters.
6
+ class HTTPStatus
7
+ def initialize presenter
8
+ @presenter = presenter
9
+ end
10
+
11
+ def to_h
12
+ {
13
+ uid: id,
14
+ title: code,
15
+ subtitle: label,
16
+ arg: presenter.symbol,
17
+ mods: modifications,
18
+ text: {copy: "#{code} #{label}", largetype: "#{code} #{label}"}
19
+ }
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :presenter
25
+
26
+ def id = presenter.id
27
+
28
+ def code = presenter.code
29
+
30
+ def label = presenter.label
31
+
32
+ def modifications
33
+ {
34
+ control: {subtitle: "Copy code.", arg: id},
35
+ alt: {subtitle: "Copy label.", arg: label},
36
+ cmd: {subtitle: "View documentation.", arg: presenter.url}
37
+ }
38
+ end
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ # Serializes a project into a compatible format for parsing within Alfred script filters.
6
+ class Project
7
+ def initialize presenter
8
+ @presenter = presenter
9
+ end
10
+
11
+ def to_h
12
+ {
13
+ uid: presenter.id,
14
+ title: presenter.label,
15
+ subtitle: presenter.subtitle,
16
+ arg: site_url,
17
+ quicklookurl: site_url,
18
+ mods: modifications,
19
+ text: text
20
+ }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :presenter
26
+
27
+ def modifications
28
+ {
29
+ control: modification(presenter.changes_url, "View changes."),
30
+ alt: modification(presenter.source_url, "View source."),
31
+ cmd: modification(presenter.issues_url, "View issues.")
32
+ }
33
+ end
34
+
35
+ def modification argument, subtitle
36
+ {
37
+ subtitle: subtitle,
38
+ arg: argument
39
+ }
40
+ end
41
+
42
+ def text
43
+ {
44
+ copy: site_url,
45
+ largetype: site_url
46
+ }
47
+ end
48
+
49
+ def site_url = presenter.site_url
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,46 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ module System
6
+ # Serializes a system error into a compatible format for parsing within Alfred script filters.
7
+ class Error
8
+ def initialize presenter
9
+ @presenter = presenter
10
+ end
11
+
12
+ def to_h
13
+ {
14
+ uid: id,
15
+ title: id,
16
+ subtitle: presenter.subtitle,
17
+ arg: label,
18
+ mods: modifications,
19
+ text: {copy: label, largetype: label}
20
+ }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :presenter
26
+
27
+ def id = presenter.id
28
+
29
+ def label = presenter.label
30
+
31
+ def description = presenter.description
32
+
33
+ def modifications
34
+ {
35
+ control: {subtitle: "Copy ID.", arg: id},
36
+ alt: {subtitle: "Copy description.", arg: description},
37
+ cmd: {
38
+ subtitle: "Copy ID, name, and description.",
39
+ arg: "#{id}, #{label}, #{description}"
40
+ }
41
+ }
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -0,0 +1,40 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ module System
6
+ # Serializes a signal into a compatible format for parsing within Alfred script filters.
7
+ class Signal
8
+ def initialize presenter
9
+ @presenter = presenter
10
+ end
11
+
12
+ def to_h
13
+ {
14
+ uid: id,
15
+ title: label,
16
+ subtitle: id,
17
+ arg: label,
18
+ mods: modifications,
19
+ text: {copy: label, largetype: label}
20
+ }
21
+ end
22
+
23
+ private
24
+
25
+ attr_reader :presenter
26
+
27
+ def id = presenter.id
28
+
29
+ def label = presenter.label
30
+
31
+ def modifications
32
+ {
33
+ alt: {subtitle: "Copy ID.", arg: id},
34
+ cmd: {subtitle: "Copy ID and name.", arg: "#{id}, #{label}"}
35
+ }
36
+ end
37
+ end
38
+ end
39
+ end
40
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Pennyworth
4
+ module Serializers
5
+ # Serializes a text into a compatible format for parsing within Alfred script filters.
6
+ class Text
7
+ def initialize presenter
8
+ @presenter = presenter
9
+ end
10
+
11
+ def to_h
12
+ {
13
+ uid: id,
14
+ title: presenter.label,
15
+ subtitle: id.capitalize,
16
+ arg: content,
17
+ icon: {path: "text/#{id}.png"},
18
+ text: {copy: content, largetype: content}
19
+ }
20
+ end
21
+
22
+ private
23
+
24
+ attr_reader :presenter
25
+
26
+ def id = presenter.id
27
+
28
+ def content = presenter.content
29
+ end
30
+ end
31
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pennyworth
3
3
  version: !ruby/object:Gem::Version
4
- version: 10.0.1
4
+ version: 11.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brooke Kuhlmann
@@ -28,8 +28,64 @@ cert_chain:
28
28
  lkHilIrX69jq8wMPpBhlaw2mRmeSL50Wv5u6xVBvOHhXFSP1crXM95vfLhLyRYod
29
29
  W2A=
30
30
  -----END CERTIFICATE-----
31
- date: 2021-04-18 00:00:00.000000000 Z
31
+ date: 2021-07-24 00:00:00.000000000 Z
32
32
  dependencies:
33
+ - !ruby/object:Gem::Dependency
34
+ name: dry-container
35
+ requirement: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '0.8'
40
+ type: :runtime
41
+ prerelease: false
42
+ version_requirements: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - "~>"
45
+ - !ruby/object:Gem::Version
46
+ version: '0.8'
47
+ - !ruby/object:Gem::Dependency
48
+ name: http
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '5.0'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
59
+ - !ruby/object:Gem::Version
60
+ version: '5.0'
61
+ - !ruby/object:Gem::Dependency
62
+ name: pastel
63
+ requirement: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - "~>"
66
+ - !ruby/object:Gem::Version
67
+ version: '0.8'
68
+ type: :runtime
69
+ prerelease: false
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - "~>"
73
+ - !ruby/object:Gem::Version
74
+ version: '0.8'
75
+ - !ruby/object:Gem::Dependency
76
+ name: rack
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - "~>"
80
+ - !ruby/object:Gem::Version
81
+ version: '2.2'
82
+ type: :runtime
83
+ prerelease: false
84
+ version_requirements: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - "~>"
87
+ - !ruby/object:Gem::Version
88
+ version: '2.2'
33
89
  - !ruby/object:Gem::Dependency
34
90
  name: refinements
35
91
  requirement: !ruby/object:Gem::Requirement
@@ -59,19 +115,19 @@ dependencies:
59
115
  - !ruby/object:Gem::Version
60
116
  version: '7.0'
61
117
  - !ruby/object:Gem::Dependency
62
- name: thor
118
+ name: zeitwerk
63
119
  requirement: !ruby/object:Gem::Requirement
64
120
  requirements:
65
121
  - - "~>"
66
122
  - !ruby/object:Gem::Version
67
- version: '0.20'
123
+ version: '2.4'
68
124
  type: :runtime
69
125
  prerelease: false
70
126
  version_requirements: !ruby/object:Gem::Requirement
71
127
  requirements:
72
128
  - - "~>"
73
129
  - !ruby/object:Gem::Version
74
- version: '0.20'
130
+ version: '2.4'
75
131
  description:
76
132
  email:
77
133
  - brooke@alchemists.io
@@ -86,19 +142,54 @@ files:
86
142
  - README.adoc
87
143
  - bin/pennyworth
88
144
  - lib/pennyworth.rb
89
- - lib/pennyworth/cli.rb
145
+ - lib/pennyworth/cli/actions/config.rb
146
+ - lib/pennyworth/cli/actions/encodings.rb
147
+ - lib/pennyworth/cli/actions/git_hub.rb
148
+ - lib/pennyworth/cli/actions/http_statuses.rb
149
+ - lib/pennyworth/cli/actions/ruby_gems.rb
150
+ - lib/pennyworth/cli/actions/system/errors.rb
151
+ - lib/pennyworth/cli/actions/system/signals.rb
152
+ - lib/pennyworth/cli/actions/text.rb
153
+ - lib/pennyworth/cli/configuration/content.rb
154
+ - lib/pennyworth/cli/configuration/defaults.yml
155
+ - lib/pennyworth/cli/configuration/loader.rb
156
+ - lib/pennyworth/cli/parsers.rb
157
+ - lib/pennyworth/cli/parsers/assembler.rb
158
+ - lib/pennyworth/cli/parsers/core.rb
159
+ - lib/pennyworth/cli/parsers/git_hub.rb
160
+ - lib/pennyworth/cli/parsers/ruby_gems.rb
161
+ - lib/pennyworth/cli/shell.rb
162
+ - lib/pennyworth/container.rb
90
163
  - lib/pennyworth/identity.rb
91
- - lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/icon.png
92
- - lib/pennyworth/templates/workflows/user.workflow.B59B22A2-1880-4765-9358-412791BE9202/info.plist
93
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/icon.png
94
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/info.plist
95
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-camelcase.png
96
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-capitalize.png
97
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-lowercase.png
98
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-size.png
99
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-snakecase.png
100
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-titleize.png
101
- - lib/pennyworth/templates/workflows/user.workflow.C431E56A-0EC2-47EE-94D5-D67D9FE323BE/string-uppercase.png
164
+ - lib/pennyworth/inflector.rb
165
+ - lib/pennyworth/integrations/git_hub/client.rb
166
+ - lib/pennyworth/integrations/git_hub/response.rb
167
+ - lib/pennyworth/integrations/ruby_gems/client.rb
168
+ - lib/pennyworth/loaders/encodings.rb
169
+ - lib/pennyworth/loaders/http_statuses.rb
170
+ - lib/pennyworth/loaders/projects.rb
171
+ - lib/pennyworth/loaders/system/errors.rb
172
+ - lib/pennyworth/loaders/system/signals.rb
173
+ - lib/pennyworth/loaders/text.rb
174
+ - lib/pennyworth/models/encoding.rb
175
+ - lib/pennyworth/models/http_status.rb
176
+ - lib/pennyworth/models/system/error.rb
177
+ - lib/pennyworth/models/system/signal.rb
178
+ - lib/pennyworth/models/text.rb
179
+ - lib/pennyworth/presenters/encoding.rb
180
+ - lib/pennyworth/presenters/gem.rb
181
+ - lib/pennyworth/presenters/http_status.rb
182
+ - lib/pennyworth/presenters/repository.rb
183
+ - lib/pennyworth/presenters/system/error.rb
184
+ - lib/pennyworth/presenters/system/signal.rb
185
+ - lib/pennyworth/presenters/text.rb
186
+ - lib/pennyworth/processor.rb
187
+ - lib/pennyworth/serializers/encoding.rb
188
+ - lib/pennyworth/serializers/http_status.rb
189
+ - lib/pennyworth/serializers/project.rb
190
+ - lib/pennyworth/serializers/system/error.rb
191
+ - lib/pennyworth/serializers/system/signal.rb
192
+ - lib/pennyworth/serializers/text.rb
102
193
  homepage: https://www.alchemists.io/projects/pennyworth
103
194
  licenses:
104
195
  - Apache-2.0
@@ -122,8 +213,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
122
213
  - !ruby/object:Gem::Version
123
214
  version: '0'
124
215
  requirements: []
125
- rubygems_version: 3.2.16
216
+ rubygems_version: 3.2.24
126
217
  signing_key:
127
218
  specification_version: 4
128
- summary: A command line interface that enhances Alfred with Ruby support.
219
+ summary: A command line interface that augments Alfred workflows.
129
220
  test_files: []
metadata.gz.sig CHANGED
Binary file
@@ -1,140 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- require "thor"
4
- require "thor/actions"
5
- require "refinements/strings"
6
- require "runcom"
7
-
8
- module Pennyworth
9
- # The Command Line Interface (CLI) for the gem.
10
- # rubocop:disable Metrics/ClassLength
11
- class CLI < Thor
12
- include Thor::Actions
13
- using Refinements::Strings
14
-
15
- package_name Identity::VERSION_LABEL
16
-
17
- def self.source_root
18
- File.expand_path File.join(File.dirname(__FILE__), "templates")
19
- end
20
-
21
- def self.configuration
22
- Runcom::Config.new "#{Identity::NAME}/configuration.yml"
23
- end
24
-
25
- def initialize args = [], options = {}, config = {}
26
- super args, options, config
27
- end
28
-
29
- desc "-s, [--string=VALUE]", "Manipulate strings."
30
- map %w[-s --string] => :string
31
- method_option :downcase,
32
- aliases: "-d",
33
- desc: "Downcase string.",
34
- type: :boolean,
35
- default: false
36
- method_option :upcase,
37
- aliases: "-u",
38
- desc: "Upcase string.",
39
- type: :boolean,
40
- default: false
41
- method_option :titleize,
42
- aliases: "-t",
43
- desc: "Capitalize each word and delimit with space or forward slash.",
44
- type: :boolean,
45
- default: false
46
- method_option :camelcase,
47
- aliases: "-c",
48
- desc: "Capitalize each word and delimit with nothing or double colon.",
49
- type: :boolean,
50
- default: false
51
- method_option :snakecase,
52
- aliases: "-s",
53
- desc: "Downcase each word and delimit with underscore or forward slash.",
54
- type: :boolean,
55
- default: false
56
- method_option :size,
57
- aliases: "-s",
58
- desc: "Calculate string size.",
59
- type: :boolean,
60
- default: false
61
- def string value
62
- if options.downcase? then say value.downcase
63
- elsif options.upcase? then say value.upcase
64
- elsif options.titleize? then say value.titleize
65
- elsif options.camelcase? then say value.camelcase
66
- elsif options.snakecase? then say value.snakecase
67
- elsif options.size? then say value.size
68
- else say "Type 'pennyworth help string' for usage."
69
- end
70
- end
71
-
72
- desc "-i, [--install]", "Install Alfred Workflows."
73
- map %w[-i --install] => :install
74
- def install
75
- say
76
-
77
- alfred_settings_root = self.class.configuration.to_h[:alfred_settings_root]
78
-
79
- if valid_file? alfred_settings_root, "Invalid directory for Alfred settings root"
80
- if yes? "Installing Alfred Workflows will destroy exiting, identical, workflows. " \
81
- "Continue (y/n)?"
82
-
83
- say_status :info, "Installing Alfred Workflows...", :green
84
-
85
- workflows = Dir.glob File.join(self.class.source_root, "workflows", "**")
86
- alfred_workflows_root = File.join alfred_settings_root, "workflows"
87
- workflows.each do |workflow|
88
- name = File.basename workflow
89
- destination = File.join alfred_workflows_root, name
90
- remove_file destination
91
- directory File.join("workflows", name), destination
92
- end
93
-
94
- say_status :info, "Alfred Workflows installed.", :green
95
- else
96
- say_status :info, "Alfred Workflows installation cancelled.", :green
97
- end
98
- else
99
- say_status :error, "Invalid Alfred settings directory: #{alfred_settings_root}", :red
100
- end
101
-
102
- say
103
- end
104
-
105
- desc "-c, [--config]", "Manage gem configuration."
106
- map %w[-c --config] => :config
107
- method_option :edit,
108
- aliases: "-e",
109
- desc: "Edit gem configuration.",
110
- type: :boolean,
111
- default: false
112
- method_option :info,
113
- aliases: "-i",
114
- desc: "Print gem configuration.",
115
- type: :boolean,
116
- default: false
117
- def config
118
- path = self.class.configuration.current
119
-
120
- if options.edit? then `#{ENV["EDITOR"]} #{path}`
121
- elsif options.info?
122
- path ? say(path) : say("Configuration doesn't exist.")
123
- else help :config
124
- end
125
- end
126
-
127
- desc "-v, [--version]", "Show gem version."
128
- map %w[-v --version] => :version
129
- def version
130
- say Identity::VERSION_LABEL
131
- end
132
-
133
- desc "-h, [--help=COMMAND]", "Show this message or get help for a command."
134
- map %w[-h --help] => :help
135
- def help task = nil
136
- say and super
137
- end
138
- end
139
- # rubocop:enable Metrics/ClassLength
140
- end