gli 2.18.2 → 2.19.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ce48a9dbc23454ebd42678e837bab21aab64a6d9e9bc1713d3ce57ddd8a802a
4
- data.tar.gz: 74e014e219d5ade2ff39bdf8ad69c0a19a258bc2208566438f3b3f87fbf98d2e
3
+ metadata.gz: 1d9dfe82dab8b65f6e40398bac8a94cac024b5cd252da184b52b00d29512b78c
4
+ data.tar.gz: 3914a6632dc595e1fda18c544665cb2ead472f41f5eeb1a4357bc4bb485f20ae
5
5
  SHA512:
6
- metadata.gz: 326911ec59ad5867f0a9acc3fac254258d59514b0efb99327834a6c2f79941f505f5cae9d284d330f4f32a80f4f9bea07146f48009940a7848a047899f8fcc71
7
- data.tar.gz: '0585ba1acb20eb2f9a743a4e5c3e715f3a10a0d9cc60b6ba2003f4034cd9c75c9347f0c91894fc0535bc32d32871a63cb7418d326d23ab732fbd7141eec4b462'
6
+ metadata.gz: af8cac9a13eaea92e7c76af8036edc21ef7f01e37efd63e475de7ce85b745e20fdcffb8d4d1bc9eff8038c5e05b298f8cc8e868cd19e7d16de0a8c7f2df7dd31
7
+ data.tar.gz: 96dd62eed7e82d5072720408df78377d603af67bf52938b4f7844a782e0a91602ad37e33a363dc8b40cab70edd45bb31b977385428d9a33e259e56f6f39c6776
@@ -1,10 +1,6 @@
1
- = Git-Like Interface Command Line Parser
1
+ = GLI, the Git-Like Interface Command Line Parser
2
2
 
3
- GLI is the best way to make a "command-suite" command-line application, e.g. one like <tt>git</tt> (for the best way to make a
4
- simpler command-line application, check out methadone[http://www.github.com/davetron5000/methadone]).
5
-
6
- GLI allows you to make a polished, easy-to-maintain command-line application without a lot
7
- of syntax, but without restricting you in any way from the power of +OptionParser+.
3
+ GLI allows you to create command-line app in Ruby that behaves like <tt>git</tt> in that it takes subcommands to perform a series of complex action, e.g. <tt>git remote add</tt>.
8
4
 
9
5
  * {Overview}[http://davetron5000.github.com/gli]
10
6
  * {Source on Github}[http://github.com/davetron5000/gli]
@@ -12,16 +8,40 @@ of syntax, but without restricting you in any way from the power of +OptionParse
12
8
 
13
9
  {<img src="https://secure.travis-ci.org/davetron5000/gli.svg?branch=gli-2" alt="Build Status" />}[https://travis-ci.org/davetron5000/gli]
14
10
 
11
+ == What Problem does GLI Solve?
12
+
13
+ Creating a command-line app that uses subcommands, each of which might accept different command-line options, is somewhat difficult with Ruby's built-in <tt>OptionParser</tt>. GLI provides an API that wraps <tt>OptionParser</tt> so that you can create a subcommand-based command-line app with minimal boilerplate. This API also produces complete documentation for your command-line app.
14
+
15
+ == Why is GLI's solution different from others?
16
+
17
+ There are other RubyGems that allow you to create a command-line app that takes subcommands. These solutions are often quite limited (e.g. they don't allow deeply nested subcommand structures or sophisticated command-line options per subcommand), or require more code that we think is needed. Some solutions make it difficult or impossible to properly document your command-line app.
18
+
19
+ == What you need to know to use GLI
20
+
21
+ You should know Ruby, and have a basic understanding of how the UNIX command line works: standard input, standard output, standard error, and exit codes.
22
+
15
23
  == Use
16
24
 
17
25
  Install if you need to:
18
26
 
19
27
  gem install gli
20
28
 
29
+ You can validate you have installed it correctly by running <tt>gli help</tt>. You should see formatted help output.
30
+
31
+ If you are using GLI in another application, add it to your <tt>Gemfile</tt>:
32
+
33
+ gem "gli"
34
+
35
+ You can test your install via Bundler by running <tt>bundle exec gli help</tt>. This should produce formatted help output from GLI.
36
+
37
+ == Getting Started
38
+
21
39
  The simplest way to get started is to create a scaffold project
22
40
 
23
41
  gli init todo list add complete
24
42
 
43
+ (note if you installed via Bundler you will need to execute <tt>bundle exec gli init todo list add complete</tt>)
44
+
25
45
  This will create a basic scaffold project in <tt>./todo</tt> with:
26
46
 
27
47
  * executable in <tt>./todo/bin/todo</tt>. This file demonstrates most of what you need to describe your command line interface.
data/bin/gli CHANGED
@@ -36,7 +36,7 @@ long_desc <<EOS
36
36
  EOS
37
37
  arg :project_name
38
38
  arg :command_name, [:optional, :multiple]
39
- arg_name "project_name [command_name][, [command_name]]*"
39
+ arg_name "project_name [command_name]..."
40
40
  command [:init,:scaffold] do |c|
41
41
 
42
42
  c.switch :e,:ext, :desc => 'Create an ext dir'
@@ -49,7 +49,7 @@ Feature: The GLI executable works as intended
49
49
  init - Create a new GLI-based project
50
50
 
51
51
  SYNOPSIS
52
- gli [global options] init [command options] project_name [command_name][, [command_name]]*
52
+ gli [global options] init [command options] project_name [command_name]...
53
53
 
54
54
  DESCRIPTION
55
55
  This will create a scaffold command line project that uses GLI for command
@@ -191,7 +191,7 @@ Feature: The todo app has a nice user interface
191
191
  list - List things, such as tasks or contexts
192
192
 
193
193
  SYNOPSIS
194
- todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task][, [task]]*
194
+ todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task]...
195
195
  todo [global options] list [command options] contexts [--otherflag arg] [-b] [-f|--foobar]
196
196
 
197
197
  DESCRIPTION
@@ -261,7 +261,7 @@ Feature: The todo app has a nice user interface
261
261
  list - List things, such as tasks or contexts
262
262
 
263
263
  SYNOPSIS
264
- todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task][, [task]]*
264
+ todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task]...
265
265
  todo [global options] list [command options] contexts [--otherflag arg] [-b] [-f|--foobar]
266
266
 
267
267
  DESCRIPTION
@@ -286,7 +286,7 @@ Feature: The todo app has a nice user interface
286
286
  list - List things, such as tasks or contexts
287
287
 
288
288
  SYNOPSIS
289
- todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task][, [task]]*
289
+ todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task]...
290
290
  todo [global options] list [command options] contexts [--otherflag arg] [-b] [-f|--foobar]
