como 0.0.2 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (58) hide show
  1. data/CHANGELOG.rdoc +12 -0
  2. data/README.rdoc +11 -5
  3. data/Rakefile +6 -1
  4. data/doc/Como/ArgsParseState.html +912 -0
  5. data/doc/Como/ComoCommon.html +305 -0
  6. data/doc/Como/MainOpt.html +636 -0
  7. data/doc/Como/MasterOpt.html +636 -0
  8. data/doc/Como/Opt/ErrorWithData.html +304 -0
  9. data/doc/Como/Opt/InvalidOption.html +158 -0
  10. data/doc/Como/Opt/MissingArgument.html +158 -0
  11. data/doc/Como/Opt.html +6098 -0
  12. data/doc/Como/RuleCheck.html +933 -0
  13. data/doc/Como/RuleDisplay.html +1193 -0
  14. data/doc/Como/Spec.html +1750 -0
  15. data/doc/Como.html +625 -0
  16. data/doc/_index.html +242 -0
  17. data/doc/class_list.html +53 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +57 -0
  20. data/doc/css/style.css +338 -0
  21. data/doc/file.CHANGELOG.html +90 -0
  22. data/doc/file.README.html +94 -0
  23. data/doc/file.como.html +1962 -0
  24. data/doc/file_list.html +58 -0
  25. data/doc/frames.html +28 -0
  26. data/doc/index.html +94 -0
  27. data/doc/js/app.js +214 -0
  28. data/doc/js/full_list.js +178 -0
  29. data/doc/js/jquery.js +4 -0
  30. data/doc/method_list.html +838 -0
  31. data/doc/top-level-namespace.html +112 -0
  32. data/lib/como.rb +1660 -661
  33. data/test/como_compatible +37 -0
  34. data/test/como_config +44 -0
  35. data/test/como_options +36 -0
  36. data/test/como_queries +44 -0
  37. data/test/como_rule_1 +28 -0
  38. data/test/como_rule_2 +28 -0
  39. data/test/como_subcmd +72 -0
  40. data/test/como_subcmd_config +88 -0
  41. data/test/golden/compatible.txt +438 -0
  42. data/test/golden/config.txt +319 -0
  43. data/test/golden/options.txt +438 -0
  44. data/test/golden/queries.txt +78 -0
  45. data/test/golden/rule_1.txt +454 -0
  46. data/test/golden/rule_2.txt +476 -0
  47. data/test/golden/subcmd.txt +360 -0
  48. data/test/golden/subcmd_config.txt +534 -0
  49. data/test/test_como.rb +22 -328
  50. data/test/test_compatible +28 -0
  51. data/test/test_config +12 -0
  52. data/test/test_options +28 -0
  53. data/test/test_queries +7 -0
  54. data/test/test_rule_1 +27 -0
  55. data/test/test_rule_2 +27 -0
  56. data/test/test_subcmd +30 -0
  57. data/test/test_subcmd_config +31 -0
  58. metadata +62 -6
