classx 0.0.6 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/ChangeLog +526 -338
- data/Rakefile +1 -1
- data/lib/classx.rb +1 -1
- data/lib/classx/attributes.rb +4 -4
- data/spec/classx/default_option_spec.rb +32 -0
- metadata +3 -13
- data/doc/output/coverage/index.html +0 -414
- data/doc/output/coverage/lib-classx-attribute_rb.html +0 -925
- data/doc/output/coverage/lib-classx-attributes_rb.html +0 -771
- data/doc/output/coverage/lib-classx-bracketable_rb.html +0 -671
- data/doc/output/coverage/lib-classx-class_attributes_rb.html +0 -775
- data/doc/output/coverage/lib-classx-commandable_rb.html +0 -727
- data/doc/output/coverage/lib-classx-declare_rb.html +0 -659
- data/doc/output/coverage/lib-classx-validate_rb.html +0 -663
- data/doc/output/coverage/lib-classx_rb.html +0 -820
@@ -1,727 +0,0 @@
|
|
1
|
-
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
2
|
-
<html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'><head><title>lib/classx/commandable.rb - C0 code coverage information</title>
|
3
|
-
<style type='text/css'>body { background-color: rgb(240, 240, 245); }</style>
|
4
|
-
<style type='text/css'>span.cross-ref-title {
|
5
|
-
font-size: 140%;
|
6
|
-
}
|
7
|
-
span.cross-ref a {
|
8
|
-
text-decoration: none;
|
9
|
-
}
|
10
|
-
span.cross-ref {
|
11
|
-
background-color:#f3f7fa;
|
12
|
-
border: 1px dashed #333;
|
13
|
-
margin: 1em;
|
14
|
-
padding: 0.5em;
|
15
|
-
overflow: hidden;
|
16
|
-
}
|
17
|
-
a.crossref-toggle {
|
18
|
-
text-decoration: none;
|
19
|
-
}
|
20
|
-
span.marked0 {
|
21
|
-
background-color: rgb(185, 210, 200);
|
22
|
-
display: block;
|
23
|
-
}
|
24
|
-
span.marked1 {
|
25
|
-
background-color: rgb(190, 215, 205);
|
26
|
-
display: block;
|
27
|
-
}
|
28
|
-
span.inferred0 {
|
29
|
-
background-color: rgb(175, 200, 200);
|
30
|
-
display: block;
|
31
|
-
}
|
32
|
-
span.inferred1 {
|
33
|
-
background-color: rgb(180, 205, 205);
|
34
|
-
display: block;
|
35
|
-
}
|
36
|
-
span.uncovered0 {
|
37
|
-
background-color: rgb(225, 110, 110);
|
38
|
-
display: block;
|
39
|
-
}
|
40
|
-
span.uncovered1 {
|
41
|
-
background-color: rgb(235, 120, 120);
|
42
|
-
display: block;
|
43
|
-
}
|
44
|
-
span.overview {
|
45
|
-
border-bottom: 8px solid black;
|
46
|
-
}
|
47
|
-
div.overview {
|
48
|
-
border-bottom: 8px solid black;
|
49
|
-
}
|
50
|
-
body {
|
51
|
-
font-family: verdana, arial, helvetica;
|
52
|
-
}
|
53
|
-
div.footer {
|
54
|
-
font-size: 68%;
|
55
|
-
margin-top: 1.5em;
|
56
|
-
}
|
57
|
-
h1, h2, h3, h4, h5, h6 {
|
58
|
-
margin-bottom: 0.5em;
|
59
|
-
}
|
60
|
-
h5 {
|
61
|
-
margin-top: 0.5em;
|
62
|
-
}
|
63
|
-
.hidden {
|
64
|
-
display: none;
|
65
|
-
}
|
66
|
-
div.separator {
|
67
|
-
height: 10px;
|
68
|
-
}
|
69
|
-
/* Commented out for better readability, esp. on IE */
|
70
|
-
/*
|
71
|
-
table tr td, table tr th {
|
72
|
-
font-size: 68%;
|
73
|
-
}
|
74
|
-
td.value table tr td {
|
75
|
-
font-size: 11px;
|
76
|
-
}
|
77
|
-
*/
|
78
|
-
table.percent_graph {
|
79
|
-
height: 12px;
|
80
|
-
border: #808080 1px solid;
|
81
|
-
empty-cells: show;
|
82
|
-
}
|
83
|
-
table.percent_graph td.covered {
|
84
|
-
height: 10px;
|
85
|
-
background: #00f000;
|
86
|
-
}
|
87
|
-
table.percent_graph td.uncovered {
|
88
|
-
height: 10px;
|
89
|
-
background: #e00000;
|
90
|
-
}
|
91
|
-
table.percent_graph td.NA {
|
92
|
-
height: 10px;
|
93
|
-
background: #eaeaea;
|
94
|
-
}
|
95
|
-
table.report {
|
96
|
-
border-collapse: collapse;
|
97
|
-
width: 100%;
|
98
|
-
}
|
99
|
-
table.report td.heading {
|
100
|
-
background: #dcecff;
|
101
|
-
border: #d0d0d0 1px solid;
|
102
|
-
font-weight: bold;
|
103
|
-
text-align: center;
|
104
|
-
}
|
105
|
-
table.report td.heading:hover {
|
106
|
-
background: #c0ffc0;
|
107
|
-
}
|
108
|
-
table.report td.text {
|
109
|
-
border: #d0d0d0 1px solid;
|
110
|
-
}
|
111
|
-
table.report td.value,
|
112
|
-
table.report td.lines_total,
|
113
|
-
table.report td.lines_code {
|
114
|
-
text-align: right;
|
115
|
-
border: #d0d0d0 1px solid;
|
116
|
-
}
|
117
|
-
table.report tr.light {
|
118
|
-
background-color: rgb(240, 240, 245);
|
119
|
-
}
|
120
|
-
table.report tr.dark {
|
121
|
-
background-color: rgb(230, 230, 235);
|
122
|
-
}
|
123
|
-
</style>
|
124
|
-
<script type='text/javascript'>
|
125
|
-
// <![CDATA[
|
126
|
-
function toggleCode( id ) {
|
127
|
-
if ( document.getElementById )
|
128
|
-
elem = document.getElementById( id );
|
129
|
-
else if ( document.all )
|
130
|
-
elem = eval( "document.all." + id );
|
131
|
-
else
|
132
|
-
return false;
|
133
|
-
|
134
|
-
elemStyle = elem.style;
|
135
|
-
|
136
|
-
if ( elemStyle.display != "block" ) {
|
137
|
-
elemStyle.display = "block"
|
138
|
-
} else {
|
139
|
-
elemStyle.display = "none"
|
140
|
-
}
|
141
|
-
|
142
|
-
return true;
|
143
|
-
}
|
144
|
-
|
145
|
-
// Make cross-references hidden by default
|
146
|
-
document.writeln( "<style type=\"text/css\">span.cross-ref { display: none }</style>" )
|
147
|
-
// ]]>
|
148
|
-
</script>
|
149
|
-
<style type='text/css'>span.run0 {
|
150
|
-
background-color: rgb(178, 204, 255);
|
151
|
-
display: block;
|
152
|
-
}
|
153
|
-
span.run1 {
|
154
|
-
background-color: rgb(178, 206, 255);
|
155
|
-
display: block;
|
156
|
-
}
|
157
|
-
span.run2 {
|
158
|
-
background-color: rgb(178, 209, 255);
|
159
|
-
display: block;
|
160
|
-
}
|
161
|
-
span.run3 {
|
162
|
-
background-color: rgb(178, 211, 255);
|
163
|
-
display: block;
|
164
|
-
}
|
165
|
-
span.run4 {
|
166
|
-
background-color: rgb(178, 214, 255);
|
167
|
-
display: block;
|
168
|
-
}
|
169
|
-
span.run5 {
|
170
|
-
background-color: rgb(178, 218, 255);
|
171
|
-
display: block;
|
172
|
-
}
|
173
|
-
span.run6 {
|
174
|
-
background-color: rgb(178, 220, 255);
|
175
|
-
display: block;
|
176
|
-
}
|
177
|
-
span.run7 {
|
178
|
-
background-color: rgb(178, 223, 255);
|
179
|
-
display: block;
|
180
|
-
}
|
181
|
-
span.run8 {
|
182
|
-
background-color: rgb(178, 225, 255);
|
183
|
-
display: block;
|
184
|
-
}
|
185
|
-
span.run9 {
|
186
|
-
background-color: rgb(178, 228, 255);
|
187
|
-
display: block;
|
188
|
-
}
|
189
|
-
span.run10 {
|
190
|
-
background-color: rgb(178, 232, 255);
|
191
|
-
display: block;
|
192
|
-
}
|
193
|
-
span.run11 {
|
194
|
-
background-color: rgb(178, 234, 255);
|
195
|
-
display: block;
|
196
|
-
}
|
197
|
-
span.run12 {
|
198
|
-
background-color: rgb(178, 237, 255);
|
199
|
-
display: block;
|
200
|
-
}
|
201
|
-
span.run13 {
|
202
|
-
background-color: rgb(178, 239, 255);
|
203
|
-
display: block;
|
204
|
-
}
|
205
|
-
span.run14 {
|
206
|
-
background-color: rgb(178, 242, 255);
|
207
|
-
display: block;
|
208
|
-
}
|
209
|
-
span.run15 {
|
210
|
-
background-color: rgb(178, 246, 255);
|
211
|
-
display: block;
|
212
|
-
}
|
213
|
-
span.run16 {
|
214
|
-
background-color: rgb(178, 248, 255);
|
215
|
-
display: block;
|
216
|
-
}
|
217
|
-
span.run17 {
|
218
|
-
background-color: rgb(178, 251, 255);
|
219
|
-
display: block;
|
220
|
-
}
|
221
|
-
span.run18 {
|
222
|
-
background-color: rgb(178, 253, 255);
|
223
|
-
display: block;
|
224
|
-
}
|
225
|
-
span.run19 {
|
226
|
-
background-color: rgb(178, 255, 253);
|
227
|
-
display: block;
|
228
|
-
}
|
229
|
-
span.run20 {
|
230
|
-
background-color: rgb(178, 255, 249);
|
231
|
-
display: block;
|
232
|
-
}
|
233
|
-
span.run21 {
|
234
|
-
background-color: rgb(178, 255, 247);
|
235
|
-
display: block;
|
236
|
-
}
|
237
|
-
span.run22 {
|
238
|
-
background-color: rgb(178, 255, 244);
|
239
|
-
display: block;
|
240
|
-
}
|
241
|
-
span.run23 {
|
242
|
-
background-color: rgb(178, 255, 242);
|
243
|
-
display: block;
|
244
|
-
}
|
245
|
-
span.run24 {
|
246
|
-
background-color: rgb(178, 255, 239);
|
247
|
-
display: block;
|
248
|
-
}
|
249
|
-
span.run25 {
|
250
|
-
background-color: rgb(178, 255, 235);
|
251
|
-
display: block;
|
252
|
-
}
|
253
|
-
span.run26 {
|
254
|
-
background-color: rgb(178, 255, 233);
|
255
|
-
display: block;
|
256
|
-
}
|
257
|
-
span.run27 {
|
258
|
-
background-color: rgb(178, 255, 230);
|
259
|
-
display: block;
|
260
|
-
}
|
261
|
-
span.run28 {
|
262
|
-
background-color: rgb(178, 255, 228);
|
263
|
-
display: block;
|
264
|
-
}
|
265
|
-
span.run29 {
|
266
|
-
background-color: rgb(178, 255, 225);
|
267
|
-
display: block;
|
268
|
-
}
|
269
|
-
span.run30 {
|
270
|
-
background-color: rgb(178, 255, 221);
|
271
|
-
display: block;
|
272
|
-
}
|
273
|
-
span.run31 {
|
274
|
-
background-color: rgb(178, 255, 219);
|
275
|
-
display: block;
|
276
|
-
}
|
277
|
-
span.run32 {
|
278
|
-
background-color: rgb(178, 255, 216);
|
279
|
-
display: block;
|
280
|
-
}
|
281
|
-
span.run33 {
|
282
|
-
background-color: rgb(178, 255, 214);
|
283
|
-
display: block;
|
284
|
-
}
|
285
|
-
span.run34 {
|
286
|
-
background-color: rgb(178, 255, 211);
|
287
|
-
display: block;
|
288
|
-
}
|
289
|
-
span.run35 {
|
290
|
-
background-color: rgb(178, 255, 207);
|
291
|
-
display: block;
|
292
|
-
}
|
293
|
-
span.run36 {
|
294
|
-
background-color: rgb(178, 255, 205);
|
295
|
-
display: block;
|
296
|
-
}
|
297
|
-
span.run37 {
|
298
|
-
background-color: rgb(178, 255, 202);
|
299
|
-
display: block;
|
300
|
-
}
|
301
|
-
span.run38 {
|
302
|
-
background-color: rgb(178, 255, 200);
|
303
|
-
display: block;
|
304
|
-
}
|
305
|
-
span.run39 {
|
306
|
-
background-color: rgb(178, 255, 197);
|
307
|
-
display: block;
|
308
|
-
}
|
309
|
-
span.run40 {
|
310
|
-
background-color: rgb(178, 255, 193);
|
311
|
-
display: block;
|
312
|
-
}
|
313
|
-
span.run41 {
|
314
|
-
background-color: rgb(178, 255, 191);
|
315
|
-
display: block;
|
316
|
-
}
|
317
|
-
span.run42 {
|
318
|
-
background-color: rgb(178, 255, 188);
|
319
|
-
display: block;
|
320
|
-
}
|
321
|
-
span.run43 {
|
322
|
-
background-color: rgb(178, 255, 186);
|
323
|
-
display: block;
|
324
|
-
}
|
325
|
-
span.run44 {
|
326
|
-
background-color: rgb(178, 255, 183);
|
327
|
-
display: block;
|
328
|
-
}
|
329
|
-
span.run45 {
|
330
|
-
background-color: rgb(178, 255, 179);
|
331
|
-
display: block;
|
332
|
-
}
|
333
|
-
span.run46 {
|
334
|
-
background-color: rgb(179, 255, 178);
|
335
|
-
display: block;
|
336
|
-
}
|
337
|
-
span.run47 {
|
338
|
-
background-color: rgb(182, 255, 178);
|
339
|
-
display: block;
|
340
|
-
}
|
341
|
-
span.run48 {
|
342
|
-
background-color: rgb(184, 255, 178);
|
343
|
-
display: block;
|
344
|
-
}
|
345
|
-
span.run49 {
|
346
|
-
background-color: rgb(187, 255, 178);
|
347
|
-
display: block;
|
348
|
-
}
|
349
|
-
span.run50 {
|
350
|
-
background-color: rgb(191, 255, 178);
|
351
|
-
display: block;
|
352
|
-
}
|
353
|
-
span.run51 {
|
354
|
-
background-color: rgb(193, 255, 178);
|
355
|
-
display: block;
|
356
|
-
}
|
357
|
-
span.run52 {
|
358
|
-
background-color: rgb(196, 255, 178);
|
359
|
-
display: block;
|
360
|
-
}
|
361
|
-
span.run53 {
|
362
|
-
background-color: rgb(198, 255, 178);
|
363
|
-
display: block;
|
364
|
-
}
|
365
|
-
span.run54 {
|
366
|
-
background-color: rgb(201, 255, 178);
|
367
|
-
display: block;
|
368
|
-
}
|
369
|
-
span.run55 {
|
370
|
-
background-color: rgb(205, 255, 178);
|
371
|
-
display: block;
|
372
|
-
}
|
373
|
-
span.run56 {
|
374
|
-
background-color: rgb(207, 255, 178);
|
375
|
-
display: block;
|
376
|
-
}
|
377
|
-
span.run57 {
|
378
|
-
background-color: rgb(210, 255, 178);
|
379
|
-
display: block;
|
380
|
-
}
|
381
|
-
span.run58 {
|
382
|
-
background-color: rgb(212, 255, 178);
|
383
|
-
display: block;
|
384
|
-
}
|
385
|
-
span.run59 {
|
386
|
-
background-color: rgb(215, 255, 178);
|
387
|
-
display: block;
|
388
|
-
}
|
389
|
-
span.run60 {
|
390
|
-
background-color: rgb(219, 255, 178);
|
391
|
-
display: block;
|
392
|
-
}
|
393
|
-
span.run61 {
|
394
|
-
background-color: rgb(221, 255, 178);
|
395
|
-
display: block;
|
396
|
-
}
|
397
|
-
span.run62 {
|
398
|
-
background-color: rgb(224, 255, 178);
|
399
|
-
display: block;
|
400
|
-
}
|
401
|
-
span.run63 {
|
402
|
-
background-color: rgb(226, 255, 178);
|
403
|
-
display: block;
|
404
|
-
}
|
405
|
-
span.run64 {
|
406
|
-
background-color: rgb(229, 255, 178);
|
407
|
-
display: block;
|
408
|
-
}
|
409
|
-
span.run65 {
|
410
|
-
background-color: rgb(233, 255, 178);
|
411
|
-
display: block;
|
412
|
-
}
|
413
|
-
span.run66 {
|
414
|
-
background-color: rgb(235, 255, 178);
|
415
|
-
display: block;
|
416
|
-
}
|
417
|
-
span.run67 {
|
418
|
-
background-color: rgb(238, 255, 178);
|
419
|
-
display: block;
|
420
|
-
}
|
421
|
-
span.run68 {
|
422
|
-
background-color: rgb(240, 255, 178);
|
423
|
-
display: block;
|
424
|
-
}
|
425
|
-
span.run69 {
|
426
|
-
background-color: rgb(243, 255, 178);
|
427
|
-
display: block;
|
428
|
-
}
|
429
|
-
span.run70 {
|
430
|
-
background-color: rgb(247, 255, 178);
|
431
|
-
display: block;
|
432
|
-
}
|
433
|
-
span.run71 {
|
434
|
-
background-color: rgb(249, 255, 178);
|
435
|
-
display: block;
|
436
|
-
}
|
437
|
-
span.run72 {
|
438
|
-
background-color: rgb(252, 255, 178);
|
439
|
-
display: block;
|
440
|
-
}
|
441
|
-
span.run73 {
|
442
|
-
background-color: rgb(255, 255, 178);
|
443
|
-
display: block;
|
444
|
-
}
|
445
|
-
span.run74 {
|
446
|
-
background-color: rgb(255, 252, 178);
|
447
|
-
display: block;
|
448
|
-
}
|
449
|
-
span.run75 {
|
450
|
-
background-color: rgb(255, 248, 178);
|
451
|
-
display: block;
|
452
|
-
}
|
453
|
-
span.run76 {
|
454
|
-
background-color: rgb(255, 246, 178);
|
455
|
-
display: block;
|
456
|
-
}
|
457
|
-
span.run77 {
|
458
|
-
background-color: rgb(255, 243, 178);
|
459
|
-
display: block;
|
460
|
-
}
|
461
|
-
span.run78 {
|
462
|
-
background-color: rgb(255, 240, 178);
|
463
|
-
display: block;
|
464
|
-
}
|
465
|
-
span.run79 {
|
466
|
-
background-color: rgb(255, 238, 178);
|
467
|
-
display: block;
|
468
|
-
}
|
469
|
-
span.run80 {
|
470
|
-
background-color: rgb(255, 234, 178);
|
471
|
-
display: block;
|
472
|
-
}
|
473
|
-
span.run81 {
|
474
|
-
background-color: rgb(255, 232, 178);
|
475
|
-
display: block;
|
476
|
-
}
|
477
|
-
span.run82 {
|
478
|
-
background-color: rgb(255, 229, 178);
|
479
|
-
display: block;
|
480
|
-
}
|
481
|
-
span.run83 {
|
482
|
-
background-color: rgb(255, 226, 178);
|
483
|
-
display: block;
|
484
|
-
}
|
485
|
-
span.run84 {
|
486
|
-
background-color: rgb(255, 224, 178);
|
487
|
-
display: block;
|
488
|
-
}
|
489
|
-
span.run85 {
|
490
|
-
background-color: rgb(255, 220, 178);
|
491
|
-
display: block;
|
492
|
-
}
|
493
|
-
span.run86 {
|
494
|
-
background-color: rgb(255, 218, 178);
|
495
|
-
display: block;
|
496
|
-
}
|
497
|
-
span.run87 {
|
498
|
-
background-color: rgb(255, 215, 178);
|
499
|
-
display: block;
|
500
|
-
}
|
501
|
-
span.run88 {
|
502
|
-
background-color: rgb(255, 212, 178);
|
503
|
-
display: block;
|
504
|
-
}
|
505
|
-
span.run89 {
|
506
|
-
background-color: rgb(255, 210, 178);
|
507
|
-
display: block;
|
508
|
-
}
|
509
|
-
span.run90 {
|
510
|
-
background-color: rgb(255, 206, 178);
|
511
|
-
display: block;
|
512
|
-
}
|
513
|
-
span.run91 {
|
514
|
-
background-color: rgb(255, 204, 178);
|
515
|
-
display: block;
|
516
|
-
}
|
517
|
-
span.run92 {
|
518
|
-
background-color: rgb(255, 201, 178);
|
519
|
-
display: block;
|
520
|
-
}
|
521
|
-
span.run93 {
|
522
|
-
background-color: rgb(255, 198, 178);
|
523
|
-
display: block;
|
524
|
-
}
|
525
|
-
span.run94 {
|
526
|
-
background-color: rgb(255, 196, 178);
|
527
|
-
display: block;
|
528
|
-
}
|
529
|
-
span.run95 {
|
530
|
-
background-color: rgb(255, 192, 178);
|
531
|
-
display: block;
|
532
|
-
}
|
533
|
-
span.run96 {
|
534
|
-
background-color: rgb(255, 189, 178);
|
535
|
-
display: block;
|
536
|
-
}
|
537
|
-
span.run97 {
|
538
|
-
background-color: rgb(255, 187, 178);
|
539
|
-
display: block;
|
540
|
-
}
|
541
|
-
span.run98 {
|
542
|
-
background-color: rgb(255, 184, 178);
|
543
|
-
display: block;
|
544
|
-
}
|
545
|
-
span.run99 {
|
546
|
-
background-color: rgb(255, 182, 178);
|
547
|
-
display: block;
|
548
|
-
}
|
549
|
-
span.run100 {
|
550
|
-
background-color: rgb(255, 178, 178);
|
551
|
-
display: block;
|
552
|
-
}
|
553
|
-
</style>
|
554
|
-
</head>
|
555
|
-
<body><h3>C0 code coverage information</h3>
|
556
|
-
<p>Generated on Fri Dec 26 09:01:48 +0900 2008 with <a href='http://eigenclass.org/hiki/rcov'>rcov 0.8.1.2</a>
|
557
|
-
</p>
|
558
|
-
<hr/>
|
559
|
-
<pre><span class='marked0'>Code reported as executed by Ruby looks like this...
|
560
|
-
</span><span class='marked1'>and this: this line is also marked as covered.
|
561
|
-
</span><span class='inferred0'>Lines considered as run by rcov, but not reported by Ruby, look like this,
|
562
|
-
</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).
|
563
|
-
</span><span class='uncovered0'>Finally, here's a line marked as not executed.
|
564
|
-
</span></pre>
|
565
|
-
<table class='report'><thead><tr><td class='heading'>Name</td>
|
566
|
-
<td class='heading'>Total lines</td>
|
567
|
-
<td class='heading'>Lines of code</td>
|
568
|
-
<td class='heading'>Total coverage</td>
|
569
|
-
<td class='heading'>Code coverage</td>
|
570
|
-
</tr>
|
571
|
-
</thead>
|
572
|
-
<tbody><tr class='light'><td><a href='lib-classx-commandable_rb.html'>lib/classx/commandable.rb</a>
|
573
|
-
</td>
|
574
|
-
<td class='lines_total'><tt>117</tt>
|
575
|
-
</td>
|
576
|
-
<td class='lines_code'><tt>70</tt>
|
577
|
-
</td>
|
578
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>41.0%</tt>
|
579
|
-
</td>
|
580
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='41'/>
|
581
|
-
<td class='uncovered' width='59'/>
|
582
|
-
</tr>
|
583
|
-
</table>
|
584
|
-
</td>
|
585
|
-
</tr>
|
586
|
-
</table>
|
587
|
-
</td>
|
588
|
-
<td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_code'>8.6%</tt>
|
589
|
-
</td>
|
590
|
-
<td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='9'/>
|
591
|
-
<td class='uncovered' width='91'/>
|
592
|
-
</tr>
|
593
|
-
</table>
|
594
|
-
</td>
|
595
|
-
</tr>
|
596
|
-
</table>
|
597
|
-
</td>
|
598
|
-
</tr>
|
599
|
-
</tbody>
|
600
|
-
</table>
|
601
|
-
<pre><span class="marked1"><a name="line1"></a> 1 require 'optparse'
|
602
|
-
</span><span class="inferred0"><a name="line2"></a> 2
|
603
|
-
</span><span class="marked1"><a name="line3"></a> 3 $ClassXCommandableMappingOf = {}
|
604
|
-
</span><span class="inferred0"><a name="line4"></a> 4
|
605
|
-
</span><span class="marked1"><a name="line5"></a> 5 module ClassX
|
606
|
-
</span><span class="inferred0"><a name="line6"></a> 6 # add cli interface to your classx based class.
|
607
|
-
</span><span class="inferred1"><a name="line7"></a> 7 #
|
608
|
-
</span><span class="inferred0"><a name="line8"></a> 8 # require 'classx'
|
609
|
-
</span><span class="inferred1"><a name="line9"></a> 9 #
|
610
|
-
</span><span class="inferred0"><a name="line10"></a> 10 # $ClassXCommandableMappingOf[Symbol] = String
|
611
|
-
</span><span class="inferred1"><a name="line11"></a> 11 #
|
612
|
-
</span><span class="inferred0"><a name="line12"></a> 12 # class YourApp
|
613
|
-
</span><span class="inferred1"><a name="line13"></a> 13 # include ClassX
|
614
|
-
</span><span class="inferred0"><a name="line14"></a> 14 # extend ClassX::Commandable
|
615
|
-
</span><span class="inferred1"><a name="line15"></a> 15 #
|
616
|
-
</span><span class="inferred0"><a name="line16"></a> 16 # has :arg1,
|
617
|
-
</span><span class="inferred1"><a name="line17"></a> 17 # :kind_of => Symbol,
|
618
|
-
</span><span class="inferred0"><a name="line18"></a> 18 # :desc => 'please specify arg1',
|
619
|
-
</span><span class="inferred1"><a name="line19"></a> 19 # :coerce => { String => proc {|val| val.to_sym } }
|
620
|
-
</span><span class="inferred0"><a name="line20"></a> 20 #
|
621
|
-
</span><span class="inferred1"><a name="line21"></a> 21 # has :arg2,
|
622
|
-
</span><span class="inferred0"><a name="line22"></a> 22 # :kind_of => Integer,
|
623
|
-
</span><span class="inferred1"><a name="line23"></a> 23 # :desc => "this is arg2",
|
624
|
-
</span><span class="inferred0"><a name="line24"></a> 24 # :optional => true
|
625
|
-
</span><span class="inferred1"><a name="line25"></a> 25 #
|
626
|
-
</span><span class="inferred0"><a name="line26"></a> 26 # def run
|
627
|
-
</span><span class="inferred1"><a name="line27"></a> 27 # # do something!!
|
628
|
-
</span><span class="inferred0"><a name="line28"></a> 28 # p attribute_of
|
629
|
-
</span><span class="inferred1"><a name="line29"></a> 29 # end
|
630
|
-
</span><span class="inferred0"><a name="line30"></a> 30 # end
|
631
|
-
</span><span class="inferred1"><a name="line31"></a> 31 #
|
632
|
-
</span><span class="inferred0"><a name="line32"></a> 32 # if $0 == __FILE__
|
633
|
-
</span><span class="inferred1"><a name="line33"></a> 33 # YourApp.from_argv.run
|
634
|
-
</span><span class="inferred0"><a name="line34"></a> 34 # end
|
635
|
-
</span><span class="inferred1"><a name="line35"></a> 35 #
|
636
|
-
</span><span class="inferred0"><a name="line36"></a> 36 # and run, $ruby example/commandable.rb
|
637
|
-
</span><span class="inferred1"><a name="line37"></a> 37 #
|
638
|
-
</span><span class="inferred0"><a name="line38"></a> 38 # example/commandable.rb [options]
|
639
|
-
</span><span class="inferred1"><a name="line39"></a> 39 # -a, --arg1 String please specify arg1
|
640
|
-
</span><span class="inferred0"><a name="line40"></a> 40 # --arg2 [Integer] this is arg2
|
641
|
-
</span><span class="inferred1"><a name="line41"></a> 41 # -h, --help show this document
|
642
|
-
</span><span class="inferred0"><a name="line42"></a> 42 #
|
643
|
-
</span><span class="inferred1"><a name="line43"></a> 43 # please see and run example/commandable.rb
|
644
|
-
</span><span class="inferred0"><a name="line44"></a> 44 #
|
645
|
-
</span><span class="marked1"><a name="line45"></a> 45 module Commandable
|
646
|
-
</span><span class="marked0"><a name="line46"></a> 46 class MissingCoerceMapping < Exception; end
|
647
|
-
</span><span class="inferred1"><a name="line47"></a> 47
|
648
|
-
</span><span class="marked0"><a name="line48"></a> 48 def from_argv argv=ARGV.dup
|
649
|
-
</span><span class="uncovered1"><a name="line49"></a> 49 OptionParser.new do |opt|
|
650
|
-
</span><span class="uncovered0"><a name="line50"></a> 50 begin
|
651
|
-
</span><span class="uncovered1"><a name="line51"></a> 51 opt.banner = "#{$0} [options]"
|
652
|
-
</span><span class="uncovered0"><a name="line52"></a> 52 value_of = {}
|
653
|
-
</span><span class="uncovered1"><a name="line53"></a> 53 short_option_of = {}
|
654
|
-
</span><span class="uncovered0"><a name="line54"></a> 54 attribute_of.keys.sort.each do |key|
|
655
|
-
</span><span class="uncovered1"><a name="line55"></a> 55 val = attribute_of[key]
|
656
|
-
</span><span class="uncovered0"><a name="line56"></a> 56 next if val.config[:no_cmd_option]
|
657
|
-
</span><span class="uncovered1"><a name="line57"></a> 57
|
658
|
-
</span><span class="uncovered0"><a name="line58"></a> 58 val_format = val.value_class ? "#{val.value_class}" : "VAL"
|
659
|
-
</span><span class="uncovered1"><a name="line59"></a> 59 if val.optional?
|
660
|
-
</span><span class="uncovered0"><a name="line60"></a> 60 val_format = "[#{val_format}]"
|
661
|
-
</span><span class="uncovered1"><a name="line61"></a> 61 end
|
662
|
-
</span><span class="uncovered0"><a name="line62"></a> 62
|
663
|
-
</span><span class="uncovered1"><a name="line63"></a> 63 short_option = key.split(//).first
|
664
|
-
</span><span class="uncovered0"><a name="line64"></a> 64 unless short_option_of[short_option]
|
665
|
-
</span><span class="uncovered1"><a name="line65"></a> 65 short_option_of[short_option] = key
|
666
|
-
</span><span class="uncovered0"><a name="line66"></a> 66 end
|
667
|
-
</span><span class="uncovered1"><a name="line67"></a> 67
|
668
|
-
</span><span class="uncovered0"><a name="line68"></a> 68 if val.value_class
|
669
|
-
</span><span class="uncovered1"><a name="line69"></a> 69 begin
|
670
|
-
</span><span class="uncovered0"><a name="line70"></a> 70 if short_option_of[short_option] == key
|
671
|
-
</span><span class="uncovered1"><a name="line71"></a> 71 opt.on(
|
672
|
-
</span><span class="uncovered0"><a name="line72"></a> 72 "-#{short_option}",
|
673
|
-
</span><span class="uncovered1"><a name="line73"></a> 73 "--#{key} #{val_format}",
|
674
|
-
</span><span class="uncovered0"><a name="line74"></a> 74 val.value_class, val.desc
|
675
|
-
</span><span class="uncovered1"><a name="line75"></a> 75 ) {|v| value_of[key] = v }
|
676
|
-
</span><span class="uncovered0"><a name="line76"></a> 76 else
|
677
|
-
</span><span class="uncovered1"><a name="line77"></a> 77 opt.on("--#{key} #{val_format}", val.value_class, val.desc) {|v| value_of[key] = v }
|
678
|
-
</span><span class="uncovered0"><a name="line78"></a> 78 end
|
679
|
-
</span><span class="uncovered1"><a name="line79"></a> 79 rescue Exception => e
|
680
|
-
</span><span class="uncovered0"><a name="line80"></a> 80 if $ClassXCommandableMappingOf[val.value_class]
|
681
|
-
</span><span class="uncovered1"><a name="line81"></a> 81 if short_option_of[short_option] == key
|
682
|
-
</span><span class="uncovered0"><a name="line82"></a> 82 opt.on(
|
683
|
-
</span><span class="uncovered1"><a name="line83"></a> 83 "-#{short_option}",
|
684
|
-
</span><span class="uncovered0"><a name="line84"></a> 84 "--#{key} #{$ClassXCommandableMappingOf[val.value_class]}",
|
685
|
-
</span><span class="uncovered1"><a name="line85"></a> 85 $ClassXCommandableMappingOf[val.value_class], val.desc
|
686
|
-
</span><span class="uncovered0"><a name="line86"></a> 86 ) {|v| value_of[key] = v }
|
687
|
-
</span><span class="uncovered1"><a name="line87"></a> 87 else
|
688
|
-
</span><span class="uncovered0"><a name="line88"></a> 88 opt.on(
|
689
|
-
</span><span class="uncovered1"><a name="line89"></a> 89 "--#{key} #{$ClassXCommandableMappingOf[val.value_class]}",
|
690
|
-
</span><span class="uncovered0"><a name="line90"></a> 90 $ClassXCommandableMappingOf[val.value_class], val.desc
|
691
|
-
</span><span class="uncovered1"><a name="line91"></a> 91 ) {|v| value_of[key] = v }
|
692
|
-
</span><span class="uncovered0"><a name="line92"></a> 92 end
|
693
|
-
</span><span class="uncovered1"><a name="line93"></a> 93 else
|
694
|
-
</span><span class="uncovered0"><a name="line94"></a> 94 raise MissingCoerceMapping, "missing coerce rule. please specify $ClassXCommandableMappingOf"
|
695
|
-
</span><span class="uncovered1"><a name="line95"></a> 95 end
|
696
|
-
</span><span class="uncovered0"><a name="line96"></a> 96 end
|
697
|
-
</span><span class="uncovered1"><a name="line97"></a> 97 else
|
698
|
-
</span><span class="uncovered0"><a name="line98"></a> 98 if short_option_of[short_option] == key
|
699
|
-
</span><span class="uncovered1"><a name="line99"></a> 99 opt.on("-#{short_option}", "--#{key} #{val_format}", val.desc ) {|v| value_of[key] = v }
|
700
|
-
</span><span class="uncovered0"><a name="line100"></a>100 else
|
701
|
-
</span><span class="uncovered1"><a name="line101"></a>101 opt.on("--#{key} #{val_format}", val.desc ) {|v| value_of[key] = v }
|
702
|
-
</span><span class="uncovered0"><a name="line102"></a>102 end
|
703
|
-
</span><span class="uncovered1"><a name="line103"></a>103 end
|
704
|
-
</span><span class="uncovered0"><a name="line104"></a>104 end
|
705
|
-
</span><span class="uncovered1"><a name="line105"></a>105
|
706
|
-
</span><span class="uncovered0"><a name="line106"></a>106 opt.on('-h', '--help', 'show this document') {|v| raise OptionParser::ParseError }
|
707
|
-
</span><span class="uncovered1"><a name="line107"></a>107 opt.parse!(argv)
|
708
|
-
</span><span class="uncovered0"><a name="line108"></a>108
|
709
|
-
</span><span class="uncovered1"><a name="line109"></a>109 return new(value_of)
|
710
|
-
</span><span class="uncovered0"><a name="line110"></a>110 rescue ClassX::InstanceException, OptionParser::ParseError => e
|
711
|
-
</span><span class="uncovered1"><a name="line111"></a>111 warn opt
|
712
|
-
</span><span class="uncovered0"><a name="line112"></a>112 exit
|
713
|
-
</span><span class="uncovered1"><a name="line113"></a>113 end
|
714
|
-
</span><span class="uncovered0"><a name="line114"></a>114 end
|
715
|
-
</span><span class="uncovered1"><a name="line115"></a>115 end
|
716
|
-
</span><span class="uncovered0"><a name="line116"></a>116 end
|
717
|
-
</span><span class="uncovered1"><a name="line117"></a>117 end
|
718
|
-
</span></pre><hr/>
|
719
|
-
<p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
|
720
|
-
version 0.8.1.2.</p>
|
721
|
-
<p><a href='http://validator.w3.org/check/referer'><img src='http://www.w3.org/Icons/valid-xhtml10' height='31' alt='Valid XHTML 1.0!' width='88'/>
|
722
|
-
</a>
|
723
|
-
<a href='http://jigsaw.w3.org/css-validator/check/referer'><img src='http://jigsaw.w3.org/css-validator/images/vcss' alt='Valid CSS!' style='border:0;width:88px;height:31px'/>
|
724
|
-
</a>
|
725
|
-
</p>
|
726
|
-
</body>
|
727
|
-
</html>
|