command_kit 0.1.0.rc1 → 0.1.0
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/ChangeLog.md +1 -1
- data/README.md +7 -4
- data/gemspec.yml +1 -1
- data/lib/command_kit.rb +1 -0
- data/lib/command_kit/arguments.rb +16 -1
- data/lib/command_kit/arguments/argument.rb +2 -0
- data/lib/command_kit/arguments/argument_value.rb +2 -0
- data/lib/command_kit/colors.rb +32 -0
- data/lib/command_kit/command.rb +5 -0
- data/lib/command_kit/command_name.rb +9 -0
- data/lib/command_kit/commands.rb +30 -0
- data/lib/command_kit/commands/auto_load.rb +16 -0
- data/lib/command_kit/commands/auto_require.rb +16 -0
- data/lib/command_kit/commands/command.rb +3 -0
- data/lib/command_kit/commands/help.rb +2 -0
- data/lib/command_kit/commands/parent_command.rb +7 -0
- data/lib/command_kit/commands/subcommand.rb +12 -0
- data/lib/command_kit/description.rb +12 -1
- data/lib/command_kit/env.rb +4 -0
- data/lib/command_kit/env/home.rb +9 -0
- data/lib/command_kit/env/path.rb +15 -0
- data/lib/command_kit/examples.rb +12 -1
- data/lib/command_kit/exception_handler.rb +4 -0
- data/lib/command_kit/help.rb +7 -1
- data/lib/command_kit/help/man.rb +13 -0
- data/lib/command_kit/inflector.rb +2 -0
- data/lib/command_kit/interactive.rb +62 -1
- data/lib/command_kit/main.rb +11 -0
- data/lib/command_kit/options.rb +12 -0
- data/lib/command_kit/options/option.rb +2 -0
- data/lib/command_kit/options/option_value.rb +2 -0
- data/lib/command_kit/options/parser.rb +29 -0
- data/lib/command_kit/options/quiet.rb +3 -0
- data/lib/command_kit/options/verbose.rb +5 -0
- data/lib/command_kit/options/version.rb +6 -0
- data/lib/command_kit/os.rb +6 -0
- data/lib/command_kit/pager.rb +27 -0
- data/lib/command_kit/printing.rb +23 -0
- data/lib/command_kit/printing/indent.rb +23 -0
- data/lib/command_kit/program_name.rb +7 -0
- data/lib/command_kit/stdio.rb +24 -0
- data/lib/command_kit/terminal.rb +12 -0
- data/lib/command_kit/usage.rb +14 -0
- data/lib/command_kit/version.rb +1 -1
- data/lib/command_kit/xdg.rb +13 -0
- data/spec/arguments/argument_spec.rb +1 -1
- data/spec/arguments_spec.rb +3 -27
- data/spec/colors_spec.rb +21 -13
- data/spec/command_name_spec.rb +1 -1
- data/spec/command_spec.rb +4 -1
- data/spec/commands/auto_load/subcommand_spec.rb +1 -1
- data/spec/commands/auto_load_spec.rb +1 -1
- data/spec/commands/auto_require_spec.rb +2 -2
- data/spec/commands/help_spec.rb +1 -1
- data/spec/commands/parent_command_spec.rb +1 -1
- data/spec/commands/subcommand_spec.rb +1 -1
- data/spec/commands_spec.rb +1 -1
- data/spec/description_spec.rb +1 -25
- data/spec/env/home_spec.rb +1 -1
- data/spec/env/path_spec.rb +1 -1
- data/spec/examples_spec.rb +1 -25
- data/spec/help/man_spec.rb +1 -1
- data/spec/help_spec.rb +0 -25
- data/spec/inflector_spec.rb +1 -1
- data/spec/main_spec.rb +7 -7
- data/spec/options/option_spec.rb +3 -3
- data/spec/options/option_value_spec.rb +1 -1
- data/spec/options_spec.rb +1 -1
- data/spec/os_spec.rb +1 -1
- data/spec/pager_spec.rb +1 -1
- data/spec/printing/indent_spec.rb +1 -1
- data/spec/printing_spec.rb +10 -2
- data/spec/program_name_spec.rb +1 -1
- data/spec/spec_helper.rb +0 -3
- data/spec/terminal_spec.rb +1 -1
- data/spec/usage_spec.rb +1 -1
- data/spec/xdg_spec.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: acf8c9763694ffe7ac298e158863a3165c5d8f1a2209d1cac5b01e9c60d9dd85
|
4
|
+
data.tar.gz: 98669568909de27878be028ae8b0251ddc6e8a4740af23037bd234d06778b2ce
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b04269a04b5d474f2a17724e04fa015fe5c1eefdbba9f53cf06c49c727c369ae3ba9a77e336c09f69fc3e7c8b6e5f77fa98abe7912c022213489d5b04191f5bb
|
7
|
+
data.tar.gz: 01c43327289df1e30970e618b2d133e26bc5e6cdd3d65cc6fad7cbc369e44085fd164cb0b93a241df6508e3019fbfed658f83191e958457ec6f7ecfed86b88b3
|
data/ChangeLog.md
CHANGED
data/README.md
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
# command_kit
|
2
2
|
|
3
|
-
* [Homepage](https://github.com/postmodern/command_kit#readme)
|
4
|
-
* [
|
3
|
+
* [Homepage](https://github.com/postmodern/command_kit.rb#readme)
|
4
|
+
* [Forum](https://github.com/postmodern/command_kit.rb/discussions)
|
5
|
+
* [Issues](https://github.com/postmodern/command_kit.rb/issues)
|
5
6
|
* [Documentation](http://rubydoc.info/gems/command_kit/frames)
|
6
|
-
* [Email](mailto:postmodern.mod3 at gmail.com)
|
7
7
|
|
8
8
|
## Description
|
9
9
|
|
@@ -20,9 +20,12 @@ plain-old Ruby classes.
|
|
20
20
|
* Correctly handles broken pipes (aka `mycmd | head`).
|
21
21
|
* Correctly handles when stdout or stdin is redirected to a file.
|
22
22
|
* Uses [OptionParser][optparse] for POSIX option parsing.
|
23
|
-
* Supports optional ANSI coloring.
|
24
23
|
* Supports optionally displaying a man-page instead of `--help`
|
25
24
|
(see {CommandKit::Help::Man}).
|
25
|
+
* Supports optional ANSI coloring.
|
26
|
+
* Supports interactively prompting for user input.
|
27
|
+
* Supports easily detecting the terminal size.
|
28
|
+
* Supports paging output with `less` or `more`.
|
26
29
|
* Supports XDG directories (`~/.config/`, `~/.local/share/`, `~/.cache/`).
|
27
30
|
* Easy to test (ex: `MyCmd.main(arg1, arg2, options: {foo: foo}) # => 0`)
|
28
31
|
|
data/gemspec.yml
CHANGED
data/lib/command_kit.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'command_kit/main'
|
2
4
|
require 'command_kit/help'
|
3
5
|
require 'command_kit/arguments/argument'
|
@@ -46,6 +48,9 @@ module CommandKit
|
|
46
48
|
include Main
|
47
49
|
include Help
|
48
50
|
|
51
|
+
#
|
52
|
+
# @api private
|
53
|
+
#
|
49
54
|
module ModuleMethods
|
50
55
|
#
|
51
56
|
# Extends {ClassMethods} or {ModuleMethods}, depending on whether
|
@@ -77,6 +82,8 @@ module CommandKit
|
|
77
82
|
# @return [Hash{Symbol => Argument}]
|
78
83
|
# The defined argument for the class and it's superclass.
|
79
84
|
#
|
85
|
+
# @api semipublic
|
86
|
+
#
|
80
87
|
def arguments
|
81
88
|
@arguments ||= if superclass.kind_of?(ClassMethods)
|
82
89
|
superclass.arguments.dup
|
@@ -131,6 +138,8 @@ module CommandKit
|
|
131
138
|
# argument :bar, repeats: true,
|
132
139
|
# desc: "Bar argument"
|
133
140
|
#
|
141
|
+
# @api public
|
142
|
+
#
|
134
143
|
def argument(name,**kwargs)
|
135
144
|
arguments[name] = Argument.new(name,**kwargs)
|
136
145
|
end
|
@@ -147,6 +156,8 @@ module CommandKit
|
|
147
156
|
# The exit status code. If too few or too many arguments are given, then
|
148
157
|
# an error message is printed and `1` is returned.
|
149
158
|
#
|
159
|
+
# @api public
|
160
|
+
#
|
150
161
|
def main(argv=[])
|
151
162
|
required_args = self.class.arguments.each_value.count(&:required?)
|
152
163
|
optional_args = self.class.arguments.each_value.count(&:optional?)
|
@@ -168,6 +179,8 @@ module CommandKit
|
|
168
179
|
#
|
169
180
|
# Prints any defined arguments, along with the usual `--help` information.
|
170
181
|
#
|
182
|
+
# @api semipublic
|
183
|
+
#
|
171
184
|
def help_arguments
|
172
185
|
unless (arguments = self.class.arguments).empty?
|
173
186
|
puts
|
@@ -183,8 +196,10 @@ module CommandKit
|
|
183
196
|
# Calls the superclass'es `#help` method, if it's defined, then calls
|
184
197
|
# {#help_arguments}.
|
185
198
|
#
|
199
|
+
# @api public
|
200
|
+
#
|
186
201
|
def help
|
187
|
-
super
|
202
|
+
super
|
188
203
|
|
189
204
|
help_arguments
|
190
205
|
end
|
data/lib/command_kit/colors.rb
CHANGED
@@ -88,6 +88,8 @@ module CommandKit
|
|
88
88
|
#
|
89
89
|
# @see RESET
|
90
90
|
#
|
91
|
+
# @api public
|
92
|
+
#
|
91
93
|
def reset
|
92
94
|
RESET
|
93
95
|
end
|
@@ -95,6 +97,8 @@ module CommandKit
|
|
95
97
|
#
|
96
98
|
# @see reset
|
97
99
|
#
|
100
|
+
# @api public
|
101
|
+
#
|
98
102
|
def clear
|
99
103
|
reset
|
100
104
|
end
|
@@ -110,6 +114,8 @@ module CommandKit
|
|
110
114
|
#
|
111
115
|
# @see BOLD
|
112
116
|
#
|
117
|
+
# @api public
|
118
|
+
#
|
113
119
|
def bold(string=nil)
|
114
120
|
if string then "#{BOLD}#{string}#{RESET_INTENSITY}"
|
115
121
|
else BOLD
|
@@ -127,6 +133,8 @@ module CommandKit
|
|
127
133
|
#
|
128
134
|
# @see BLACK
|
129
135
|
#
|
136
|
+
# @api public
|
137
|
+
#
|
130
138
|
def black(string=nil)
|
131
139
|
if string then "#{BLACK}#{string}#{RESET_COLOR}"
|
132
140
|
else BLACK
|
@@ -144,6 +152,8 @@ module CommandKit
|
|
144
152
|
#
|
145
153
|
# @see RED
|
146
154
|
#
|
155
|
+
# @api public
|
156
|
+
#
|
147
157
|
def red(string=nil)
|
148
158
|
if string then "#{RED}#{string}#{RESET_COLOR}"
|
149
159
|
else RED
|
@@ -161,6 +171,8 @@ module CommandKit
|
|
161
171
|
#
|
162
172
|
# @see GREEN
|
163
173
|
#
|
174
|
+
# @api public
|
175
|
+
#
|
164
176
|
def green(string=nil)
|
165
177
|
if string then "#{GREEN}#{string}#{RESET_COLOR}"
|
166
178
|
else GREEN
|
@@ -178,6 +190,8 @@ module CommandKit
|
|
178
190
|
#
|
179
191
|
# @see YELLOW
|
180
192
|
#
|
193
|
+
# @api public
|
194
|
+
#
|
181
195
|
def yellow(string=nil)
|
182
196
|
if string then "#{YELLOW}#{string}#{RESET_COLOR}"
|
183
197
|
else YELLOW
|
@@ -195,6 +209,8 @@ module CommandKit
|
|
195
209
|
#
|
196
210
|
# @see BLUE
|
197
211
|
#
|
212
|
+
# @api public
|
213
|
+
#
|
198
214
|
def blue(string=nil)
|
199
215
|
if string then "#{BLUE}#{string}#{RESET_COLOR}"
|
200
216
|
else BLUE
|
@@ -212,6 +228,8 @@ module CommandKit
|
|
212
228
|
#
|
213
229
|
# @see MAGENTA
|
214
230
|
#
|
231
|
+
# @api public
|
232
|
+
#
|
215
233
|
def magenta(string=nil)
|
216
234
|
if string then "#{MAGENTA}#{string}#{RESET_COLOR}"
|
217
235
|
else MAGENTA
|
@@ -229,6 +247,8 @@ module CommandKit
|
|
229
247
|
#
|
230
248
|
# @see CYAN
|
231
249
|
#
|
250
|
+
# @api public
|
251
|
+
#
|
232
252
|
def cyan(string=nil)
|
233
253
|
if string then "#{CYAN}#{string}#{RESET_COLOR}"
|
234
254
|
else CYAN
|
@@ -246,6 +266,8 @@ module CommandKit
|
|
246
266
|
#
|
247
267
|
# @see WHITE
|
248
268
|
#
|
269
|
+
# @api public
|
270
|
+
#
|
249
271
|
def white(string=nil)
|
250
272
|
if string then "#{WHITE}#{string}#{RESET_COLOR}"
|
251
273
|
else WHITE
|
@@ -331,6 +353,8 @@ module CommandKit
|
|
331
353
|
# output. Color output will also be disabled if the given stream is not
|
332
354
|
# a TTY.
|
333
355
|
#
|
356
|
+
# @api public
|
357
|
+
#
|
334
358
|
def ansi?(stream=stdout)
|
335
359
|
env['TERM'] != 'dumb' && stream.tty?
|
336
360
|
end
|
@@ -343,6 +367,14 @@ module CommandKit
|
|
343
367
|
# @return [ANSI, PlainText]
|
344
368
|
# The ANSI module or PlainText dummy module.
|
345
369
|
#
|
370
|
+
# @example
|
371
|
+
# puts colors.green("Hello world")
|
372
|
+
#
|
373
|
+
# @example Using colors with stderr output:
|
374
|
+
# stderr.puts colors(stderr).green("Hello world")
|
375
|
+
#
|
376
|
+
# @api public
|
377
|
+
#
|
346
378
|
def colors(stream=stdout)
|
347
379
|
color = if ansi?(stream) then ANSI
|
348
380
|
else PlainText
|
data/lib/command_kit/command.rb
CHANGED
@@ -9,6 +9,8 @@ require 'command_kit/examples'
|
|
9
9
|
require 'command_kit/description'
|
10
10
|
require 'command_kit/exception_handler'
|
11
11
|
|
12
|
+
require 'fileutils'
|
13
|
+
|
12
14
|
module CommandKit
|
13
15
|
#
|
14
16
|
# The command class base-class.
|
@@ -66,6 +68,8 @@ module CommandKit
|
|
66
68
|
# @verbose = 0
|
67
69
|
# end
|
68
70
|
#
|
71
|
+
# @api public
|
72
|
+
#
|
69
73
|
class Command
|
70
74
|
|
71
75
|
include Main
|
@@ -79,6 +83,7 @@ module CommandKit
|
|
79
83
|
include Examples
|
80
84
|
include Description
|
81
85
|
include ExceptionHandler
|
86
|
+
include FileUtils
|
82
87
|
|
83
88
|
end
|
84
89
|
end
|
@@ -31,6 +31,9 @@ module CommandKit
|
|
31
31
|
# # => "foo-cmd"
|
32
32
|
#
|
33
33
|
module CommandName
|
34
|
+
#
|
35
|
+
# @api private
|
36
|
+
#
|
34
37
|
module ModuleMethods
|
35
38
|
#
|
36
39
|
# Extends {ClassMethods} or {ModuleMethods}, depending on whether
|
@@ -65,6 +68,8 @@ module CommandKit
|
|
65
68
|
#
|
66
69
|
# @return [String]
|
67
70
|
#
|
71
|
+
# @api public
|
72
|
+
#
|
68
73
|
def command_name(new_command_name=nil)
|
69
74
|
if new_command_name
|
70
75
|
@command_name = new_command_name.to_s
|
@@ -77,6 +82,8 @@ module CommandKit
|
|
77
82
|
# The commands name.
|
78
83
|
#
|
79
84
|
# @return [String]
|
85
|
+
#
|
86
|
+
# @api public
|
80
87
|
attr_reader :command_name
|
81
88
|
|
82
89
|
#
|
@@ -86,6 +93,8 @@ module CommandKit
|
|
86
93
|
# Overrides the command name. Defaults to
|
87
94
|
# {ClassMethods#command_name self.class.command_name}.
|
88
95
|
#
|
96
|
+
# @api public
|
97
|
+
#
|
89
98
|
def initialize(command_name: self.class.command_name, **kwargs)
|
90
99
|
@command_name = command_name
|
91
100
|
|
data/lib/command_kit/commands.rb
CHANGED
@@ -41,6 +41,9 @@ module CommandKit
|
|
41
41
|
include Stdio
|
42
42
|
include Env
|
43
43
|
|
44
|
+
#
|
45
|
+
# @api private
|
46
|
+
#
|
44
47
|
module ModuleMethods
|
45
48
|
#
|
46
49
|
# Extends {ClassMethods} or {ModuleMethods}, depending on whether
|
@@ -73,6 +76,8 @@ module CommandKit
|
|
73
76
|
#
|
74
77
|
# @return [Hash{String => Subcommand}]
|
75
78
|
# The Hash of sub-command names and command classes.
|
79
|
+
#
|
80
|
+
# @api semipublic
|
76
81
|
#
|
77
82
|
def commands
|
78
83
|
@commands ||= if superclass.kind_of?(ClassMethods)
|
@@ -88,6 +93,8 @@ module CommandKit
|
|
88
93
|
# @return [Hash{String => String}]
|
89
94
|
# The Hash of command aliases to primary command names.
|
90
95
|
#
|
96
|
+
# @api semipublic
|
97
|
+
#
|
91
98
|
def command_aliases
|
92
99
|
@command_aliases ||= if superclass.kind_of?(ClassMethods)
|
93
100
|
superclass.command_aliases.dup
|
@@ -125,6 +132,8 @@ module CommandKit
|
|
125
132
|
# @example
|
126
133
|
# command 'foo-bar', FooBar
|
127
134
|
#
|
135
|
+
# @api public
|
136
|
+
#
|
128
137
|
def command(name=nil, command_class, **kwargs)
|
129
138
|
name = if name then name.to_s
|
130
139
|
else command_class.command_name
|
@@ -145,8 +154,12 @@ module CommandKit
|
|
145
154
|
# Gets the command.
|
146
155
|
#
|
147
156
|
# @param [String] name
|
157
|
+
# The command name.
|
148
158
|
#
|
149
159
|
# @return [Class#main, nil]
|
160
|
+
# The command class or `nil` if no command could be found.
|
161
|
+
#
|
162
|
+
# @api private
|
150
163
|
#
|
151
164
|
def get_command(name)
|
152
165
|
name = name.to_s
|
@@ -164,6 +177,8 @@ module CommandKit
|
|
164
177
|
# @note Adds a special rule to the {Options#option_parser #option_parser} to
|
165
178
|
# stop parsing options when the first non-option is encountered.
|
166
179
|
#
|
180
|
+
# @api public
|
181
|
+
#
|
167
182
|
def initialize(**kwargs)
|
168
183
|
super(**kwargs)
|
169
184
|
|
@@ -181,6 +196,8 @@ module CommandKit
|
|
181
196
|
# @return [Object#main, nil]
|
182
197
|
# The initialized subcommand.
|
183
198
|
#
|
199
|
+
# @api private
|
200
|
+
#
|
184
201
|
def command(name)
|
185
202
|
unless (command_class = self.class.get_command(name))
|
186
203
|
return
|
@@ -225,6 +242,8 @@ module CommandKit
|
|
225
242
|
# @return [Integer]
|
226
243
|
# The exit status of the command.
|
227
244
|
#
|
245
|
+
# @api semipublic
|
246
|
+
#
|
228
247
|
def invoke(name,*argv)
|
229
248
|
if (command = command(name))
|
230
249
|
command.main(argv)
|
@@ -237,6 +256,9 @@ module CommandKit
|
|
237
256
|
# Prints an error about an unknown command and exits with an error code.
|
238
257
|
#
|
239
258
|
# @param [String] name
|
259
|
+
# The command name.
|
260
|
+
#
|
261
|
+
# @api semipublic
|
240
262
|
#
|
241
263
|
def command_not_found(name)
|
242
264
|
print_error "'#{name}' is not a #{command_name} command. See `#{command_name} help`"
|
@@ -256,6 +278,8 @@ module CommandKit
|
|
256
278
|
#
|
257
279
|
# @see command_not_found
|
258
280
|
#
|
281
|
+
# @api semipublic
|
282
|
+
#
|
259
283
|
def on_unknown_command(name,argv=[])
|
260
284
|
command_not_found(name)
|
261
285
|
end
|
@@ -265,6 +289,8 @@ module CommandKit
|
|
265
289
|
#
|
266
290
|
# @note If no subcommand is given, {#help} will be called.
|
267
291
|
#
|
292
|
+
# @api public
|
293
|
+
#
|
268
294
|
def run(command=nil,*argv)
|
269
295
|
if command
|
270
296
|
exit invoke(command,*argv)
|
@@ -276,6 +302,8 @@ module CommandKit
|
|
276
302
|
#
|
277
303
|
# Prints the available commands and their summaries.
|
278
304
|
#
|
305
|
+
# @api semipublic
|
306
|
+
#
|
279
307
|
def help_commands
|
280
308
|
unless self.class.commands.empty?
|
281
309
|
puts
|
@@ -296,6 +324,8 @@ module CommandKit
|
|
296
324
|
#
|
297
325
|
# Prints help information and available commands.
|
298
326
|
#
|
327
|
+
# @api public
|
328
|
+
#
|
299
329
|
def help
|
300
330
|
super
|
301
331
|
|
@@ -40,16 +40,22 @@ module CommandKit
|
|
40
40
|
# The auto-load subcommands.
|
41
41
|
#
|
42
42
|
# @return [Hash{String => Subcommand}]
|
43
|
+
#
|
44
|
+
# @api private
|
43
45
|
attr_reader :commands
|
44
46
|
|
45
47
|
# The path to the directory containing the command files.
|
46
48
|
#
|
47
49
|
# @return [String]
|
50
|
+
#
|
51
|
+
# @api private
|
48
52
|
attr_reader :dir
|
49
53
|
|
50
54
|
# The namespace that the will contain the command classes.
|
51
55
|
#
|
52
56
|
# @return [String]
|
57
|
+
#
|
58
|
+
# @api private
|
53
59
|
attr_reader :namespace
|
54
60
|
|
55
61
|
#
|
@@ -65,6 +71,8 @@ module CommandKit
|
|
65
71
|
# If a block is given, it will be used to explicitly map the files
|
66
72
|
# within {#dir} as commands.
|
67
73
|
#
|
74
|
+
# @api public
|
75
|
+
#
|
68
76
|
def initialize(dir: , namespace: )
|
69
77
|
@commands = {}
|
70
78
|
|
@@ -106,6 +114,8 @@ module CommandKit
|
|
106
114
|
# @option kwargs [Array<String>] aliases
|
107
115
|
# Optional alias names for the subcommand.
|
108
116
|
#
|
117
|
+
# @api public
|
118
|
+
#
|
109
119
|
def command(name, constant, file, **kwargs)
|
110
120
|
@commands[name.to_s] = Subcommand.new(
|
111
121
|
"#{@namespace}::#{constant}",
|
@@ -123,6 +133,8 @@ module CommandKit
|
|
123
133
|
# @return [String]
|
124
134
|
# The joined absolute path.
|
125
135
|
#
|
136
|
+
# @api private
|
137
|
+
#
|
126
138
|
def join(path)
|
127
139
|
File.join(@dir,path)
|
128
140
|
end
|
@@ -133,6 +145,8 @@ module CommandKit
|
|
133
145
|
# @return [Array<String>]
|
134
146
|
# The paths to the `.rb` files in the directory.
|
135
147
|
#
|
148
|
+
# @api private
|
149
|
+
#
|
136
150
|
def files
|
137
151
|
Dir.glob(join('*.rb'))
|
138
152
|
end
|
@@ -144,6 +158,8 @@ module CommandKit
|
|
144
158
|
# @param [Class] command
|
145
159
|
# The command class including {AutoLoad}.
|
146
160
|
#
|
161
|
+
# @api private
|
162
|
+
#
|
147
163
|
def included(command)
|
148
164
|
command.include Commands
|
149
165
|
command.commands.merge!(@commands)
|