travis-cl 1.2.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/CHANGELOG.md +134 -0
- data/Gemfile +11 -0
- data/Gemfile.lock +59 -0
- data/MIT_LICENSE.md +21 -0
- data/README.md +1283 -0
- data/cl.gemspec +30 -0
- data/examples/README.md +22 -0
- data/examples/_src/args/cast.erb.rb +100 -0
- data/examples/_src/args/opts.erb.rb +100 -0
- data/examples/_src/args/required.erb.rb +63 -0
- data/examples/_src/args/splat.erb.rb +55 -0
- data/examples/_src/gem.erb.rb +99 -0
- data/examples/_src/heroku.erb.rb +47 -0
- data/examples/_src/rakeish.erb.rb +54 -0
- data/examples/_src/readme/abstract.erb.rb +27 -0
- data/examples/_src/readme/alias.erb.rb +22 -0
- data/examples/_src/readme/arg.erb.rb +21 -0
- data/examples/_src/readme/arg_array.erb.rb +21 -0
- data/examples/_src/readme/arg_type.erb.rb +23 -0
- data/examples/_src/readme/args_splat.erb.rb +55 -0
- data/examples/_src/readme/array.erb.rb +21 -0
- data/examples/_src/readme/basic.erb.rb +72 -0
- data/examples/_src/readme/default.erb.rb +21 -0
- data/examples/_src/readme/deprecated.erb.rb +21 -0
- data/examples/_src/readme/deprecated_alias.erb.rb +21 -0
- data/examples/_src/readme/description.erb.rb +60 -0
- data/examples/_src/readme/downcase.erb.rb +21 -0
- data/examples/_src/readme/enum.erb.rb +35 -0
- data/examples/_src/readme/example.erb.rb +25 -0
- data/examples/_src/readme/format.erb.rb +35 -0
- data/examples/_src/readme/internal.erb.rb +28 -0
- data/examples/_src/readme/negate.erb.rb +37 -0
- data/examples/_src/readme/note.erb.rb +25 -0
- data/examples/_src/readme/opts.erb.rb +33 -0
- data/examples/_src/readme/opts_block.erb.rb +30 -0
- data/examples/_src/readme/range.erb.rb +35 -0
- data/examples/_src/readme/registry.erb.rb +18 -0
- data/examples/_src/readme/required.erb.rb +35 -0
- data/examples/_src/readme/requireds.erb.rb +46 -0
- data/examples/_src/readme/requires.erb.rb +35 -0
- data/examples/_src/readme/runner.erb.rb +29 -0
- data/examples/_src/readme/runner_custom.erb.rb +25 -0
- data/examples/_src/readme/secret.erb.rb +22 -0
- data/examples/_src/readme/see.erb.rb +25 -0
- data/examples/_src/readme/type.erb.rb +21 -0
- data/examples/args/cast +98 -0
- data/examples/args/opts +98 -0
- data/examples/args/required +62 -0
- data/examples/args/splat +58 -0
- data/examples/gem +97 -0
- data/examples/heroku +48 -0
- data/examples/rakeish +50 -0
- data/examples/readme/abstract +28 -0
- data/examples/readme/alias +21 -0
- data/examples/readme/arg +20 -0
- data/examples/readme/arg_array +20 -0
- data/examples/readme/arg_type +22 -0
- data/examples/readme/args_splat +58 -0
- data/examples/readme/array +20 -0
- data/examples/readme/basic +67 -0
- data/examples/readme/default +20 -0
- data/examples/readme/deprecated +20 -0
- data/examples/readme/deprecated_alias +20 -0
- data/examples/readme/description +56 -0
- data/examples/readme/downcase +20 -0
- data/examples/readme/enum +33 -0
- data/examples/readme/example +21 -0
- data/examples/readme/format +33 -0
- data/examples/readme/internal +24 -0
- data/examples/readme/negate +44 -0
- data/examples/readme/note +21 -0
- data/examples/readme/opts +31 -0
- data/examples/readme/opts_block +29 -0
- data/examples/readme/range +33 -0
- data/examples/readme/registry +15 -0
- data/examples/readme/required +33 -0
- data/examples/readme/requireds +46 -0
- data/examples/readme/requires +33 -0
- data/examples/readme/runner +30 -0
- data/examples/readme/runner_custom +22 -0
- data/examples/readme/secret +21 -0
- data/examples/readme/see +21 -0
- data/examples/readme/type +20 -0
- data/lib/cl/arg.rb +79 -0
- data/lib/cl/args.rb +92 -0
- data/lib/cl/cast.rb +55 -0
- data/lib/cl/cmd.rb +74 -0
- data/lib/cl/config/env.rb +52 -0
- data/lib/cl/config/files.rb +34 -0
- data/lib/cl/config.rb +30 -0
- data/lib/cl/ctx.rb +36 -0
- data/lib/cl/dsl.rb +182 -0
- data/lib/cl/errors.rb +119 -0
- data/lib/cl/help/cmd.rb +118 -0
- data/lib/cl/help/cmds.rb +26 -0
- data/lib/cl/help/format.rb +69 -0
- data/lib/cl/help/table.rb +58 -0
- data/lib/cl/help/usage.rb +26 -0
- data/lib/cl/help.rb +37 -0
- data/lib/cl/helper/suggest.rb +10 -0
- data/lib/cl/helper.rb +47 -0
- data/lib/cl/opt.rb +276 -0
- data/lib/cl/opts/validate.rb +117 -0
- data/lib/cl/opts.rb +114 -0
- data/lib/cl/parser/format.rb +63 -0
- data/lib/cl/parser.rb +70 -0
- data/lib/cl/runner/default.rb +86 -0
- data/lib/cl/runner/multi.rb +34 -0
- data/lib/cl/runner.rb +10 -0
- data/lib/cl/ui.rb +146 -0
- data/lib/cl/version.rb +3 -0
- data/lib/cl.rb +62 -0
- metadata +177 -0
@@ -0,0 +1,55 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Lft < Cl::Cmd
|
8
|
+
register :lft
|
9
|
+
|
10
|
+
arg :a, type: :array, splat: true
|
11
|
+
arg :b
|
12
|
+
arg :c
|
13
|
+
|
14
|
+
def run
|
15
|
+
p [a, b, c]
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
class Mid < Cl::Cmd
|
20
|
+
register :mid
|
21
|
+
|
22
|
+
arg :a
|
23
|
+
arg :b, type: :array, splat: true
|
24
|
+
arg :c
|
25
|
+
|
26
|
+
def run
|
27
|
+
p [a, b, c]
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Rgt < Cl::Cmd
|
32
|
+
register :rgt
|
33
|
+
|
34
|
+
arg :a
|
35
|
+
arg :b
|
36
|
+
arg :c, type: :array, splat: true
|
37
|
+
|
38
|
+
def run
|
39
|
+
p [a, b, c]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
rb
|
43
|
+
-%>
|
44
|
+
|
45
|
+
<%= run "Cl.new('splat').run(%w(lft 1 2 3 4 5))" %>
|
46
|
+
|
47
|
+
<%= out '[["1", "2", "3"], "4", "5"]' %>
|
48
|
+
|
49
|
+
<%= run "Cl.new('splat').run(%w(mid 1 2 3 4 5))" %>
|
50
|
+
|
51
|
+
<%= out '["1", ["2", "3", "4"], "5"]' %>
|
52
|
+
|
53
|
+
<%= run "Cl.new('splat').run(%w(rgt 1 2 3 4 5))" %>
|
54
|
+
|
55
|
+
<%= out '["1", "2", ["3", "4", "5"]]' %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', type: :array
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to one --to two))" %>
|
20
|
+
|
21
|
+
<%= out '["one", "two"]' %>
|
@@ -0,0 +1,72 @@
|
|
1
|
+
<%= run sq(<<-'rb')
|
2
|
+
require 'cl'
|
3
|
+
|
4
|
+
# e.g. lib/owners/add.rb
|
5
|
+
module Owners
|
6
|
+
class Add < Cl::Cmd
|
7
|
+
register :add
|
8
|
+
|
9
|
+
summary 'Add one or more owners to an existing owner group'
|
10
|
+
|
11
|
+
description <<~str
|
12
|
+
Use this command to add one or more owners to an existing
|
13
|
+
owner group.
|
14
|
+
|
15
|
+
[...]
|
16
|
+
str
|
17
|
+
|
18
|
+
args :owner
|
19
|
+
|
20
|
+
opt '-t', '--to TO', 'An existing owner group'
|
21
|
+
|
22
|
+
def run
|
23
|
+
# implement adding the owner as given in `owner` (as well as `args`)
|
24
|
+
# to the group given in `to` (as well as `opts[:to]`).
|
25
|
+
p owner: owner, to: to, to?: to?, args: args, opts: opts
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
rb
|
30
|
+
-%>
|
31
|
+
|
32
|
+
# Running this, e.g. using `bin/owners add one,two --to group` will instantiate the
|
33
|
+
# class `Owners::Add`, and call the method `run` on it.
|
34
|
+
|
35
|
+
<%= run sq(<<-'rb')
|
36
|
+
# e.g. bin/owners
|
37
|
+
#
|
38
|
+
# args normally would be ARGV
|
39
|
+
args = %w(add one --to group)
|
40
|
+
|
41
|
+
Cl.new('owners').run(args)
|
42
|
+
rb
|
43
|
+
-%>
|
44
|
+
|
45
|
+
<%= out '{:owner=>"one", :to=>"group", :to?=>true, :args=>["one"], :opts=>{:to=>"group"}}' %>
|
46
|
+
|
47
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
48
|
+
|
49
|
+
<%= out sq(<<-'str')
|
50
|
+
Usage: owners add [owner] [options]
|
51
|
+
|
52
|
+
Summary:
|
53
|
+
|
54
|
+
Add one or more owners to an existing owner group
|
55
|
+
|
56
|
+
Description:
|
57
|
+
|
58
|
+
Use this command to add one or more owners to an existing
|
59
|
+
owner group.
|
60
|
+
|
61
|
+
[...]
|
62
|
+
|
63
|
+
Arguments:
|
64
|
+
|
65
|
+
owner type: string
|
66
|
+
|
67
|
+
Options:
|
68
|
+
|
69
|
+
-t --to TO An existing owner group (type: string)
|
70
|
+
--help Get help on this command
|
71
|
+
str
|
72
|
+
%>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', default: 'default'
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"default"}' %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--target GROUP', deprecated: 'Deprecated.'
|
11
|
+
|
12
|
+
def run
|
13
|
+
p target: target, deprecations: deprecations
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --target one))" %>
|
20
|
+
|
21
|
+
<%= out '{:target=>"one", :deprecations=>{:target=>"Deprecated."}}' %>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', alias: :target, deprecated: :target
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to, deprecations: deprecations
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --target one))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"one", :deprecations=>{:target=>:to}}' %>
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
module Owners
|
8
|
+
class Add < Cl::Cmd
|
9
|
+
register :add
|
10
|
+
|
11
|
+
summary 'Add one or more owners to an existing owner group'
|
12
|
+
|
13
|
+
description <<~str
|
14
|
+
Use this command to add one or more owners to an existing
|
15
|
+
owner group.
|
16
|
+
str
|
17
|
+
|
18
|
+
examples <<~str
|
19
|
+
Adding a single user to the group admins:
|
20
|
+
|
21
|
+
owners add user --to admins
|
22
|
+
|
23
|
+
Adding a several users at once:
|
24
|
+
|
25
|
+
owners add one two three --to admins
|
26
|
+
str
|
27
|
+
end
|
28
|
+
end
|
29
|
+
rb
|
30
|
+
-%>
|
31
|
+
|
32
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
33
|
+
|
34
|
+
<%= out sq(<<-'str')
|
35
|
+
Usage: owners add [options]
|
36
|
+
|
37
|
+
Summary:
|
38
|
+
|
39
|
+
Add one or more owners to an existing owner group
|
40
|
+
|
41
|
+
Description:
|
42
|
+
|
43
|
+
Use this command to add one or more owners to an existing
|
44
|
+
owner group.
|
45
|
+
|
46
|
+
Options:
|
47
|
+
|
48
|
+
--help Get help on this command
|
49
|
+
|
50
|
+
Examples:
|
51
|
+
|
52
|
+
Adding a single user to the group admins:
|
53
|
+
|
54
|
+
owners add user --to admins
|
55
|
+
|
56
|
+
Adding a several users at once:
|
57
|
+
|
58
|
+
owners add one two three --to admins
|
59
|
+
str
|
60
|
+
%>
|
@@ -0,0 +1,21 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', downcase: true
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to ONE))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"one"}' %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', enum: %w(one two)
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to one))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"one"}' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(%w(add --to unknown))" %>
|
24
|
+
|
25
|
+
<%= out sq(<<-'str')
|
26
|
+
Unknown value: to=unknown (known values: one, two)
|
27
|
+
|
28
|
+
Usage: owners add [options]
|
29
|
+
|
30
|
+
Options:
|
31
|
+
|
32
|
+
--to GROUP type: string, known values: one, two
|
33
|
+
--help Get help on this command
|
34
|
+
str
|
35
|
+
%>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', example: 'group-one'
|
11
|
+
end
|
12
|
+
rb
|
13
|
+
-%>
|
14
|
+
|
15
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
16
|
+
|
17
|
+
<%= out sq(<<-'str')
|
18
|
+
Usage: owners add [options]
|
19
|
+
|
20
|
+
Options:
|
21
|
+
|
22
|
+
--to GROUP type: string, e.g.: group-one
|
23
|
+
--help Get help on this command
|
24
|
+
str
|
25
|
+
%>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', format: /^\w+$/
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to one))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"one"}' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(['add', '--to', 'does not match!'])" %>
|
24
|
+
|
25
|
+
<%= out sq(<<-'str')
|
26
|
+
Invalid format: to (format: /^\w+$/)
|
27
|
+
|
28
|
+
Usage: owners add [options]
|
29
|
+
|
30
|
+
Options:
|
31
|
+
|
32
|
+
--to GROUP type: string, format: /^\w+$/
|
33
|
+
--help Get help on this command
|
34
|
+
str
|
35
|
+
%>
|
@@ -0,0 +1,28 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
require 'cl'
|
5
|
+
|
6
|
+
<%= run sq(<<-'rb')
|
7
|
+
require 'cl'
|
8
|
+
|
9
|
+
class Add < Cl::Cmd
|
10
|
+
register :add
|
11
|
+
|
12
|
+
opt '--to GROUP'
|
13
|
+
opt '--hidden', internal: true
|
14
|
+
end
|
15
|
+
rb
|
16
|
+
-%>
|
17
|
+
|
18
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
19
|
+
|
20
|
+
<%= out sq(<<-'str')
|
21
|
+
Usage: owners add [options]
|
22
|
+
|
23
|
+
Options:
|
24
|
+
|
25
|
+
--to GROUP type: string
|
26
|
+
--help Get help on this command
|
27
|
+
str
|
28
|
+
%>
|
@@ -0,0 +1,37 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--notifications', 'Send out notifications to the team', negate: %w(skip)
|
11
|
+
|
12
|
+
def run
|
13
|
+
p notifications?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --notifications))" %>
|
20
|
+
|
21
|
+
<%= out 'true' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(%w(add --no_notifications))" %>
|
24
|
+
|
25
|
+
<%= out 'false' %>
|
26
|
+
|
27
|
+
<%= run "Cl.new('owners').run(%w(add --no-notifications))" %>
|
28
|
+
|
29
|
+
<%= out 'false' %>
|
30
|
+
|
31
|
+
<%= run "Cl.new('owners').run(%w(add --skip_notifications))" %>
|
32
|
+
|
33
|
+
<%= out 'false' %>
|
34
|
+
|
35
|
+
<%= run "Cl.new('owners').run(%w(add --skip-notifications))" %>
|
36
|
+
|
37
|
+
<%= out 'false' %>
|
@@ -0,0 +1,25 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', note: 'needs to be a group'
|
11
|
+
end
|
12
|
+
rb
|
13
|
+
-%>
|
14
|
+
|
15
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
16
|
+
|
17
|
+
<%= out sq(<<-'str')
|
18
|
+
Usage: owners add [options]
|
19
|
+
|
20
|
+
Options:
|
21
|
+
|
22
|
+
--to GROUP type: string, note: needs to be a group
|
23
|
+
--help Get help on this command
|
24
|
+
str
|
25
|
+
%>
|
@@ -0,0 +1,33 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', 'Target group to add owners to'
|
11
|
+
|
12
|
+
def run
|
13
|
+
p opts: opts, to: to, to?: to?
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to one))" %>
|
20
|
+
|
21
|
+
<%= out '{:opts=>{:to=>"one"}, :to=>"one", :to?=>true}' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(%w(add --help))" %>
|
24
|
+
|
25
|
+
<%= out sq(<<-'str')
|
26
|
+
Usage: owners add [options]
|
27
|
+
|
28
|
+
Options:
|
29
|
+
|
30
|
+
--to GROUP Target group to add owners to (type: string)
|
31
|
+
--help Get help on this command
|
32
|
+
str
|
33
|
+
%>
|
@@ -0,0 +1,30 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
# depending on its arity the block can receive:
|
11
|
+
#
|
12
|
+
# * value
|
13
|
+
# * value, name
|
14
|
+
# * value, name, type
|
15
|
+
# * value, name, type, opts
|
16
|
+
opt '--to GROUP' do |value|
|
17
|
+
opts[:to] = "group-#{value}"
|
18
|
+
end
|
19
|
+
|
20
|
+
def run
|
21
|
+
p to: to
|
22
|
+
end
|
23
|
+
end
|
24
|
+
rb
|
25
|
+
-%>
|
26
|
+
|
27
|
+
<%= run "Cl.new('owners').run(%w(add --to one))" %>
|
28
|
+
|
29
|
+
<%= out '{:to=>"group-one"}' %>
|
30
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--retries COUNT', type: :integer, min: 1, max: 5
|
11
|
+
|
12
|
+
def run
|
13
|
+
p retries: retries
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --retries 1))" %>
|
20
|
+
|
21
|
+
<%= out '{:retries=>1}' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(%w(add --retries 10))" %>
|
24
|
+
|
25
|
+
<%= out sq(<<-'str')
|
26
|
+
Out of range: retries (min: 1, max: 5)
|
27
|
+
|
28
|
+
Usage: owners add [options]
|
29
|
+
|
30
|
+
Options:
|
31
|
+
|
32
|
+
--retries COUNT type: integer, min: 1, max: 5
|
33
|
+
--help Get help on this command
|
34
|
+
str
|
35
|
+
%>
|
@@ -0,0 +1,18 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
module Cmd
|
6
|
+
class One < Cl::Cmd
|
7
|
+
register :one
|
8
|
+
end
|
9
|
+
|
10
|
+
class Two < Cl::Cmd
|
11
|
+
register :two
|
12
|
+
end
|
13
|
+
end
|
14
|
+
rb
|
15
|
+
-%>
|
16
|
+
|
17
|
+
<%= run 'p Cl::Cmd[:one]' %> <%= out 'Cmd::One', short: true %>
|
18
|
+
<%= run 'p Cl::Cmd[:two]' %> <%= out 'Cmd::Two', short: true %>
|
@@ -0,0 +1,35 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
require 'cl'
|
6
|
+
|
7
|
+
class Add < Cl::Cmd
|
8
|
+
register :add
|
9
|
+
|
10
|
+
opt '--to GROUP', required: true
|
11
|
+
|
12
|
+
def run
|
13
|
+
p to: to
|
14
|
+
end
|
15
|
+
end
|
16
|
+
rb
|
17
|
+
-%>
|
18
|
+
|
19
|
+
<%= run "Cl.new('owners').run(%w(add --to one))" %>
|
20
|
+
|
21
|
+
<%= out '{:to=>"one"}' %>
|
22
|
+
|
23
|
+
<%= run "Cl.new('owners').run(%w(add))" %>
|
24
|
+
|
25
|
+
<%= out sq(<<-'str')
|
26
|
+
Missing required option: to
|
27
|
+
|
28
|
+
Usage: owners add [options]
|
29
|
+
|
30
|
+
Options:
|
31
|
+
|
32
|
+
--to GROUP type: string, required
|
33
|
+
--help Get help on this command
|
34
|
+
str
|
35
|
+
%>
|
@@ -0,0 +1,46 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
$: << File.expand_path('lib')
|
3
|
+
|
4
|
+
<%= run sq(<<-'rb')
|
5
|
+
class Add < Cl::Cmd
|
6
|
+
register :add
|
7
|
+
|
8
|
+
# read DNF, i.e. "token OR user AND pass
|
9
|
+
required :token, [:user, :pass]
|
10
|
+
|
11
|
+
opt '--token TOKEN'
|
12
|
+
opt '--user NAME'
|
13
|
+
opt '--pass PASS'
|
14
|
+
|
15
|
+
def run
|
16
|
+
p token: token, user: user, pass: pass
|
17
|
+
end
|
18
|
+
end
|
19
|
+
rb
|
20
|
+
-%>
|
21
|
+
|
22
|
+
<%= run "Cl.new('owners').run(%w(add --token token))" %>
|
23
|
+
|
24
|
+
<%= out '{:token=>"token", :user=>nil, :pass=>nil}' %>
|
25
|
+
|
26
|
+
<%= run "Cl.new('owners').run(%w(add --user user --pass pass))" %>
|
27
|
+
|
28
|
+
<%= out '{:token=>nil, :user=>"user", :pass=>"pass"}' %>
|
29
|
+
|
30
|
+
<%= run "Cl.new('owners').run(%w(add))" %>
|
31
|
+
|
32
|
+
<%= out sq(<<-'str')
|
33
|
+
Missing options: token, or user and pass
|
34
|
+
|
35
|
+
Usage: owners add [options]
|
36
|
+
|
37
|
+
Options:
|
38
|
+
|
39
|
+
Either token, or user and pass are required.
|
40
|
+
|
41
|
+
--token TOKEN type: string
|
42
|
+
--user NAME type: string
|
43
|
+
--pass PASS type: string
|
44
|
+
--help Get help on this command
|
45
|
+
str
|
46
|
+
%>
|