cli 1.3.1 → 1.4.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +7 -0
  2. data/Gemfile +5 -7
  3. data/Gemfile.lock +29 -37
  4. data/README.md +17 -18
  5. data/Rakefile +1 -28
  6. data/cli.gemspec +14 -84
  7. data/rdoc/CLI/Arguments.html +178 -0
  8. data/rdoc/CLI/DSL/Argument.html +200 -0
  9. data/rdoc/CLI/DSL/Arguments.html +172 -0
  10. data/rdoc/CLI/DSL/Base.html +154 -0
  11. data/rdoc/CLI/DSL/Cast.html +152 -0
  12. data/rdoc/CLI/DSL/Description.html +150 -0
  13. data/rdoc/CLI/DSL/Input.html +143 -0
  14. data/rdoc/CLI/DSL/MultiDefault.html +151 -0
  15. data/rdoc/CLI/DSL/Option.html +143 -0
  16. data/rdoc/CLI/DSL/Options.html +142 -0
  17. data/rdoc/CLI/DSL/Switch.html +267 -0
  18. data/rdoc/CLI/DSL/Value.html +238 -0
  19. data/rdoc/CLI/DSL.html +91 -0
  20. data/rdoc/CLI/Options.html +200 -0
  21. data/rdoc/CLI/ParserError/ArgumentNameSpecifiedTwice.html +138 -0
  22. data/rdoc/CLI/ParserError/LongNameSpecifiedTwiceError.html +138 -0
  23. data/rdoc/CLI/ParserError/MultipleArgumentsSpecifierError.html +138 -0
  24. data/rdoc/CLI/ParserError/NameArgumetNotSymbolError.html +138 -0
  25. data/rdoc/CLI/ParserError/OptionsArgumentNotHashError.html +138 -0
  26. data/rdoc/CLI/ParserError/ShortNameIsInvalidError.html +138 -0
  27. data/rdoc/CLI/ParserError/ShortNameNotSymbolError.html +138 -0
  28. data/rdoc/CLI/ParserError/ShortNameSpecifiedTwiceError.html +138 -0
  29. data/rdoc/CLI/ParserError.html +97 -0
  30. data/rdoc/CLI/ParsingError/CastError.html +138 -0
  31. data/rdoc/CLI/ParsingError/MandatoryArgumentNotSpecifiedError.html +138 -0
  32. data/rdoc/CLI/ParsingError/MandatoryOptionsNotSpecifiedError.html +138 -0
  33. data/rdoc/CLI/ParsingError/MissingOptionValueError.html +138 -0
  34. data/rdoc/CLI/ParsingError/UnknownSwitchError.html +138 -0
  35. data/rdoc/CLI/ParsingError/UsageError.html +97 -0
  36. data/rdoc/CLI/ParsingError.html +97 -0
  37. data/rdoc/CLI/Switches.html +306 -0
  38. data/rdoc/CLI/Values.html +202 -0
  39. data/rdoc/CLI.html +652 -0
  40. data/rdoc/README_md.html +553 -0
  41. data/rdoc/created.rid +7 -0
  42. data/rdoc/css/fonts.css +167 -0
  43. data/rdoc/css/rdoc.css +639 -0
  44. data/rdoc/fonts/Lato-Light.ttf +0 -0
  45. data/rdoc/fonts/Lato-LightItalic.ttf +0 -0
  46. data/rdoc/fonts/Lato-Regular.ttf +0 -0
  47. data/rdoc/fonts/Lato-RegularItalic.ttf +0 -0
  48. data/rdoc/fonts/SourceCodePro-Bold.ttf +0 -0
  49. data/rdoc/fonts/SourceCodePro-Regular.ttf +0 -0
  50. data/rdoc/images/add.png +0 -0
  51. data/rdoc/images/arrow_up.png +0 -0
  52. data/rdoc/images/brick.png +0 -0
  53. data/rdoc/images/brick_link.png +0 -0
  54. data/rdoc/images/bug.png +0 -0
  55. data/rdoc/images/bullet_black.png +0 -0
  56. data/rdoc/images/bullet_toggle_minus.png +0 -0
  57. data/rdoc/images/bullet_toggle_plus.png +0 -0
  58. data/rdoc/images/date.png +0 -0
  59. data/rdoc/images/delete.png +0 -0
  60. data/rdoc/images/find.png +0 -0
  61. data/rdoc/images/loadingAnimation.gif +0 -0
  62. data/rdoc/images/macFFBgHack.png +0 -0
  63. data/rdoc/images/package.png +0 -0
  64. data/rdoc/images/page_green.png +0 -0
  65. data/rdoc/images/page_white_text.png +0 -0
  66. data/rdoc/images/page_white_width.png +0 -0
  67. data/rdoc/images/plugin.png +0 -0
  68. data/rdoc/images/ruby.png +0 -0
  69. data/rdoc/images/tag_blue.png +0 -0
  70. data/rdoc/images/tag_green.png +0 -0
  71. data/rdoc/images/transparent.png +0 -0
  72. data/rdoc/images/wrench.png +0 -0
  73. data/rdoc/images/wrench_orange.png +0 -0
  74. data/rdoc/images/zoom.png +0 -0
  75. data/rdoc/index.html +120 -0
  76. data/rdoc/js/darkfish.js +84 -0
  77. data/rdoc/js/navigation.js +105 -0
  78. data/rdoc/js/navigation.js.gz +0 -0
  79. data/rdoc/js/search.js +110 -0
  80. data/rdoc/js/search_index.js +1 -0
  81. data/rdoc/js/search_index.js.gz +0 -0
  82. data/rdoc/js/searcher.js +229 -0
  83. data/rdoc/js/searcher.js.gz +0 -0
  84. data/rdoc/table_of_contents.html +533 -0
  85. data/spec/argument_spec.rb +104 -105
  86. data/spec/cli_spec.rb +27 -28
  87. data/spec/conflict_reporting_spec.rb +16 -17
  88. data/spec/option_spec.rb +60 -61
  89. data/spec/separator_spec.rb +19 -20
  90. data/spec/stdin_spec.rb +13 -14
  91. data/spec/switch_spec.rb +15 -16
  92. data/spec/usage_spec.rb +80 -81
  93. metadata +91 -139
  94. data/.document +0 -5
  95. data/.rspec +0 -1
  96. data/VERSION +0 -1
  97. data/features/cli.feature +0 -9
  98. data/features/step_definitions/cli_steps.rb +0 -0
  99. data/features/support/env.rb +0 -13
