classx-pluggable 0.0.1

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.
Files changed (42) hide show
  1. data/ChangeLog +221 -0
  2. data/README +88 -0
  3. data/Rakefile +52 -0
  4. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attribute_rb.html +925 -0
  5. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-attributes_rb.html +772 -0
  6. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-bracketable_rb.html +671 -0
  7. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-role-logger_rb.html +716 -0
  8. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-validate_rb.html +663 -0
  9. data/doc/output/coverage/-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx_rb.html +820 -0
  10. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-block_rb.html +661 -0
  11. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-callbacks_rb.html +932 -0
  12. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-change_rb.html +779 -0
  13. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs-hunk_rb.html +867 -0
  14. data/doc/output/coverage/-Library-Ruby-Gems-gems-diff-lcs-1_1_2-lib-diff-lcs_rb.html +1715 -0
  15. data/doc/output/coverage/-Library-Ruby-Gems-gems-rcov-0_8_1_2_0-lib-rcov_rb.html +1598 -0
  16. data/doc/output/coverage/examples-test_runner-bin-test_runner_rb.html +628 -0
  17. data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-setup_fixture_rb.html +641 -0
  18. data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_info_rb.html +638 -0
  19. data/doc/output/coverage/examples-test_runner-lib-test_runner-plugin-test_timer_rb.html +666 -0
  20. data/doc/output/coverage/examples-test_runner-lib-test_runner_rb.html +643 -0
  21. data/doc/output/coverage/index.html +711 -0
  22. data/doc/output/coverage/lib-classx-pluggable-plugin_rb.html +676 -0
  23. data/doc/output/coverage/lib-classx-pluggable_rb.html +841 -0
  24. data/examples/test_runner/bin/test_runner.rb +18 -0
  25. data/examples/test_runner/conf/config.yaml +19 -0
  26. data/examples/test_runner/lib/test_runner.rb +33 -0
  27. data/examples/test_runner/lib/test_runner/plugin/setup_fixture.rb +31 -0
  28. data/examples/test_runner/lib/test_runner/plugin/test_info.rb +28 -0
  29. data/examples/test_runner/lib/test_runner/plugin/test_timer.rb +56 -0
  30. data/lib/classx/pluggable.rb +231 -0
  31. data/lib/classx/pluggable/plugin.rb +66 -0
  32. data/spec/classx-pluggable-util/module2path_spec.rb +30 -0
  33. data/spec/classx-pluggable-util/nested_autoload_spec.rb +48 -0
  34. data/spec/classx-pluggable-util/nested_const_get_spec.rb +48 -0
  35. data/spec/classx-pluggable/component_class_get.rb +18 -0
  36. data/spec/classx-pluggable_spec.rb +5 -0
  37. data/spec/example_spec.rb +20 -0
  38. data/spec/spec.opts +1 -0
  39. data/spec/spec_helper.rb +6 -0
  40. data/tasks/basic_config.rake +22 -0
  41. data/tasks/basic_tasks.rake +139 -0
  42. metadata +127 -0