@@ -0,0 +1,1750 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>
7
+ Class: Como::Spec
8
+
9
+ &mdash; Documentation by YARD 0.8.6.1
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="../css/style.css" type="text/css" charset="utf-8" />
14
+
15
+ <link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
16
+
17
+ <script type="text/javascript" charset="utf-8">
18
+ hasFrames = window.top.frames.main ? true : false;
19
+ relpath = '../';
20
+ framesUrl = "../frames.html#!" + escape(window.location.href);
21
+ </script>
22
+
23
+
24
+ <script type="text/javascript" charset="utf-8" src="../js/jquery.js"></script>
25
+
26
+ <script type="text/javascript" charset="utf-8" src="../js/app.js"></script>
27
+
28
+
29
+ </head>
30
+ <body>
31
+ <div id="header">
32
+ <div id="menu">
33
+
34
+ <a href="../_index.html">Index (S)</a> &raquo;
35
+ <span class='title'><span class='object_link'><a href="../Como.html" title="Como (module)">Como</a></span></span>
36
+ &raquo;
37
+ <span class="title">Spec</span>
38
+
39
+
40
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
41
+ </div>
42
+
43
+ <div id="search">
44
+
45
+ <a class="full_list_link" id="class_list_link"
46
+ href="../class_list.html">
47
+ Class List
48
+ </a>
49
+
50
+ <a class="full_list_link" id="method_list_link"
51
+ href="../method_list.html">
52
+ Method List
53
+ </a>
54
+
55
+ <a class="full_list_link" id="file_list_link"
56
+ href="../file_list.html">
57
+ File List
58
+ </a>
59
+
60
+ </div>
61
+ <div class="clear"></div>
62
+ </div>
63
+
64
+ <iframe id="search_frame"></iframe>
65
+
66
+ <div id="content"><h1>Class: Como::Spec
67
+
68
+
69
+
70
+ </h1>
71
+
72
+ <dl class="box">
73
+
74
+ <dt class="r1">Inherits:</dt>
75
+ <dd class="r1">
76
+ <span class="inheritName"><span class='object_link'><a href="ComoCommon.html" title="Como::ComoCommon (class)">ComoCommon</a></span></span>
77
+
78
+ <ul class="fullTree">
79
+ <li>Object</li>
80
+
81
+ <li class="next"><span class='object_link'><a href="ComoCommon.html" title="Como::ComoCommon (class)">ComoCommon</a></span></li>
82
+
83
+ <li class="next">Como::Spec</li>
84
+
85
+ </ul>
86
+ <a href="#" class="inheritanceTree">show all</a>
87
+
88
+ </dd>
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+ <dt class="r2 last">Defined in:</dt>
99
+ <dd class="r2 last">lib/como.rb</dd>
100
+
101
+ </dl>
102
+ <div class="clear"></div>
103
+
104
+ <h2>Overview</h2><div class="docstring">
105
+ <div class="discussion">
106
+
107
+ <p>User interface for Como.</p>
108
+
109
+
110
+ </div>
111
+ </div>
112
+ <div class="tags">
113
+
114
+
115
+ </div>
116
+ <h2>Constant Summary</h2>
117
+
118
+ <dl class="constants">
119
+
120
+ <dt id="argv-classvariable" class="">@@argv =
121
+ <div class="docstring">
122
+ <div class="discussion">
123
+
124
+ <p>Command line options source.</p>
125
+
126
+
127
+ </div>
128
+ </div>
129
+ <div class="tags">
130
+
131
+
132
+ </div>
133
+ </dt>
134
+ <dd><pre class="code"><span class='const'>ARGV</span></pre></dd>
135
+
136
+ </dl>
137
+
138
+
139
+
140
+
141
+
142
+
143
+
144
+
145
+
146
+ <h2>
147
+ Class Method Summary
148
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
149
+ </h2>
150
+
151
+ <ul class="summary">
152
+
153
+ <li class="public ">
154
+ <span class="summary_signature">
155
+
156
+ <a href="#checkAlso-class_method" title="checkAlso (class method)">+ (Object) <strong>checkAlso</strong>(opt, error, &amp;check) </a>
157
+
158
+
159
+
160
+ </span>
161
+
162
+
163
+
164
+
165
+
166
+
167
+
168
+
169
+
170
+ <span class="summary_desc"><div class='inline'>
171
+ <p>Additional option check.</p>
172
+ </div></span>
173
+
174
+ </li>
175
+
176
+
177
+ <li class="public ">
178
+ <span class="summary_signature">
179
+
180
+ <a href="#checkRule-class_method" title="checkRule (class method)">+ (Object) <strong>checkRule</strong>(opt = nil, &amp;rule) </a>
181
+
182
+
183
+
184
+ </span>
185
+
186
+
187
+
188
+
189
+
190
+
191
+
192
+
193
+
194
+ <span class="summary_desc"><div class='inline'>
195
+ <p>Check option combination rules.</p>
196
+ </div></span>
197
+
198
+ </li>
199
+
200
+
201
+ <li class="public ">
202
+ <span class="summary_signature">
203
+
204
+ <a href="#command-class_method" title="command (class method)">+ (Object) <strong>command</strong>(prog, author, year, defs, config = {}) </a>
205
+
206
+
207
+
208
+ </span>
209
+
210
+
211
+
212
+
213
+
214
+
215
+
216
+
217
+
218
+ <span class="summary_desc"><div class='inline'>
219
+ <p>The primary entry point to Como.</p>
220
+ </div></span>
221
+
222
+ </li>
223
+
224
+
225
+ <li class="public ">
226
+ <span class="summary_signature">
227
+
228
+ <a href="#defineCheck-class_method" title="defineCheck (class method)">+ (Object) <strong>defineCheck</strong>(prog, author, year, defs, config = {}) </a>
229
+
230
+
231
+
232
+ </span>
233
+
234
+
235
+
236
+
237
+
238
+
239
+
240
+
241
+
242
+ <span class="summary_desc"><div class='inline'>
243
+ <p>Same as "defineCheckHelp" except without automatic "help" option
244
+ processing.</p>
245
+ </div></span>
246
+
247
+ </li>
248
+
249
+
250
+ <li class="public ">
251
+ <span class="summary_signature">
252
+
253
+ <a href="#defineCheckHelp-class_method" title="defineCheckHelp (class method)">+ (Object) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {}) </a>
254
+
255
+
256
+
257
+ </span>
258
+
259
+
260
+
261
+
262
+
263
+
264
+
265
+
266
+
267
+ <span class="summary_desc"><div class='inline'>
268
+ <p>Alias to Spec.command.</p>
269
+ </div></span>
270
+
271
+ </li>
272
+
273
+
274
+ <li class="public ">
275
+ <span class="summary_signature">
276
+
277
+ <a href="#program-class_method" title="program (class method)">+ (Object) <strong>program</strong>(author, year, config = nil) { ... }</a>
278
+
279
+
280
+
281
+ </span>
282
+
283
+
284
+
285
+
286
+
287
+
288
+
289
+
290
+
291
+ <span class="summary_desc"><div class='inline'>
292
+ <p>Create specification for program with subcmds.</p>
293
+ </div></span>
294
+
295
+ </li>
296
+
297
+
298
+ <li class="public ">
299
+ <span class="summary_signature">
300
+
301
+ <a href="#setArgv-class_method" title="setArgv (class method)">+ (Object) <strong>setArgv</strong>(newArgv) </a>
302
+
303
+
304
+
305
+ </span>
306
+
307
+
308
+
309
+
310
+
311
+
312
+
313
+
314
+
315
+ <span class="summary_desc"><div class='inline'>
316
+ <p>Set command line options source, i.e.</p>
317
+ </div></span>
318
+
319
+ </li>
320
+
321
+
322
+ <li class="public ">
323
+ <span class="summary_signature">
324
+
325
+ <a href="#setUsageFooter-class_method" title="setUsageFooter (class method)">+ (Object) <strong>setUsageFooter</strong>(str) </a>
326
+
327
+
328
+
329
+ </span>
330
+
331
+
332
+
333
+
334
+
335
+
336
+
337
+
338
+
339
+ <span class="summary_desc"><div class='inline'>
340
+ <p>Set optional footer for "usage".</p>
341
+ </div></span>
342
+
343
+ </li>
344
+
345
+
346
+ <li class="public ">
347
+ <span class="summary_signature">
348
+
349
+ <a href="#setUsageHeader-class_method" title="setUsageHeader (class method)">+ (Object) <strong>setUsageHeader</strong>(str) </a>
350
+
351
+
352
+
353
+ </span>
354
+
355
+
356
+
357
+
358
+
359
+
360
+
361
+
362
+
363
+ <span class="summary_desc"><div class='inline'>
364
+ <p>Set optional header for "usage".</p>
365
+ </div></span>
366
+
367
+ </li>
368
+
369
+
370
+ <li class="public ">
371
+ <span class="summary_signature">
372
+
373
+ <a href="#specify-class_method" title="specify (class method)">+ (Object) <strong>specify</strong>(table) </a>
374
+
375
+
376
+
377
+ </span>
378
+
379
+
380
+
381
+
382
+
383
+
384
+
385
+
386
+
387
+ <span class="summary_desc"><div class='inline'>
388
+ <p>Specify and check options spec.</p>
389
+ </div></span>
390
+
391
+ </li>
392
+
393
+
394
+ <li class="public ">
395
+ <span class="summary_signature">
396
+
397
+ <a href="#usage-class_method" title="usage (class method)">+ (Object) <strong>usage</strong> </a>
398
+
399
+
400
+
401
+ </span>
402
+
403
+
404
+
405
+
406
+
407
+
408
+
409
+
410
+
411
+ <span class="summary_desc"><div class='inline'>
412
+ <p>Display program usage (and optionally exit).</p>
413
+ </div></span>
414
+
415
+ </li>
416
+
417
+
418
+ </ul>
419
+
420
+ <h2>
421
+ Instance Method Summary
422
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
423
+ </h2>
424
+
425
+ <ul class="summary">
426
+
427
+ <li class="public ">
428
+ <span class="summary_signature">
429
+
430
+ <a href="#checkRule-instance_method" title="#checkRule (instance method)">- (Object) <strong>checkRule</strong>(opt = nil, &amp;rule) </a>
431
+
432
+
433
+
434
+ </span>
435
+
436
+
437
+
438
+
439
+
440
+
441
+
442
+
443
+
444
+ <span class="summary_desc"><div class='inline'>
445
+ <p>Check option combination rules.</p>
446
+ </div></span>
447
+
448
+ </li>
449
+
450
+
451
+ <li class="public ">
452
+ <span class="summary_signature">
453
+
454
+ <a href="#initialize-instance_method" title="#initialize (instance method)">- (Spec) <strong>initialize</strong>(author, year) </a>
455
+
456
+
457
+
458
+ </span>
459
+
460
+
461
+ <span class="note title constructor">constructor</span>
462
+
463
+
464
+
465
+
466
+
467
+
468
+
469
+
470
+ <span class="summary_desc"><div class='inline'>
471
+ <p>Create Spec object that can handle subcmd definitions.</p>
472
+ </div></span>
473
+
474
+ </li>
475
+
476
+
477
+ <li class="public ">
478
+ <span class="summary_signature">
479
+
480
+ <a href="#subcmd-instance_method" title="#subcmd (instance method)">- (Object) <strong>subcmd</strong>(cmd, defs, config = {}) </a>
481
+
482
+
483
+
484
+ </span>
485
+
486
+
487
+
488
+
489
+
490
+
491
+
492
+
493
+
494
+ <span class="summary_desc"><div class='inline'>
495
+ <p>Define subcommand options.</p>
496
+ </div></span>
497
+
498
+ </li>
499
+
500
+
501
+ </ul>
502
+
503
+
504
+
505
+
506
+
507
+
508
+
509
+
510
+
511
+
512
+
513
+ <h3 class="inherited">Methods inherited from <span class='object_link'><a href="ComoCommon.html" title="Como::ComoCommon (class)">ComoCommon</a></span></h3>
514
+ <p class="inherited"><span class='object_link'><a href="ComoCommon.html#getIo-class_method" title="Como::ComoCommon.getIo (method)">getIo</a></span>, <span class='object_link'><a href="ComoCommon.html#setIo-class_method" title="Como::ComoCommon.setIo (method)">setIo</a></span></p>
515
+ <div id="constructor_details" class="method_details_list">
516
+ <h2>Constructor Details</h2>
517
+
518
+ <div class="method_details first">
519
+ <h3 class="signature first" id="initialize-instance_method">
520
+
521
+ - (<tt><span class='object_link'><a href="" title="Como::Spec (class)">Spec</a></span></tt>) <strong>initialize</strong>(author, year)
522
+
523
+
524
+
525
+
526
+
527
+ </h3><div class="docstring">
528
+ <div class="discussion">
529
+
530
+ <p>Create Spec object that can handle subcmd definitions.</p>
531
+
532
+
533
+ </div>
534
+ </div>
535
+ <div class="tags">
536
+ <p class="tag_title">Parameters:</p>
537
+ <ul class="param">
538
+
539
+ <li>
540
+
541
+ <span class='name'>author</span>
542
+
543
+
544
+ <span class='type'>(<tt>String</tt>)</span>
545
+
546
+
547
+
548
+ &mdash;
549
+ <div class='inline'>
550
+ <p>Program author.</p>
551
+ </div>
552
+
553
+ </li>
554
+
555
+ <li>
556
+
557
+ <span class='name'>year</span>
558
+
559
+
560
+ <span class='type'>(<tt>String</tt>)</span>
561
+
562
+
563
+
564
+ &mdash;
565
+ <div class='inline'>
566
+ <p>Year (or dates) for program.</p>
567
+ </div>
568
+
569
+ </li>
570
+
571
+ </ul>
572
+
573
+
574
+ </div><table class="source_code">
575
+ <tr>
576
+ <td>
577
+ <pre class="lines">
578
+
579
+
580
+ 491
581
+ 492
582
+ 493
583
+ 494
584
+ 495
585
+ 496
586
+ 497</pre>
587
+ </td>
588
+ <td>
589
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 491</span>
590
+
591
+ <span class='kw'>def</span> <span class='id identifier rubyid_initialize'>initialize</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
592
+ <span class='ivar'>@author</span> <span class='op'>=</span> <span class='id identifier rubyid_author'>author</span>
593
+ <span class='ivar'>@year</span> <span class='op'>=</span> <span class='id identifier rubyid_year'>year</span>
594
+
595
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>String</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Author name is not a String</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
596
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_year'>year</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>String</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Year is not a String</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
597
+ <span class='kw'>end</span></pre>
598
+ </td>
599
+ </tr>
600
+ </table>
601
+ </div>
602
+
603
+ </div>
604
+
605
+
606
+ <div id="class_method_details" class="method_details_list">
607
+ <h2>Class Method Details</h2>
608
+
609
+
610
+ <div class="method_details first">
611
+ <h3 class="signature first" id="checkAlso-class_method">
612
+
613
+ + (<tt>Object</tt>) <strong>checkAlso</strong>(opt, error, &amp;check)
614
+
615
+
616
+
617
+
618
+
619
+ </h3><div class="docstring">
620
+ <div class="discussion">
621
+
622
+ <p>Additional option check.</p>
623
+
624
+
625
+ </div>
626
+ </div>
627
+ <div class="tags">
628
+ <p class="tag_title">Parameters:</p>
629
+ <ul class="param">
630
+
631
+ <li>
632
+
633
+ <span class='name'>opt</span>
634
+
635
+
636
+ <span class='type'>(<tt>String</tt>)</span>
637
+
638
+
639
+
640
+ &mdash;
641
+ <div class='inline'>
642
+ <p>Option name.</p>
643
+ </div>
644
+
645
+ </li>
646
+
647
+ <li>
648
+
649
+ <span class='name'>error</span>
650
+
651
+
652
+ <span class='type'>(<tt>String</tt>)</span>
653
+
654
+
655
+
656
+ &mdash;
657
+ <div class='inline'>
658
+ <p>Error string for false return values (from check).</p>
659
+ </div>
660
+
661
+ </li>
662
+
663
+ <li>
664
+
665
+ <span class='name'>check</span>
666
+
667
+
668
+ <span class='type'>(<tt>Proc</tt>)</span>
669
+
670
+
671
+
672
+ &mdash;
673
+ <div class='inline'>
674
+ <p>Checker proc run for the option. Either</p>
675
+ </div>
676
+
677
+ </li>
678
+
679
+ </ul>
680
+
681
+ <p class="tag_title">Returns:</p>
682
+ <ul class="return">
683
+
684
+ <li>
685
+
686
+
687
+ <span class='type'></span>
688
+
689
+
690
+
691
+
692
+ <div class='inline'>
693
+ <p>false or generate an exception when errors found.</p>
694
+ </div>
695
+
696
+ </li>
697
+
698
+ </ul>
699
+
700
+ </div><table class="source_code">
701
+ <tr>
702
+ <td>
703
+ <pre class="lines">
704
+
705
+
706
+ 671
707
+ 672
708
+ 673</pre>
709
+ </td>
710
+ <td>
711
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 671</span>
712
+
713
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
714
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_checkAlso'>checkAlso</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span><span class='comma'>,</span> <span class='id identifier rubyid_error'>error</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_check'>check</span> <span class='rparen'>)</span>
715
+ <span class='kw'>end</span></pre>
716
+ </td>
717
+ </tr>
718
+ </table>
719
+ </div>
720
+
721
+ <div class="method_details ">
722
+ <h3 class="signature " id="checkRule-class_method">
723
+
724
+ + (<tt>Object</tt>) <strong>checkRule</strong>(opt = nil, &amp;rule)
725
+
726
+
727
+
728
+
729
+
730
+ </h3><div class="docstring">
731
+ <div class="discussion">
732
+
733
+ <p>Check option combination rules.</p>
734
+
735
+
736
+ </div>
737
+ </div>
738
+ <div class="tags">
739
+ <p class="tag_title">Parameters:</p>
740
+ <ul class="param">
741
+
742
+ <li>
743
+
744
+ <span class='name'>opt</span>
745
+
746
+
747
+ <span class='type'>(<tt>String</tt>)</span>
748
+
749
+
750
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
751
+
752
+
753
+ &mdash;
754
+ <div class='inline'>
755
+ <p>Opt name to which rules are set. If not given, Opt.current is used.</p>
756
+ </div>
757
+
758
+ </li>
759
+
760
+ <li>
761
+
762
+ <span class='name'>rule</span>
763
+
764
+
765
+ <span class='type'>(<tt>Proc</tt>)</span>
766
+
767
+
768
+
769
+ &mdash;
770
+ <div class='inline'>
771
+ <p>Rules to check.</p>
772
+ </div>
773
+
774
+ </li>
775
+
776
+ </ul>
777
+
778
+
779
+ </div><table class="source_code">
780
+ <tr>
781
+ <td>
782
+ <pre class="lines">
783
+
784
+
785
+ 641
786
+ 642
787
+ 643
788
+ 644
789
+ 645
790
+ 646
791
+ 647
792
+ 648
793
+ 649</pre>
794
+ </td>
795
+ <td>
796
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 641</span>
797
+
798
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
799
+ <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
800
+ <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='lbracket'>[</span> <span class='id identifier rubyid_opt'>opt</span> <span class='rbracket'>]</span>
801
+ <span class='kw'>else</span>
802
+ <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span>
803
+ <span class='kw'>end</span>
804
+ <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_setRuleCheck'>setRuleCheck</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
805
+ <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_checkRule'>checkRule</span>
806
+ <span class='kw'>end</span></pre>
807
+ </td>
808
+ </tr>
809
+ </table>
810
+ </div>
811
+
812
+ <div class="method_details ">
813
+ <h3 class="signature " id="command-class_method">
814
+
815
+ + (<tt>Object</tt>) <strong>command</strong>(prog, author, year, defs, config = {})
816
+
817
+
818
+
819
+
820
+
821
+ </h3><div class="docstring">
822
+ <div class="discussion">
823
+
824
+ <p>The primary entry point to Como. Defines the command switches and parses
825
+ the command line. Performs "usage" display if "help" was selected.</p>
826
+
827
+
828
+ </div>
829
+ </div>
830
+ <div class="tags">
831
+ <p class="tag_title">Parameters:</p>
832
+ <ul class="param">
833
+
834
+ <li>
835
+
836
+ <span class='name'>prog</span>
837
+
838
+
839
+ <span class='type'>(<tt>String</tt>)</span>
840
+
841
+
842
+
843
+ &mdash;
844
+ <div class='inline'>
845
+ <p>Program (i.e. command) name.</p>
846
+ </div>
847
+
848
+ </li>
849
+
850
+ <li>
851
+
852
+ <span class='name'>author</span>
853
+
854
+
855
+ <span class='type'>(<tt>String</tt>)</span>
856
+
857
+
858
+
859
+ &mdash;
860
+ <div class='inline'>
861
+ <p>Author of the program.</p>
862
+ </div>
863
+
864
+ </li>
865
+
866
+ <li>
867
+
868
+ <span class='name'>year</span>
869
+
870
+
871
+ <span class='type'>(<tt>String</tt>)</span>
872
+
873
+
874
+
875
+ &mdash;
876
+ <div class='inline'>
877
+ <p>Year (or dates) for program.</p>
878
+ </div>
879
+
880
+ </li>
881
+
882
+ <li>
883
+
884
+ <span class='name'>defs</span>
885
+
886
+
887
+ <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
888
+
889
+
890
+
891
+ &mdash;
892
+ <div class='inline'>
893
+ <p>Option definitions.</p>
894
+ </div>
895
+
896
+ </li>
897
+
898
+ <li>
899
+
900
+ <span class='name'>config</span>
901
+
902
+
903
+ <span class='type'>(<tt>Hash</tt>)</span>
904
+
905
+
906
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
907
+
908
+
909
+ &mdash;
910
+ <div class='inline'>
911
+ <p>Option definition’s behavioral config (changes @@config defaults).</p>
912
+ </div>
913
+
914
+ </li>
915
+
916
+ </ul>
917
+
918
+
919
+ </div><table class="source_code">
920
+ <tr>
921
+ <td>
922
+ <pre class="lines">
923
+
924
+
925
+ 468
926
+ 469
927
+ 470
928
+ 471</pre>
929
+ </td>
930
+ <td>
931
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 468</span>
932
+
933
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
934
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheck'>defineCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
935
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span> <span class='kw'>if</span> <span class='const'>Opt</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>help</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_given'>given</span>
936
+ <span class='kw'>end</span></pre>
937
+ </td>
938
+ </tr>
939
+ </table>
940
+ </div>
941
+
942
+ <div class="method_details ">
943
+ <h3 class="signature " id="defineCheck-class_method">
944
+
945
+ + (<tt>Object</tt>) <strong>defineCheck</strong>(prog, author, year, defs, config = {})
946
+
947
+
948
+
949
+
950
+
951
+ </h3><div class="docstring">
952
+ <div class="discussion">
953
+
954
+ <p>Same as "defineCheckHelp" except without automatic "help" option
955
+ processing.</p>
956
+
957
+
958
+ </div>
959
+ </div>
960
+ <div class="tags">
961
+
962
+
963
+ </div><table class="source_code">
964
+ <tr>
965
+ <td>
966
+ <pre class="lines">
967
+
968
+
969
+ 480
970
+ 481
971
+ 482
972
+ 483
973
+ 484</pre>
974
+ </td>
975
+ <td>
976
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 480</span>
977
+
978
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheck'>defineCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
979
+ <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
980
+ <span class='id identifier rubyid_spec'>spec</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
981
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='const'>ArgsParseState</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='cvar'>@@argv</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
982
+ <span class='kw'>end</span></pre>
983
+ </td>
984
+ </tr>
985
+ </table>
986
+ </div>
987
+
988
+ <div class="method_details ">
989
+ <h3 class="signature " id="defineCheckHelp-class_method">
990
+
991
+ + (<tt>Object</tt>) <strong>defineCheckHelp</strong>(prog, author, year, defs, config = {})
992
+
993
+
994
+
995
+
996
+
997
+ </h3><div class="docstring">
998
+ <div class="discussion">
999
+
1000
+ <p>Alias to Spec.command.</p>
1001
+
1002
+
1003
+ </div>
1004
+ </div>
1005
+ <div class="tags">
1006
+
1007
+
1008
+ </div><table class="source_code">
1009
+ <tr>
1010
+ <td>
1011
+ <pre class="lines">
1012
+
1013
+
1014
+ 474
1015
+ 475
1016
+ 476</pre>
1017
+ </td>
1018
+ <td>
1019
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 474</span>
1020
+
1021
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_defineCheckHelp'>defineCheckHelp</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1022
+ <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_command'>command</span><span class='lparen'>(</span> <span class='id identifier rubyid_prog'>prog</span><span class='comma'>,</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1023
+ <span class='kw'>end</span></pre>
1024
+ </td>
1025
+ </tr>
1026
+ </table>
1027
+ </div>
1028
+
1029
+ <div class="method_details ">
1030
+ <h3 class="signature " id="program-class_method">
1031
+
1032
+ + (<tt>Object</tt>) <strong>program</strong>(author, year, config = nil) { ... }
1033
+
1034
+
1035
+
1036
+
1037
+
1038
+ </h3><div class="docstring">
1039
+ <div class="discussion">
1040
+
1041
+ <p>Create specification for program with subcmds.</p>
1042
+
1043
+
1044
+ </div>
1045
+ </div>
1046
+ <div class="tags">
1047
+ <p class="tag_title">Parameters:</p>
1048
+ <ul class="param">
1049
+
1050
+ <li>
1051
+
1052
+ <span class='name'>author</span>
1053
+
1054
+
1055
+ <span class='type'>(<tt>String</tt>)</span>
1056
+
1057
+
1058
+
1059
+ &mdash;
1060
+ <div class='inline'>
1061
+ <p>Program author.</p>
1062
+ </div>
1063
+
1064
+ </li>
1065
+
1066
+ <li>
1067
+
1068
+ <span class='name'>year</span>
1069
+
1070
+
1071
+ <span class='type'>(<tt>String</tt>)</span>
1072
+
1073
+
1074
+
1075
+ &mdash;
1076
+ <div class='inline'>
1077
+ <p>Year (or dates) for program.</p>
1078
+ </div>
1079
+
1080
+ </li>
1081
+
1082
+ </ul>
1083
+
1084
+ <p class="tag_title">Yields:</p>
1085
+ <ul class="yield">
1086
+
1087
+ <li>
1088
+
1089
+
1090
+ <span class='type'></span>
1091
+
1092
+
1093
+
1094
+
1095
+ <div class='inline'><dl class="rdoc-list"><dt></dt>
1096
+ <dd>
1097
+ <p>Subcmd definitions.</p>
1098
+ </dd></dl>
1099
+ </div>
1100
+
1101
+ </li>
1102
+
1103
+ </ul>
1104
+
1105
+ </div><table class="source_code">
1106
+ <tr>
1107
+ <td>
1108
+ <pre class="lines">
1109
+
1110
+
1111
+ 448
1112
+ 449
1113
+ 450
1114
+ 451
1115
+ 452
1116
+ 453
1117
+ 454
1118
+ 455</pre>
1119
+ </td>
1120
+ <td>
1121
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 448</span>
1122
+
1123
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_program'>program</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1124
+ <span class='kw'>if</span> <span class='id identifier rubyid_config'>config</span>
1125
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_configOverlay'>configOverlay</span><span class='lparen'>(</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1126
+ <span class='kw'>end</span>
1127
+ <span class='id identifier rubyid_spec'>spec</span> <span class='op'>=</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='id identifier rubyid_author'>author</span><span class='comma'>,</span> <span class='id identifier rubyid_year'>year</span> <span class='rparen'>)</span>
1128
+ <span class='id identifier rubyid_spec'>spec</span><span class='period'>.</span><span class='id identifier rubyid_instance_eval'>instance_eval</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span>
1129
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_check'>check</span><span class='lparen'>(</span> <span class='const'>ArgsParseState</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='cvar'>@@argv</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1130
+ <span class='kw'>end</span></pre>
1131
+ </td>
1132
+ </tr>
1133
+ </table>
1134
+ </div>
1135
+
1136
+ <div class="method_details ">
1137
+ <h3 class="signature " id="setArgv-class_method">
1138
+
1139
+ + (<tt>Object</tt>) <strong>setArgv</strong>(newArgv)
1140
+
1141
+
1142
+
1143
+
1144
+
1145
+ </h3><div class="docstring">
1146
+ <div class="discussion">
1147
+
1148
+ <p>Set command line options source, i.e. @@argv (default: ARGV).</p>
1149
+
1150
+
1151
+ </div>
1152
+ </div>
1153
+ <div class="tags">
1154
+
1155
+
1156
+ </div><table class="source_code">
1157
+ <tr>
1158
+ <td>
1159
+ <pre class="lines">
1160
+
1161
+
1162
+ 615
1163
+ 616
1164
+ 617</pre>
1165
+ </td>
1166
+ <td>
1167
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 615</span>
1168
+
1169
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setArgv'>setArgv</span><span class='lparen'>(</span> <span class='id identifier rubyid_newArgv'>newArgv</span> <span class='rparen'>)</span>
1170
+ <span class='cvar'>@@argv</span> <span class='op'>=</span> <span class='id identifier rubyid_newArgv'>newArgv</span>
1171
+ <span class='kw'>end</span></pre>
1172
+ </td>
1173
+ </tr>
1174
+ </table>
1175
+ </div>
1176
+
1177
+ <div class="method_details ">
1178
+ <h3 class="signature " id="setUsageFooter-class_method">
1179
+
1180
+ + (<tt>Object</tt>) <strong>setUsageFooter</strong>(str)
1181
+
1182
+
1183
+
1184
+
1185
+
1186
+ </h3><div class="docstring">
1187
+ <div class="discussion">
1188
+
1189
+ <p>Set optional footer for "usage".</p>
1190
+
1191
+
1192
+ </div>
1193
+ </div>
1194
+ <div class="tags">
1195
+
1196
+
1197
+ </div><table class="source_code">
1198
+ <tr>
1199
+ <td>
1200
+ <pre class="lines">
1201
+
1202
+
1203
+ 631
1204
+ 632
1205
+ 633</pre>
1206
+ </td>
1207
+ <td>
1208
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 631</span>
1209
+
1210
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1211
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageFooter'>setUsageFooter</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1212
+ <span class='kw'>end</span></pre>
1213
+ </td>
1214
+ </tr>
1215
+ </table>
1216
+ </div>
1217
+
1218
+ <div class="method_details ">
1219
+ <h3 class="signature " id="setUsageHeader-class_method">
1220
+
1221
+ + (<tt>Object</tt>) <strong>setUsageHeader</strong>(str)
1222
+
1223
+
1224
+
1225
+
1226
+
1227
+ </h3><div class="docstring">
1228
+ <div class="discussion">
1229
+
1230
+ <p>Set optional header for "usage".</p>
1231
+
1232
+
1233
+ </div>
1234
+ </div>
1235
+ <div class="tags">
1236
+
1237
+
1238
+ </div><table class="source_code">
1239
+ <tr>
1240
+ <td>
1241
+ <pre class="lines">
1242
+
1243
+
1244
+ 625
1245
+ 626
1246
+ 627</pre>
1247
+ </td>
1248
+ <td>
1249
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 625</span>
1250
+
1251
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1252
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_setUsageHeader'>setUsageHeader</span><span class='lparen'>(</span> <span class='id identifier rubyid_str'>str</span> <span class='rparen'>)</span>
1253
+ <span class='kw'>end</span></pre>
1254
+ </td>
1255
+ </tr>
1256
+ </table>
1257
+ </div>
1258
+
1259
+ <div class="method_details ">
1260
+ <h3 class="signature " id="specify-class_method">
1261
+
1262
+ + (<tt>Object</tt>) <strong>specify</strong>(table)
1263
+
1264
+
1265
+
1266
+
1267
+
1268
+ </h3><div class="docstring">
1269
+ <div class="discussion">
1270
+
1271
+ <p>Specify and check options spec.</p>
1272
+
1273
+
1274
+ </div>
1275
+ </div>
1276
+ <div class="tags">
1277
+ <p class="tag_title">Parameters:</p>
1278
+ <ul class="param">
1279
+
1280
+ <li>
1281
+
1282
+ <span class='name'>table</span>
1283
+
1284
+
1285
+ <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1286
+
1287
+
1288
+
1289
+ &mdash;
1290
+ <div class='inline'>
1291
+ <p>Option definition table.</p>
1292
+ </div>
1293
+
1294
+ </li>
1295
+
1296
+ </ul>
1297
+
1298
+
1299
+ </div><table class="source_code">
1300
+ <tr>
1301
+ <td>
1302
+ <pre class="lines">
1303
+
1304
+
1305
+ 541
1306
+ 542
1307
+ 543
1308
+ 544
1309
+ 545
1310
+ 546
1311
+ 547
1312
+ 548
1313
+ 549
1314
+ 550
1315
+ 551
1316
+ 552
1317
+ 553
1318
+ 554
1319
+ 555
1320
+ 556
1321
+ 557
1322
+ 558
1323
+ 559
1324
+ 560
1325
+ 561
1326
+ 562
1327
+ 563
1328
+ 564
1329
+ 565
1330
+ 566
1331
+ 567
1332
+ 568
1333
+ 569
1334
+ 570
1335
+ 571
1336
+ 572
1337
+ 573
1338
+ 574
1339
+ 575
1340
+ 576
1341
+ 577
1342
+ 578
1343
+ 579
1344
+ 580
1345
+ 581
1346
+ 582
1347
+ 583
1348
+ 584
1349
+ 585
1350
+ 586
1351
+ 587
1352
+ 588
1353
+ 589
1354
+ 590
1355
+ 591
1356
+ 592
1357
+ 593
1358
+ 594
1359
+ 595
1360
+ 596
1361
+ 597
1362
+ 598
1363
+ 599
1364
+ 600
1365
+ 601
1366
+ 602
1367
+ 603
1368
+ 604
1369
+ 605
1370
+ 606
1371
+ 607
1372
+ 608</pre>
1373
+ </td>
1374
+ <td>
1375
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 541</span>
1376
+
1377
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span> <span class='rparen'>)</span>
1378
+
1379
+ <span class='id identifier rubyid_options'>options</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1380
+ <span class='id identifier rubyid_subcmds'>subcmds</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span>
1381
+
1382
+ <span class='comment'># Type checks for valid user input.
1383
+ </span> <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table is not an Array</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1384
+
1385
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_each_index'>each_index</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_idx'>idx</span><span class='op'>|</span>
1386
+
1387
+ <span class='id identifier rubyid_i'>i</span> <span class='op'>=</span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span>
1388
+
1389
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_class'>class</span> <span class='op'>==</span> <span class='const'>Array</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry is not an Array</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1390
+
1391
+ <span class='kw'>if</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:default</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>2</span>
1392
+
1393
+ <span class='comment'># Add 2 dummy entries for :default type if needed.
1394
+ </span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1395
+
1396
+ <span class='kw'>elsif</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span> <span class='op'>&amp;&amp;</span> <span class='id identifier rubyid_i'>i</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>3</span>
1397
+
1398
+ <span class='comment'># Add 1 dummy entry for :subcmd type if needed.
1399
+ </span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='lbracket'>[</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='id identifier rubyid_i'>i</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span> <span class='rbracket'>]</span>
1400
+ <span class='kw'>end</span>
1401
+
1402
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='id identifier rubyid_table'>table</span><span class='lbracket'>[</span> <span class='id identifier rubyid_idx'>idx</span> <span class='rbracket'>]</span><span class='period'>.</span><span class='id identifier rubyid_length'>length</span> <span class='op'>==</span> <span class='int'>4</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Option table entry length not 4</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span>
1403
+ <span class='kw'>end</span>
1404
+
1405
+
1406
+ <span class='id identifier rubyid_table'>table</span><span class='period'>.</span><span class='id identifier rubyid_each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id identifier rubyid_e'>e</span><span class='op'>|</span>
1407
+
1408
+ <span class='kw'>if</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span> <span class='op'>==</span> <span class='symbol'>:subcmd</span>
1409
+
1410
+ <span class='id identifier rubyid_subcmds'>subcmds</span><span class='lbracket'>[</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1411
+
1412
+ <span class='kw'>else</span>
1413
+
1414
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='kw'>nil</span>
1415
+
1416
+ <span class='kw'>case</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
1417
+
1418
+ <span class='kw'>when</span> <span class='symbol'>:switch</span>
1419
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_switch'>switch</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1420
+
1421
+ <span class='kw'>when</span> <span class='symbol'>:exclusive</span>
1422
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_exclusive'>exclusive</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1423
+
1424
+ <span class='kw'>when</span> <span class='symbol'>:silent</span>
1425
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_exclusive'>exclusive</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='kw'>true</span> <span class='rparen'>)</span>
1426
+
1427
+ <span class='kw'>when</span> <span class='symbol'>:single</span><span class='comma'>,</span> <span class='symbol'>:multi</span><span class='comma'>,</span> <span class='symbol'>:opt_single</span><span class='comma'>,</span> <span class='symbol'>:opt_multi</span><span class='comma'>,</span> <span class='symbol'>:opt_any</span>
1428
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_full'>full</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>1</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>2</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1429
+
1430
+ <span class='kw'>when</span> <span class='symbol'>:default</span>
1431
+ <span class='id identifier rubyid_option'>option</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_defaultOpt'>defaultOpt</span><span class='lparen'>(</span> <span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>3</span><span class='rbracket'>]</span> <span class='rparen'>)</span>
1432
+
1433
+ <span class='kw'>else</span>
1434
+ <span class='id identifier rubyid_raise'>raise</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Unknown option type: \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_e'>e</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot;...</span><span class='tstring_end'>&quot;</span></span>
1435
+ <span class='kw'>end</span>
1436
+
1437
+ <span class='id identifier rubyid_options'>options</span><span class='lbracket'>[</span> <span class='id identifier rubyid_option'>option</span><span class='period'>.</span><span class='id identifier rubyid_name'>name</span> <span class='rbracket'>]</span> <span class='op'>=</span> <span class='id identifier rubyid_option'>option</span>
1438
+
1439
+ <span class='kw'>end</span>
1440
+
1441
+ <span class='kw'>end</span>
1442
+
1443
+ <span class='lbracket'>[</span> <span class='id identifier rubyid_options'>options</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span><span class='comma'>,</span> <span class='id identifier rubyid_subcmds'>subcmds</span><span class='period'>.</span><span class='id identifier rubyid_values'>values</span> <span class='rbracket'>]</span>
1444
+ <span class='kw'>end</span></pre>
1445
+ </td>
1446
+ </tr>
1447
+ </table>
1448
+ </div>
1449
+
1450
+ <div class="method_details ">
1451
+ <h3 class="signature " id="usage-class_method">
1452
+
1453
+ + (<tt>Object</tt>) <strong>usage</strong>
1454
+
1455
+
1456
+
1457
+
1458
+
1459
+ </h3><div class="docstring">
1460
+ <div class="discussion">
1461
+
1462
+ <p>Display program usage (and optionally exit).</p>
1463
+
1464
+
1465
+ </div>
1466
+ </div>
1467
+ <div class="tags">
1468
+
1469
+
1470
+ </div><table class="source_code">
1471
+ <tr>
1472
+ <td>
1473
+ <pre class="lines">
1474
+
1475
+
1476
+ 620
1477
+ 621
1478
+ 622</pre>
1479
+ </td>
1480
+ <td>
1481
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 620</span>
1482
+
1483
+ <span class='kw'>def</span> <span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
1484
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span><span class='period'>.</span><span class='id identifier rubyid_usage'>usage</span>
1485
+ <span class='kw'>end</span></pre>
1486
+ </td>
1487
+ </tr>
1488
+ </table>
1489
+ </div>
1490
+
1491
+ </div>
1492
+
1493
+ <div id="instance_method_details" class="method_details_list">
1494
+ <h2>Instance Method Details</h2>
1495
+
1496
+
1497
+ <div class="method_details first">
1498
+ <h3 class="signature first" id="checkRule-instance_method">
1499
+
1500
+ - (<tt>Object</tt>) <strong>checkRule</strong>(opt = nil, &amp;rule)
1501
+
1502
+
1503
+
1504
+
1505
+
1506
+ </h3><div class="docstring">
1507
+ <div class="discussion">
1508
+
1509
+ <p>Check option combination rules.</p>
1510
+
1511
+
1512
+ </div>
1513
+ </div>
1514
+ <div class="tags">
1515
+ <p class="tag_title">Parameters:</p>
1516
+ <ul class="param">
1517
+
1518
+ <li>
1519
+
1520
+ <span class='name'>opt</span>
1521
+
1522
+
1523
+ <span class='type'>(<tt>String</tt>)</span>
1524
+
1525
+
1526
+ <em class="default">(defaults to: <tt>nil</tt>)</em>
1527
+
1528
+
1529
+ &mdash;
1530
+ <div class='inline'>
1531
+ <p>Opt name to which rules are set. If not given, Opt.current is used.</p>
1532
+ </div>
1533
+
1534
+ </li>
1535
+
1536
+ <li>
1537
+
1538
+ <span class='name'>rule</span>
1539
+
1540
+
1541
+ <span class='type'>(<tt>Proc</tt>)</span>
1542
+
1543
+
1544
+
1545
+ &mdash;
1546
+ <div class='inline'>
1547
+ <p>Rules to check.</p>
1548
+ </div>
1549
+
1550
+ </li>
1551
+
1552
+ </ul>
1553
+
1554
+
1555
+ </div><table class="source_code">
1556
+ <tr>
1557
+ <td>
1558
+ <pre class="lines">
1559
+
1560
+
1561
+ 657
1562
+ 658
1563
+ 659
1564
+ 660
1565
+ 661
1566
+ 662
1567
+ 663
1568
+ 664</pre>
1569
+ </td>
1570
+ <td>
1571
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 657</span>
1572
+
1573
+ <span class='kw'>def</span> <span class='id identifier rubyid_checkRule'>checkRule</span><span class='lparen'>(</span> <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
1574
+ <span class='kw'>if</span> <span class='id identifier rubyid_opt'>opt</span>
1575
+ <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='lbracket'>[</span> <span class='id identifier rubyid_opt'>opt</span> <span class='rbracket'>]</span>
1576
+ <span class='kw'>else</span>
1577
+ <span class='id identifier rubyid_opt'>opt</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_current'>current</span>
1578
+ <span class='kw'>end</span>
1579
+ <span class='id identifier rubyid_opt'>opt</span><span class='period'>.</span><span class='id identifier rubyid_setRuleCheck'>setRuleCheck</span><span class='lparen'>(</span> <span class='op'>&amp;</span><span class='id identifier rubyid_rule'>rule</span> <span class='rparen'>)</span>
1580
+ <span class='kw'>end</span></pre>
1581
+ </td>
1582
+ </tr>
1583
+ </table>
1584
+ </div>
1585
+
1586
+ <div class="method_details ">
1587
+ <h3 class="signature " id="subcmd-instance_method">
1588
+
1589
+ - (<tt>Object</tt>) <strong>subcmd</strong>(cmd, defs, config = {})
1590
+
1591
+
1592
+
1593
+
1594
+
1595
+ </h3><div class="docstring">
1596
+ <div class="discussion">
1597
+
1598
+ <p>Define subcommand options.</p>
1599
+
1600
+
1601
+ </div>
1602
+ </div>
1603
+ <div class="tags">
1604
+ <p class="tag_title">Parameters:</p>
1605
+ <ul class="param">
1606
+
1607
+ <li>
1608
+
1609
+ <span class='name'>cmd</span>
1610
+
1611
+
1612
+ <span class='type'>(<tt>String</tt>)</span>
1613
+
1614
+
1615
+
1616
+ &mdash;
1617
+ <div class='inline'>
1618
+ <p>Subcmd name.</p>
1619
+ </div>
1620
+
1621
+ </li>
1622
+
1623
+ <li>
1624
+
1625
+ <span class='name'>defs</span>
1626
+
1627
+
1628
+ <span class='type'>(<tt>Array&lt;Array&gt;</tt>)</span>
1629
+
1630
+
1631
+
1632
+ &mdash;
1633
+ <div class='inline'>
1634
+ <p>Option definition table.</p>
1635
+ </div>
1636
+
1637
+ </li>
1638
+
1639
+ <li>
1640
+
1641
+ <span class='name'>config</span>
1642
+
1643
+
1644
+ <span class='type'></span>
1645
+
1646
+
1647
+ <em class="default">(defaults to: <tt>{}</tt>)</em>
1648
+
1649
+
1650
+ &mdash;
1651
+ <div class='inline'><dl class="rdoc-list"><dt></dt>
1652
+ <dd>
1653
+ <p>Configuration options.</p>
1654
+ </dd></dl>
1655
+ </div>
1656
+
1657
+ </li>
1658
+
1659
+ </ul>
1660
+
1661
+
1662
+ </div><table class="source_code">
1663
+ <tr>
1664
+ <td>
1665
+ <pre class="lines">
1666
+
1667
+
1668
+ 505
1669
+ 506
1670
+ 507
1671
+ 508
1672
+ 509
1673
+ 510
1674
+ 511
1675
+ 512
1676
+ 513
1677
+ 514
1678
+ 515
1679
+ 516
1680
+ 517
1681
+ 518
1682
+ 519
1683
+ 520
1684
+ 521
1685
+ 522
1686
+ 523
1687
+ 524
1688
+ 525
1689
+ 526
1690
+ 527
1691
+ 528
1692
+ 529
1693
+ 530
1694
+ 531
1695
+ 532
1696
+ 533
1697
+ 534
1698
+ 535</pre>
1699
+ </td>
1700
+ <td>
1701
+ <pre class="code"><span class="info file"># File 'lib/como.rb', line 505</span>
1702
+
1703
+ <span class='kw'>def</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='id identifier rubyid_defs'>defs</span><span class='comma'>,</span> <span class='id identifier rubyid_config'>config</span> <span class='op'>=</span> <span class='lbrace'>{</span><span class='rbrace'>}</span> <span class='rparen'>)</span>
1704
+
1705
+ <span class='kw'>unless</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_main'>main</span>
1706
+
1707
+ <span class='id identifier rubyid_main'>main</span> <span class='op'>=</span> <span class='const'>MainOpt</span><span class='period'>.</span><span class='id identifier rubyid_new'>new</span><span class='lparen'>(</span> <span class='ivar'>@author</span><span class='comma'>,</span> <span class='ivar'>@year</span><span class='comma'>,</span>
1708
+ <span class='id identifier rubyid_cmd'>cmd</span><span class='comma'>,</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='symbol'>:subcmd</span><span class='comma'>,</span> <span class='kw'>nil</span> <span class='rparen'>)</span>
1709
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_setMain'>setMain</span><span class='lparen'>(</span> <span class='id identifier rubyid_main'>main</span> <span class='rparen'>)</span>
1710
+ <span class='id identifier rubyid_subcmd'>subcmd</span> <span class='op'>=</span> <span class='id identifier rubyid_main'>main</span>
1711
+
1712
+ <span class='kw'>else</span>
1713
+
1714
+ <span class='id identifier rubyid_subcmd'>subcmd</span> <span class='op'>=</span> <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_findOpt'>findOpt</span><span class='lparen'>(</span> <span class='id identifier rubyid_cmd'>cmd</span> <span class='rparen'>)</span>
1715
+
1716
+ <span class='const'>Opt</span><span class='period'>.</span><span class='id identifier rubyid_setSubcmd'>setSubcmd</span><span class='lparen'>(</span> <span class='id identifier rubyid_subcmd'>subcmd</span> <span class='rparen'>)</span>
1717
+
1718
+ <span class='const'>Spec</span><span class='period'>.</span><span class='const'>ArgCheck</span><span class='lparen'>(</span> <span class='kw'>false</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Subcommand \&quot;</span><span class='embexpr_beg'>#{</span><span class='id identifier rubyid_cmd'>cmd</span><span class='rbrace'>}</span><span class='tstring_content'>\&quot; not defined.</span><span class='tstring_end'>&quot;</span></span> <span class='rparen'>)</span> <span class='kw'>unless</span> <span class='id identifier rubyid_subcmd'>subcmd</span>
1719
+
1720
+ <span class='kw'>end</span>
1721
+
1722
+ <span class='comment'># Overlay user config on top of default.
1723
+ </span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_applyConfig'>applyConfig</span><span class='lparen'>(</span> <span class='id identifier rubyid_config'>config</span> <span class='rparen'>)</span>
1724
+
1725
+ <span class='kw'>if</span> <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_config'>config</span><span class='lbracket'>[</span> <span class='symbol'>:autohelp</span> <span class='rbracket'>]</span>
1726
+ <span class='comment'># Automatically add the help option.
1727
+ </span> <span class='id identifier rubyid_defs'>defs</span><span class='period'>.</span><span class='id identifier rubyid_insert'>insert</span><span class='lparen'>(</span> <span class='int'>0</span><span class='comma'>,</span> <span class='lbracket'>[</span> <span class='symbol'>:silent</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>help</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>-h</span><span class='tstring_end'>&quot;</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Display usage info.</span><span class='tstring_end'>&quot;</span></span> <span class='rbracket'>]</span> <span class='rparen'>)</span>
1728
+ <span class='kw'>end</span>
1729
+
1730
+ <span class='id identifier rubyid_subcmd'>subcmd</span><span class='period'>.</span><span class='id identifier rubyid_setSubopt'>setSubopt</span><span class='lparen'>(</span> <span class='op'>*</span><span class='const'>Spec</span><span class='period'>.</span><span class='id identifier rubyid_specify'>specify</span><span class='lparen'>(</span> <span class='id identifier rubyid_defs'>defs</span> <span class='rparen'>)</span> <span class='rparen'>)</span>
1731
+ <span class='id identifier rubyid_subcmd'>subcmd</span>
1732
+
1733
+ <span class='kw'>end</span></pre>
1734
+ </td>
1735
+ </tr>
1736
+ </table>
1737
+ </div>
1738
+
1739
+ </div>
1740
+
1741
+ </div>
1742
+
1743
+ <div id="footer">
1744
+ Generated on Mon Dec 30 13:50:52 2013 by
1745
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
1746
+ 0.8.6.1 (ruby-1.9.3).
1747
+ </div>
1748
+
1749
+ </body>
1750
+ </html>