data/rdoc/css/rdoc.css ADDED
@@ -0,0 +1,639 @@
1
+ /*
2
+ * "Darkfish" Rdoc CSS
3
+ * $Id: rdoc.css 54 2009-01-27 01:09:48Z deveiant $
4
+ *
5
+ * Author: Michael Granger <ged@FaerieMUD.org>
6
+ *
7
+ */
8
+
9
+ /* vim: ft=css et sw=2 ts=2 sts=2 */
10
+ /* Base Green is: #6C8C22 */
11
+
12
+ .hide { display: none !important; }
13
+
14
+ * { padding: 0; margin: 0; }
15
+
16
+ body {
17
+ background: #fafafa;
18
+ font-family: Lato, sans-serif;
19
+ font-weight: 300;
20
+ }
21
+
22
+ h1 span,
23
+ h2 span,
24
+ h3 span,
25
+ h4 span,
26
+ h5 span,
27
+ h6 span {
28
+ position: relative;
29
+
30
+ display: none;
31
+ padding-left: 1em;
32
+ line-height: 0;
33
+ vertical-align: baseline;
34
+ font-size: 10px;
35
+ }
36
+
37
+ h1 span { top: -1.3em; }
38
+ h2 span { top: -1.2em; }
39
+ h3 span { top: -1.0em; }
40
+ h4 span { top: -0.8em; }
41
+ h5 span { top: -0.5em; }
42
+ h6 span { top: -0.5em; }
43
+
44
+ h1:hover span,
45
+ h2:hover span,
46
+ h3:hover span,
47
+ h4:hover span,
48
+ h5:hover span,
49
+ h6:hover span {
50
+ display: inline;
51
+ }
52
+
53
+ h1:target,
54
+ h2:target,
55
+ h3:target,
56
+ h4:target,
57
+ h5:target,
58
+ h6:target {
59
+ margin-left: -10px;
60
+ border-left: 10px solid #f1edba;
61
+ }
62
+
63
+ :link,
64
+ :visited {
65
+ color: #6C8C22;
66
+ text-decoration: none;
67
+ }
68
+
69
+ :link:hover,
70
+ :visited:hover {
71
+ border-bottom: 1px dotted #6C8C22;
72
+ }
73
+
74
+ code,
75
+ pre {
76
+ font-family: "Source Code Pro", Monaco, monospace;
77
+ background-color: rgba(27,31,35,0.05);
78
+ padding: 0em 0.2em;
79
+ border-radius: 0.2em;
80
+ }
81
+
82
+ table {
83
+ margin: 0;
84
+ border-spacing: 0;
85
+ border-collapse: collapse;
86
+ }
87
+
88
+ table tr th, table tr td {
89
+ padding: 0.2em 0.4em;
90
+ border: 1px solid #ccc;
91
+ }
92
+
93
+ table tr th {
94
+ background-color: #eceaed;
95
+ }
96
+
97
+ table tr:nth-child(even) td {
98
+ background-color: #f5f4f6;
99
+ }
100
+
101
+ /* @group Generic Classes */
102
+
103
+ .initially-hidden {
104
+ display: none;
105
+ }
106
+
107
+ #search-field {
108
+ width: 98%;
109
+ background: white;
110
+ border: none;
111
+ height: 1.5em;
112
+ -webkit-border-radius: 4px;
113
+ -moz-border-radius: 4px;
114
+ border-radius: 4px;
115
+ text-align: left;
116
+ }
117
+ #search-field:focus {
118
+ background: #f1edba;
119
+ }
120
+ #search-field:-moz-placeholder,
121
+ #search-field::-webkit-input-placeholder {
122
+ font-weight: bold;
123
+ color: #666;
124
+ }
125
+
126
+ .missing-docs {
127
+ font-size: 120%;
128
+ background: white url(../images/wrench_orange.png) no-repeat 4px center;
129
+ color: #ccc;
130
+ line-height: 2em;
131
+ border: 1px solid #d00;
132
+ opacity: 1;
133
+ padding-left: 20px;
134
+ text-indent: 24px;
135
+ letter-spacing: 3px;
136
+ font-weight: bold;
137
+ -webkit-border-radius: 5px;
138
+ -moz-border-radius: 5px;
139
+ }
140
+
141
+ .target-section {
142
+ border: 2px solid #dcce90;
143
+ border-left-width: 8px;
144
+ padding: 0 1em;
145
+ background: #fff3c2;
146
+ }
147
+
148
+ /* @end */
149
+
150
+ /* @group Index Page, Standalone file pages */
151
+ .table-of-contents ul {
152
+ margin: 1em;
153
+ list-style: none;
154
+ }
155
+
156
+ .table-of-contents ul ul {
157
+ margin-top: 0.25em;
158
+ }
159
+
160
+ .table-of-contents ul :link,
161
+ .table-of-contents ul :visited {
162
+ font-size: 16px;
163
+ }
164
+
165
+ .table-of-contents li {
166
+ margin-bottom: 0.25em;
167
+ }
168
+
169
+ .table-of-contents li .toc-toggle {
170
+ width: 16px;
171
+ height: 16px;
172
+ background: url(../images/add.png) no-repeat;
173
+ }
174
+
175
+ .table-of-contents li .toc-toggle.open {
176
+ background: url(../images/delete.png) no-repeat;
177
+ }
178
+
179
+ /* @end */
180
+
181
+ /* @group Top-Level Structure */
182
+
183
+ nav {
184
+ float: left;
185
+ width: 260px;
186
+ font-family: Helvetica, sans-serif;
187
+ font-size: 14px;
188
+ border-right: 1px solid #ccc;
189
+ }
190
+
191
+ main {
192
+ display: block;
193
+ margin: 0 2em 5em 260px;
194
+ padding-left: 20px;
195
+ min-width: 340px;
196
+ font-size: 16px;
197
+ }
198
+
199
+ main h1,
200
+ main h2,
201
+ main h3,
202
+ main h4,
203
+ main h5,
204
+ main h6 {
205
+ font-family: Helvetica, sans-serif;
206
+ }
207
+
208
+ .table-of-contents main {
209
+ margin-left: 2em;
210
+ }
211
+
212
+ #validator-badges {
213
+ clear: both;
214
+ margin: 1em 1em 2em;
215
+ font-size: smaller;
216
+ }
217
+
218
+ /* @end */
219
+
220
+ /* @group navigation */
221
+ nav {
222
+ margin-bottom: 1em;
223
+ }
224
+
225
+ nav .nav-section {
226
+ margin-top: 2em;
227
+ border-top: 2px solid #aaa;
228
+ font-size: 90%;
229
+ overflow: hidden;
230
+ }
231
+
232
+ nav h2 {
233
+ margin: 0;
234
+ padding: 2px 8px 2px 8px;
235
+ background-color: #e8e8e8;
236
+ color: #555;
237
+ font-size: 125%;
238
+ text-align: center;
239
+ }
240
+
241
+ nav h3,
242
+ #table-of-contents-navigation {
243
+ margin: 0;
244
+ padding: 2px 8px 2px 8px;
245
+ text-align: right;
246
+ background-color: #e8e8e8;
247
+ color: #555;
248
+ }
249
+
250
+ nav ul,
251
+ nav dl,
252
+ nav p {
253
+ padding: 4px 8px 0;
254
+ list-style: none;
255
+ }
256
+
257
+ #project-navigation .nav-section {
258
+ margin: 0;
259
+ border-top: 0;
260
+ }
261
+
262
+ #home-section h2 {
263
+ text-align: center;
264
+ }
265
+
266
+ #table-of-contents-navigation {
267
+ font-size: 1.2em;
268
+ font-weight: bold;
269
+ text-align: center;
270
+ }
271
+
272
+ #search-section {
273
+ margin-top: 0;
274
+ border-top: 0;
275
+ }
276
+
277
+ #search-field-wrapper {
278
+ border-top: 1px solid #aaa;
279
+ border-bottom: 1px solid #aaa;
280
+ padding: 3px 8px;
281
+ background-color: #e8e8e8;
282
+ color: #555;
283
+ }
284
+
285
+ ul.link-list li {
286
+ white-space: nowrap;
287
+ line-height: 1.4em;
288
+ }
289
+
290
+ ul.link-list .type {
291
+ font-size: 8px;
292
+ text-transform: uppercase;
293
+ color: white;
294
+ background: #969696;
295
+ padding: 2px 4px;
296
+ -webkit-border-radius: 5px;
297
+ }
298
+
299
+ dl.note-list dt {
300
+ float: left;
301
+ margin-right: 1em;
302
+ }
303
+
304
+ .calls-super {
305
+ background: url(../images/arrow_up.png) no-repeat right center;
306
+ }
307
+
308
+ /* @end */
309
+
310
+ /* @group Documentation Section */
311
+ main {
312
+ color: #333;
313
+ }
314
+
315
+ main > h1:first-child,
316
+ main > h2:first-child,
317
+ main > h3:first-child,
318
+ main > h4:first-child,
319
+ main > h5:first-child,
320
+ main > h6:first-child {
321
+ margin-top: 0px;
322
+ }
323
+
324
+ main sup {
325
+ vertical-align: super;
326
+ font-size: 0.8em;
327
+ }
328
+
329
+ /* The heading with the class name */
330
+ main h1[class] {
331
+ margin-top: 0;
332
+ margin-bottom: 1em;
333
+ font-size: 2em;
334
+ color: #6C8C22;
335
+ }
336
+
337
+ main h1 {
338
+ margin: 2em 0 0.5em;
339
+ font-size: 1.7em;
340
+ }
341
+
342
+ main h2 {
343
+ margin: 2em 0 0.5em;
344
+ font-size: 1.5em;
345
+ }
346
+
347
+ main h3 {
348
+ margin: 2em 0 0.5em;
349
+ font-size: 1.2em;
350
+ }
351
+
352
+ main h4 {
353
+ margin: 2em 0 0.5em;
354
+ font-size: 1.1em;
355
+ }
356
+
357
+ main h5 {
358
+ margin: 2em 0 0.5em;
359
+ font-size: 1em;
360
+ }
361
+
362
+ main h6 {
363
+ margin: 2em 0 0.5em;
364
+ font-size: 1em;
365
+ }
366
+
367
+ main p {
368
+ margin: 0 0 0.5em;
369
+ line-height: 1.4em;
370
+ }
371
+
372
+ main pre {
373
+ margin: 1.2em 0.5em;
374
+ padding: 1em;
375
+ font-size: 0.8em;
376
+ }
377
+
378
+ main hr {
379
+ margin: 1.5em 1em;
380
+ border: 2px solid #ddd;
381
+ }
382
+
383
+ main blockquote {
384
+ margin: 0 2em 1.2em 1.2em;
385
+ padding-left: 0.5em;
386
+ border-left: 2px solid #ddd;
387
+ }
388
+
389
+ main ol,
390
+ main ul {
391
+ margin: 1em 2em;
392
+ }
393
+
394
+ main li > p {
395
+ margin-bottom: 0.5em;
396
+ }
397
+
398
+ main dl {
399
+ margin: 1em 0.5em;
400
+ }
401
+
402
+ main dt {
403
+ margin-bottom: 0.5em;
404
+ font-weight: bold;
405
+ }
406
+
407
+ main dd {
408
+ margin: 0 1em 1em 0.5em;
409
+ }
410
+
411
+ main header h2 {
412
+ margin-top: 2em;
413
+ border-width: 0;
414
+ border-top: 4px solid #bbb;
415
+ font-size: 130%;
416
+ }
417
+
418
+ main header h3 {
419
+ margin: 2em 0 1.5em;
420
+ border-width: 0;
421
+ border-top: 3px solid #bbb;
422
+ font-size: 120%;
423
+ }
424
+
425
+ .documentation-section-title {
426
+ position: relative;
427
+ }
428
+ .documentation-section-title .section-click-top {
429
+ position: absolute;
430
+ top: 6px;
431
+ left: 12px;
432
+ font-size: 10px;
433
+ color: #9b9877;
434
+ visibility: hidden;
435
+ padding-left: 0.5px;
436
+ }
437
+
438
+ .documentation-section-title:hover .section-click-top {
439
+ visibility: visible;
440
+ }
441
+
442
+ .constants-list > dl {
443
+ margin: 1em 0 2em;
444
+ border: 0;
445
+ }
446
+
447
+ .constants-list > dl dt {
448
+ margin-bottom: 0.75em;
449
+ padding-left: 0;
450
+ font-family: "Source Code Pro", Monaco, monospace;
451
+ font-size: 110%;
452
+ }
453
+
454
+ .constants-list > dl dt a {
455
+ color: inherit;
456
+ }
457
+
458
+ .constants-list > dl dd {
459
+ margin: 0 0 2em 0;
460
+ padding: 0;
461
+ color: #666;
462
+ }
463
+
464
+ .documentation-section h2 {
465
+ position: relative;
466
+ }
467
+
468
+ .documentation-section h2 a {
469
+ position: absolute;
470
+ top: 8px;
471
+ right: 10px;
472
+ font-size: 12px;
473
+ color: #9b9877;
474
+ visibility: hidden;
475
+ }
476
+
477
+ .documentation-section h2:hover a {
478
+ visibility: visible;
479
+ }
480
+
481
+ /* @group Method Details */
482
+
483
+ main .method-source-code {
484
+ max-height: 0;
485
+ overflow: hidden;
486
+ transition-duration: 200ms;
487
+ transition-delay: 0ms;
488
+ transition-property: all;
489
+ transition-timing-function: ease-in-out;
490
+ }
491
+
492
+ main .method-source-code.active-menu {
493
+ max-height: 100vh;
494
+ }
495
+
496
+ main .method-description .method-calls-super {
497
+ color: #333;
498
+ font-weight: bold;
499
+ }
500
+
501
+ main .method-detail {
502
+ margin-bottom: 2.5em;
503
+ cursor: pointer;
504
+ }
505
+
506
+ main .method-detail:target {
507
+ margin-left: -10px;
508
+ border-left: 10px solid #f1edba;
509
+ }
510
+
511
+ main .method-heading {
512
+ position: relative;
513
+ font-family: "Source Code Pro", Monaco, monospace;
514
+ font-size: 110%;
515
+ font-weight: bold;
516
+ color: #333;
517
+ }
518
+ main .method-heading :link,
519
+ main .method-heading :visited {
520
+ color: inherit;
521
+ }
522
+ main .method-click-advice {
523
+ position: absolute;
524
+ top: 2px;
525
+ right: 5px;
526
+ font-size: 12px;
527
+ color: #9b9877;
528
+ visibility: hidden;
529
+ padding-right: 20px;
530
+ line-height: 20px;
531
+ background: url(../images/zoom.png) no-repeat right top;
532
+ }
533
+ main .method-heading:hover .method-click-advice {
534
+ visibility: visible;
535
+ }
536
+
537
+ main .method-alias .method-heading {
538
+ color: #666;
539
+ }
540
+
541
+ main .method-description,
542
+ main .aliases {
543
+ margin-top: 0.75em;
544
+ color: #333;
545
+ }
546
+
547
+ main .aliases {
548
+ padding-top: 4px;
549
+ font-style: italic;
550
+ cursor: default;
551
+ }
552
+ main .method-description ul {
553
+ margin-left: 1.5em;
554
+ }
555
+
556
+ main #attribute-method-details .method-detail:hover {
557
+ background-color: transparent;
558
+ cursor: default;
559
+ }
560
+ main .attribute-access-type {
561
+ text-transform: uppercase;
562
+ padding: 0 1em;
563
+ }
564
+ /* @end */
565
+
566
+ /* @end */
567
+
568
+ /* @group Source Code */
569
+
570
+ pre {
571
+ margin: 0.5em 0;
572
+ border: 1px dashed #999;
573
+ padding: 0.5em;
574
+ background: #262626;
575
+ color: white;
576
+ overflow: auto;
577
+ }
578
+
579
+ .ruby-constant { color: #7fffd4; background: transparent; }
580
+ .ruby-keyword { color: #00ffff; background: transparent; }
581
+ .ruby-ivar { color: #eedd82; background: transparent; }
582
+ .ruby-operator { color: #00ffee; background: transparent; }
583
+ .ruby-identifier { color: #ffdead; background: transparent; }
584
+ .ruby-node { color: #ffa07a; background: transparent; }
585
+ .ruby-comment { color: #dc0000; background: transparent; }
586
+ .ruby-regexp { color: #ffa07a; background: transparent; }
587
+ .ruby-value { color: #7fffd4; background: transparent; }
588
+
589
+ /* @end */
590
+
591
+
592
+ /* @group search results */
593
+ #search-results {
594
+ font-family: Lato, sans-serif;
595
+ font-weight: 300;
596
+ }
597
+
598
+ #search-results .search-match {
599
+ font-family: Helvetica, sans-serif;
600
+ font-weight: normal;
601
+ }
602
+
603
+ #search-results .search-selected {
604
+ background: #e8e8e8;
605
+ border-bottom: 1px solid transparent;
606
+ }
607
+
608
+ #search-results li {
609
+ list-style: none;
610
+ border-bottom: 1px solid #aaa;
611
+ margin-bottom: 0.5em;
612
+ }
613
+
614
+ #search-results li:last-child {
615
+ border-bottom: none;
616
+ margin-bottom: 0;
617
+ }
618
+
619
+ #search-results li p {
620
+ padding: 0;
621
+ margin: 0.5em;
622
+ }
623
+
624
+ #search-results .search-namespace {
625
+ font-weight: bold;
626
+ }
627
+
628
+ #search-results li em {
629
+ background: yellow;
630
+ font-style: normal;
631
+ }
632
+
633
+ #search-results pre {
634
+ margin: 0.5em;
635
+ font-family: "Source Code Pro", Monaco, monospace;
636
+ }
637
+
638
+ /* @end */
639
+
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file
Binary file