@@ -0,0 +1,716 @@
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>/Library/Ruby/Gems/gems/classx-0.0.5/lib/classx/role/logger.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 Sat Nov 08 17:43:41 +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&apos;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='-Library-Ruby-Gems-gems-classx-0_0_5-lib-classx-role-logger_rb.html'>/Library/Ruby/Gems/gems/classx-0.0.5/lib/classx/role/logger.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>106</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>61</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>68.9%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='69'/>
581
+ <td class='uncovered' width='31'/>
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'>54.1%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='54'/>
591
+ <td class='uncovered' width='46'/>
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 'logger'
602
+ </span><span class="inferred0"><a name="line2"></a> 2
603
+ </span><span class="marked1"><a name="line3"></a> 3 module ClassX
604
+ </span><span class="marked0"><a name="line4"></a> 4 module Role
605
+ </span><span class="inferred1"><a name="line5"></a> 5 # SYNOPSIS
606
+ </span><span class="inferred0"><a name="line6"></a> 6 #
607
+ </span><span class="inferred1"><a name="line7"></a> 7 # require 'classx/role/logger'
608
+ </span><span class="inferred0"><a name="line8"></a> 8 # class YourApp
609
+ </span><span class="inferred1"><a name="line9"></a> 9 # include ClassX
610
+ </span><span class="inferred0"><a name="line10"></a> 10 # extends ClassX::Commandable
611
+ </span><span class="inferred1"><a name="line11"></a> 11 # include ClassX::Role::Logger
612
+ </span><span class="inferred0"><a name="line12"></a> 12 #
613
+ </span><span class="inferred1"><a name="line13"></a> 13 # def run
614
+ </span><span class="inferred0"><a name="line14"></a> 14 # logger.debug(&quot;debug!!&quot;)
615
+ </span><span class="inferred1"><a name="line15"></a> 15 # # do something
616
+ </span><span class="inferred0"><a name="line16"></a> 16 # end
617
+ </span><span class="inferred1"><a name="line17"></a> 17 # end
618
+ </span><span class="inferred0"><a name="line18"></a> 18 #
619
+ </span><span class="inferred1"><a name="line19"></a> 19 # and run following:
620
+ </span><span class="inferred0"><a name="line20"></a> 20 #
621
+ </span><span class="inferred1"><a name="line21"></a> 21 # $ your_app.rb --logfile log/debug.log --log_level debug
622
+ </span><span class="inferred0"><a name="line22"></a> 22 #
623
+ </span><span class="inferred1"><a name="line23"></a> 23 # SEE ALSO: +ClassX::Commandable+
624
+ </span><span class="inferred0"><a name="line24"></a> 24 #
625
+ </span><span class="marked1"><a name="line25"></a> 25 module Logger #:doc:
626
+ </span><span class="marked0"><a name="line26"></a> 26 extend ClassX::Attributes
627
+ </span><span class="inferred1"><a name="line27"></a> 27
628
+ </span><span class="inferred0"><a name="line28"></a> 28 # added log_level's attribute class to utility method
629
+ </span><span class="inferred1"><a name="line29"></a> 29 #
630
+ </span><span class="inferred0"><a name="line30"></a> 30 # your_class.attribute_of['log_level'].to_log_level #=&gt; 0
631
+ </span><span class="inferred1"><a name="line31"></a> 31 # your_class.attribute_of['log_level'].to_i # alias for to_log_level
632
+ </span><span class="inferred0"><a name="line32"></a> 32 #
633
+ </span><span class="marked1"><a name="line33"></a> 33 module ToLogLevel #:nodoc:
634
+ </span><span class="marked0"><a name="line34"></a> 34 def to_log_level str=self.get
635
+ </span><span class="uncovered1"><a name="line35"></a> 35 ::Logger::Severity.const_get(str.upcase)
636
+ </span><span class="uncovered0"><a name="line36"></a> 36 end
637
+ </span><span class="inferred1"><a name="line37"></a> 37
638
+ </span><span class="marked0"><a name="line38"></a> 38 alias to_i to_log_level
639
+ </span><span class="inferred1"><a name="line39"></a> 39 end
640
+ </span><span class="inferred0"><a name="line40"></a> 40
641
+ </span><span class="marked1"><a name="line41"></a> 41 def logger; end # dummy method for rdoc
642
+ </span><span class="inferred0"><a name="line42"></a> 42
643
+ </span><span class="inferred1"><a name="line43"></a> 43 # you can use #debug, #info, #warn, #error, #fatal method
644
+ </span><span class="inferred0"><a name="line44"></a> 44 # shortcut for logger.debug, logger.info, logger.warn, logger.error, logger.fatal.
645
+ </span><span class="inferred1"><a name="line45"></a> 45 # default output is $stderr.
646
+ </span><span class="inferred0"><a name="line46"></a> 46 # see also Logger
647
+ </span><span class="marked1"><a name="line47"></a> 47 has :logger, {
648
+ </span><span class="inferred0"><a name="line48"></a> 48 :optional =&gt; true,
649
+ </span><span class="inferred1"><a name="line49"></a> 49 :no_cmd_option =&gt; true,
650
+ </span><span class="inferred0"><a name="line50"></a> 50 :lazy =&gt; true,
651
+ </span><span class="inferred1"><a name="line51"></a> 51 :default =&gt; proc {|mine|
652
+ </span><span class="uncovered0"><a name="line52"></a> 52 logger = ::Logger.new(mine.logfile, mine.log_rotate)
653
+ </span><span class="uncovered1"><a name="line53"></a> 53 logger.level = mine.attribute_of['log_level'].to_i
654
+ </span><span class="uncovered0"><a name="line54"></a> 54 logger.progname = $0
655
+ </span><span class="uncovered1"><a name="line55"></a> 55
656
+ </span><span class="uncovered0"><a name="line56"></a> 56 logger
657
+ </span><span class="uncovered1"><a name="line57"></a> 57 },
658
+ </span><span class="uncovered0"><a name="line58"></a> 58 :handles =&gt; [:debug, :info, :warn, :error, :fatal ],
659
+ </span><span class="uncovered1"><a name="line59"></a> 59 }
660
+ </span><span class="inferred0"><a name="line60"></a> 60
661
+ </span><span class="inferred1"><a name="line61"></a> 61 # log_level (debug|info|warn|error|fatal) ( default info )
662
+ </span><span class="marked0"><a name="line62"></a> 62 has :log_level, {
663
+ </span><span class="inferred1"><a name="line63"></a> 63 :kind_of =&gt; String,
664
+ </span><span class="inferred0"><a name="line64"></a> 64 :desc =&gt; 'log_level (debug|info|warn|error|fatal) (default info)',
665
+ </span><span class="inferred1"><a name="line65"></a> 65 :optional =&gt; true,
666
+ </span><span class="inferred0"><a name="line66"></a> 66 :default =&gt; 'info',
667
+ </span><span class="inferred1"><a name="line67"></a> 67 :include =&gt; ToLogLevel,
668
+ </span><span class="inferred0"><a name="line68"></a> 68 :validate =&gt; proc {|val|
669
+ </span><span class="marked1"><a name="line69"></a> 69 val &amp;&amp; ::Logger::Severity.const_defined?(val.to_s.upcase)
670
+ </span><span class="uncovered0"><a name="line70"></a> 70 },
671
+ </span><span class="uncovered1"><a name="line71"></a> 71 }
672
+ </span><span class="inferred0"><a name="line72"></a> 72
673
+ </span><span class="inferred1"><a name="line73"></a> 73 # output logfile ( default STDERR ).
674
+ </span><span class="marked0"><a name="line74"></a> 74 has :logfile, {
675
+ </span><span class="inferred1"><a name="line75"></a> 75 :kind_of =&gt; String,
676
+ </span><span class="inferred0"><a name="line76"></a> 76 :desc =&gt; 'output logfile. (default STDERR)',
677
+ </span><span class="inferred1"><a name="line77"></a> 77 :optional =&gt; true,
678
+ </span><span class="inferred0"><a name="line78"></a> 78 :default =&gt; $stderr, # hmm, is name bad?
679
+ </span><span class="inferred1"><a name="line79"></a> 79 }
680
+ </span><span class="inferred0"><a name="line80"></a> 80
681
+ </span><span class="inferred1"><a name="line81"></a> 81 # size or (daily|weekly|monthly) (default nil)
682
+ </span><span class="marked0"><a name="line82"></a> 82 has :log_rotate, {
683
+ </span><span class="inferred1"><a name="line83"></a> 83 :desc =&gt; &quot;size or (daily|weekly|monthly) (default nil)&quot;,
684
+ </span><span class="inferred0"><a name="line84"></a> 84 :optional =&gt; true,
685
+ </span><span class="inferred1"><a name="line85"></a> 85 :validate =&gt; proc {|val|
686
+ </span><span class="uncovered0"><a name="line86"></a> 86 return true if val =~ /^(daily|weekly|monthly)$/
687
+ </span><span class="uncovered1"><a name="line87"></a> 87 return true if val.to_i &gt; 0
688
+ </span><span class="uncovered0"><a name="line88"></a> 88
689
+ </span><span class="uncovered1"><a name="line89"></a> 89 false
690
+ </span><span class="uncovered0"><a name="line90"></a> 90 },
691
+ </span><span class="uncovered1"><a name="line91"></a> 91 # convert for ClassX::Commandable
692
+ </span><span class="uncovered0"><a name="line92"></a> 92 :coerce =&gt; proc {|val|
693
+ </span><span class="uncovered1"><a name="line93"></a> 93 return val if val.kind_of? Integer
694
+ </span><span class="uncovered0"><a name="line94"></a> 94 return val if val =~ /^(daily|weekly|monthly)$/
695
+ </span><span class="uncovered1"><a name="line95"></a> 95
696
+ </span><span class="uncovered0"><a name="line96"></a> 96 if val.respond_to?(:to_i) &amp;&amp; val.to_i &gt; 0
697
+ </span><span class="uncovered1"><a name="line97"></a> 97 val.to_i
698
+ </span><span class="uncovered0"><a name="line98"></a> 98 else
699
+ </span><span class="uncovered1"><a name="line99"></a> 99 val
700
+ </span><span class="uncovered0"><a name="line100"></a>100 end
701
+ </span><span class="uncovered1"><a name="line101"></a>101 },
702
+ </span><span class="uncovered0"><a name="line102"></a>102 }
703
+ </span><span class="uncovered1"><a name="line103"></a>103
704
+ </span><span class="uncovered0"><a name="line104"></a>104 end
705
+ </span><span class="uncovered1"><a name="line105"></a>105 end
706
+ </span><span class="uncovered0"><a name="line106"></a>106 end
707
+ </span></pre><hr/>
708
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
709
+ version 0.8.1.2.</p>
710
+ <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'/>
711
+ </a>
712
+ <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'/>
713
+ </a>
714
+ </p>
715
+ </body>
716
+ </html>