291
291
 
292
292
  DESCRIPTION
@@ -319,7 +319,7 @@ Feature: The todo app has a nice user interface
319
319
  list - List things, such as tasks or contexts
320
320
 
321
321
  SYNOPSIS
322
- todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task][, [task]]*
322
+ todo [global options] list [command options] [tasks] [--flag arg] [-x arg] [task]...
323
323
  todo [global options] list [command options] contexts [--otherflag arg] [-b] [-f|--foobar]
324
324
 
325
325
  DESCRIPTION
@@ -343,7 +343,7 @@ Feature: The todo app has a nice user interface
343
343
  tasks - List tasks
344
344
 
345
345
  SYNOPSIS
346
- todo [global options] list tasks [command options] [task][, [task]]*
346
+ todo [global options] list tasks [command options] [task]...
347
347
  todo [global options] list tasks [command options] open [--flag arg] [-x arg]
348
348
 
349
349
  DESCRIPTION
@@ -370,9 +370,9 @@ Feature: The todo app has a nice user interface
370
370
  todo [global options] create
371
371
  todo [global options] create contexts [context_name]
372
372
  todo [global options] create relation_1-1 first second [name]
373
- todo [global options] create relation_1-n first second[, second]* [name]
374
- todo [global options] create relation_n-1 first[, first]* second [name]
375
- todo [global options] create tasks task_name[, task_name]*
373
+ todo [global options] create relation_1-n first second... [name]
374
+ todo [global options] create relation_n-1 first... second [name]
375
+ todo [global options] create tasks task_name...
376
376
 
377
377
  COMMANDS
378
378
  <default> - Makes a new task
@@ -530,7 +530,7 @@ Feature: The todo app has a nice user interface
530
530
  list - List things, such as tasks or contexts
531
531
 
532
532
  SYNOPSIS
533
- todo [global options] list [command options] [tasks] [subcommand options] [task][, [task]]*
533
+ todo [global options] list [command options] [tasks] [subcommand options] [task]...
534
534
  todo [global options] list [command options] contexts [subcommand options]
535
535
 
536
536
  DESCRIPTION
@@ -92,7 +92,7 @@ Feature: The todo app is backwards compatible with legacy subcommand parsing
92
92
  SYNOPSIS
93
93
  todo [global options] create
94
94
  todo [global options] create contexts [context_name]
95
- todo [global options] create tasks task_name[, task_name]*
95
+ todo [global options] create tasks task_name...
96
96
 
97
97
  COMMANDS
98
98
  <default> - Makes a new task
@@ -22,7 +22,7 @@ module GLI
22
22
  arg_desc = "[#{arg_desc}]"
23
23
  end
24
24
  if arg.multiple?
25
- arg_desc = "#{arg_desc}[, #{arg_desc}]*"
25
+ arg_desc = "#{arg_desc}..."
26
26
  end
27
27
  desc = desc + " " + arg_desc
28
28
  end
@@ -37,7 +37,7 @@ module GLI
37
37
  desc = "[#{desc}]"
38
38
  end
39
39
  if arguments_options.include? :multiple
40
- desc = "#{desc}[, #{desc}]*"
40
+ desc = "#{desc}..."
41
41
  end
42
42
  " " + desc
43
43
  end
@@ -50,7 +50,7 @@ module GLI
50
50
  # command :pack do ...
51
51
  #
52
52
  # Produces the synopsis:
53
- # app.rb [global options] pack output input[, input]*
53
+ # app.rb [global options] pack output input...
54
54
  def arg(name, options=[])
55
55
  @next_arguments ||= []
56
56
  @next_arguments << Argument.new(name, Array(options).flatten)
@@ -1,5 +1,5 @@
1
1
  module GLI
2
2
  unless const_defined? :VERSION
3
- VERSION = '2.18.2'
3
+ VERSION = '2.19.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gli
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.18.2
4
+ version: 2.19.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Copeland
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-08-10 00:00:00.000000000 Z
11
+ date: 2019-09-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake