context 0.0.16

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 (113) hide show
  1. data/Rakefile.rb +107 -0
  2. data/coverage/-usr-local-lib-site_ruby-1_8-atk_rb.html +612 -0
  3. data/coverage/-usr-local-lib-site_ruby-1_8-gdk_pixbuf2_rb.html +637 -0
  4. data/coverage/-usr-local-lib-site_ruby-1_8-glib2_rb.html +829 -0
  5. data/coverage/-usr-local-lib-site_ruby-1_8-gtk2-base_rb.html +709 -0
  6. data/coverage/-usr-local-lib-site_ruby-1_8-gtk2_rb.html +623 -0
  7. data/coverage/-usr-local-lib-site_ruby-1_8-pango_rb.html +665 -0
  8. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-color_rb.html +865 -0
  9. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-colors_rb.html +1266 -0
  10. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-constants_rb.html +632 -0
  11. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-blur_rb.html +655 -0
  12. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-circle_rb.html +619 -0
  13. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-color_rb.html +621 -0
  14. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-path_rb.html +726 -0
  15. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-rectangle_rb.html +643 -0
  16. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context-triangle_rb.html +622 -0
  17. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-context_rb.html +639 -0
  18. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-paper_rb.html +793 -0
  19. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-papers_rb.html +651 -0
  20. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-path_rb.html +625 -0
  21. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo-point_rb.html +617 -0
  22. data/coverage/-var-lib-gems-1_8-gems-cairo-1_7_0-src-lib-cairo_rb.html +756 -0
  23. data/coverage/index.html +1170 -0
  24. data/coverage/lib-Context-Bridge_rb.html +673 -0
  25. data/coverage/lib-Context-Context_rb.html +756 -0
  26. data/coverage/lib-Context-EnumeratedType_rb.html +661 -0
  27. data/coverage/lib-Context-ExecutionProxy_rb.html +671 -0
  28. data/coverage/lib-Context-Gtk-App_rb.html +638 -0
  29. data/coverage/lib-Context-Gtk-Key_rb.html +664 -0
  30. data/coverage/lib-Context-Gtk-Widget_rb.html +667 -0
  31. data/coverage/lib-Context-KeyAssignment_rb.html +641 -0
  32. data/coverage/lib-Context-KeyMap_rb.html +653 -0
  33. data/coverage/lib-Context-Key_rb.html +667 -0
  34. data/coverage/lib-Context-View_rb.html +659 -0
  35. data/coverage/lib-Context-Views-Gtk-PageView_rb.html +660 -0
  36. data/coverage/lib-Context-Views-PageView_rb.html +627 -0
  37. data/coverage/lib-Context-Widget_rb.html +650 -0
  38. data/coverage/lib-Context-require_all_rb.html +623 -0
  39. data/doc/classes/Context.html +174 -0
  40. data/doc/classes/Context/Bridge.html +296 -0
  41. data/doc/classes/Context/Context.html +564 -0
  42. data/doc/classes/Context/EnumeratedType.html +283 -0
  43. data/doc/classes/Context/ExecutionProxy.html +228 -0
  44. data/doc/classes/Context/Gtk.html +126 -0
  45. data/doc/classes/Context/Gtk/App.html +217 -0
  46. data/doc/classes/Context/Gtk/Key.html +292 -0
  47. data/doc/classes/Context/Gtk/PageView.html +245 -0
  48. data/doc/classes/Context/Gtk/PageView/MainWindow.html +200 -0
  49. data/doc/classes/Context/Gtk/Widget.html +311 -0
  50. data/doc/classes/Context/Key.html +305 -0
  51. data/doc/classes/Context/Key/Modifier.html +117 -0
  52. data/doc/classes/Context/KeyAssignment.html +234 -0
  53. data/doc/classes/Context/KeyMap.html +273 -0
  54. data/doc/classes/Context/PageView.html +180 -0
  55. data/doc/classes/Context/View.html +334 -0
  56. data/doc/classes/Context/Widget.html +298 -0
  57. data/doc/classes/Kernel.html +148 -0
  58. data/doc/classes/Object.html +196 -0
  59. data/doc/created.rid +1 -0
  60. data/doc/files/lib/Context/Bridge_rb.html +108 -0
  61. data/doc/files/lib/Context/Context_rb.html +109 -0
  62. data/doc/files/lib/Context/EnumeratedType_rb.html +101 -0
  63. data/doc/files/lib/Context/ExecutionProxy_rb.html +101 -0
  64. data/doc/files/lib/Context/Gtk/App_rb.html +110 -0
  65. data/doc/files/lib/Context/Gtk/Key_rb.html +109 -0
  66. data/doc/files/lib/Context/Gtk/Widget_rb.html +109 -0
  67. data/doc/files/lib/Context/KeyAssignment_rb.html +108 -0
  68. data/doc/files/lib/Context/KeyMap_rb.html +109 -0
  69. data/doc/files/lib/Context/Key_rb.html +108 -0
  70. data/doc/files/lib/Context/Version_rb.html +101 -0
  71. data/doc/files/lib/Context/View_rb.html +101 -0
  72. data/doc/files/lib/Context/Views/Gtk/PageView_rb.html +111 -0
  73. data/doc/files/lib/Context/Views/PageView_rb.html +108 -0
  74. data/doc/files/lib/Context/Widget_rb.html +101 -0
  75. data/doc/files/lib/Context/require_all_rb.html +101 -0
  76. data/doc/fr_class_index.html +46 -0
  77. data/doc/fr_file_index.html +42 -0
  78. data/doc/fr_method_index.html +103 -0
  79. data/doc/index.html +24 -0
  80. data/doc/rdoc-style.css +208 -0
  81. data/lib/Context/Bridge.rb +63 -0
  82. data/lib/Context/Context.rb +146 -0
  83. data/lib/Context/EnumeratedType.rb +51 -0
  84. data/lib/Context/ExecutionProxy.rb +61 -0
  85. data/lib/Context/Gtk/App.rb +28 -0
  86. data/lib/Context/Gtk/Key.rb +54 -0
  87. data/lib/Context/Gtk/Widget.rb +57 -0
  88. data/lib/Context/Key.rb +57 -0
  89. data/lib/Context/KeyAssignment.rb +31 -0
  90. data/lib/Context/KeyMap.rb +43 -0
  91. data/lib/Context/Version.rb +5 -0
  92. data/lib/Context/View.rb +49 -0
  93. data/lib/Context/Views/Gtk/PageView.rb +50 -0
  94. data/lib/Context/Views/PageView.rb +17 -0
  95. data/lib/Context/Widget.rb +40 -0
  96. data/lib/Context/require_all.rb +13 -0
  97. data/spec/Context/Bridge_spec.rb +40 -0
  98. data/spec/Context/Context_spec.rb +102 -0
  99. data/spec/Context/EnumeratedType_spec.rb +51 -0
  100. data/spec/Context/ExecutionProxy_spec.rb +28 -0
  101. data/spec/Context/Gtk/App_spec.rb +24 -0
  102. data/spec/Context/Gtk/Key_spec.rb +45 -0
  103. data/spec/Context/Gtk/Widget_spec.rb +44 -0
  104. data/spec/Context/KeyAssignment_spec.rb +26 -0
  105. data/spec/Context/KeyMap_spec.rb +64 -0
  106. data/spec/Context/Key_spec.rb +22 -0
  107. data/spec/Context/View_spec.rb +62 -0
  108. data/spec/Context/Views/Gtk/PageView_spec.rb +44 -0
  109. data/spec/Context/Views/PageView_spec.rb +20 -0
  110. data/spec/Context/Widget_spec.rb +15 -0
  111. data/spec/Context/require_all_spec.rb +13 -0
  112. data/test_results.html +343 -0
  113. metadata +179 -0
@@ -0,0 +1,671 @@
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/Context/ExecutionProxy.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 Tue Sep 30 12:14:24 +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='lib-Context-ExecutionProxy_rb.html'>lib/Context/ExecutionProxy.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>61</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>34</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>100.0%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='100'/>
581
+ <td class='uncovered' width='0'/>
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'>100.0%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='100'/>
591
+ <td class='uncovered' width='0'/>
592
+ </tr>
593
+ </table>
594
+ </td>
595
+ </tr>
596
+ </table>
597
+ </td>
598
+ </tr>
599
+ </tbody>
600
+ </table>
601
+ <pre><span class="marked0"><a name="line1"></a> 1 module Context
602
+ </span><span class="inferred1"><a name="line2"></a> 2
603
+ </span><span class="inferred0"><a name="line3"></a> 3 # A Proxy for carrying on conditional execution.
604
+ </span><span class="marked1"><a name="line4"></a> 4 class ExecutionProxy
605
+ </span><span class="inferred0"><a name="line5"></a> 5 # Set the true object on which to execute and the condition to execute.
606
+ </span><span class="inferred1"><a name="line6"></a> 6 # NOTE: The condition is a bool. In other words it has *already*
607
+ </span><span class="inferred0"><a name="line7"></a> 7 # been evaluated before we get to this point.
608
+ </span><span class="marked1"><a name="line8"></a> 8 def initialize(object, cond)
609
+ </span><span class="marked0"><a name="line9"></a> 9 @object = object
610
+ </span><span class="marked1"><a name="line10"></a>10 @cond = cond
611
+ </span><span class="inferred0"><a name="line11"></a>11 end
612
+ </span><span class="inferred1"><a name="line12"></a>12
613
+ </span><span class="inferred0"><a name="line13"></a>13 # Conditionally execute the block. If the condition is true,
614
+ </span><span class="inferred1"><a name="line14"></a>14 # execute the block. Otherwise return the true object.
615
+ </span><span class="inferred0"><a name="line15"></a>15 # NOTE: Crazy name is so that you don't have something with
616
+ </span><span class="inferred1"><a name="line16"></a>16 # the same name and accidently call it with method_missing.
617
+ </span><span class="marked0"><a name="line17"></a>17 def execute_if_you_can(&amp;block)
618
+ </span><span class="marked1"><a name="line18"></a>18 if @cond
619
+ </span><span class="marked0"><a name="line19"></a>19 @object.instance_eval(&amp;block)
620
+ </span><span class="inferred1"><a name="line20"></a>20 else
621
+ </span><span class="marked0"><a name="line21"></a>21 @object
622
+ </span><span class="inferred1"><a name="line22"></a>22 end
623
+ </span><span class="inferred0"><a name="line23"></a>23 end
624
+ </span><span class="inferred1"><a name="line24"></a>24
625
+ </span><span class="inferred0"><a name="line25"></a>25 # Conditionally evaluate the symbol. If the condition is true,
626
+ </span><span class="inferred1"><a name="line26"></a>26 # evaluate the symbol. Otherwise return the true object.
627
+ </span><span class="marked0"><a name="line27"></a>27 def method_missing(symbol)
628
+ </span><span class="marked1"><a name="line28"></a>28 if @cond
629
+ </span><span class="marked0"><a name="line29"></a>29 @object.instance_eval(symbol.to_s)
630
+ </span><span class="inferred1"><a name="line30"></a>30 else
631
+ </span><span class="marked0"><a name="line31"></a>31 @object
632
+ </span><span class="inferred1"><a name="line32"></a>32 end
633
+ </span><span class="marked0"><a name="line33"></a>33 end
634
+ </span><span class="inferred1"><a name="line34"></a>34 end
635
+ </span><span class="inferred0"><a name="line35"></a>35 end
636
+ </span><span class="inferred1"><a name="line36"></a>36
637
+ </span><span class="marked0"><a name="line37"></a>37 class Object
638
+ </span><span class="inferred1"><a name="line38"></a>38
639
+ </span><span class="inferred0"><a name="line39"></a>39 # Execute the block if the condition is *true*. Or if there is no
640
+ </span><span class="inferred1"><a name="line40"></a>40 # block, then return the proxy object. Usually this is so you
641
+ </span><span class="inferred0"><a name="line41"></a>41 # can say something like:
642
+ </span><span class="inferred1"><a name="line42"></a>42 # * object.execute_if(condition).property
643
+ </span><span class="inferred0"><a name="line43"></a>43 # If the condition is *false*, execution of the block, or evaluation
644
+ </span><span class="inferred1"><a name="line44"></a>44 # of the property will return the original object.
645
+ </span><span class="marked0"><a name="line45"></a>45 def execute_if(cond, &amp;block)
646
+ </span><span class="marked1"><a name="line46"></a>46 proxy = Context::ExecutionProxy.new(self, cond)
647
+ </span><span class="inferred0"><a name="line47"></a>47 # Note: Wouldn't it be nice if the following could be replaced by
648
+ </span><span class="inferred1"><a name="line48"></a>48 # proxy.execute_if(!block.nil) do execute_if_you_can(&amp;block) end
649
+ </span><span class="marked0"><a name="line49"></a>49 proxy_if_block_exists = Context::ExecutionProxy.new(proxy, !block.nil?)
650
+ </span><span class="marked1"><a name="line50"></a>50 proxy_if_block_exists.execute_if_you_can() do
651
+ </span><span class="marked0"><a name="line51"></a>51 execute_if_you_can(&amp;block)
652
+ </span><span class="inferred1"><a name="line52"></a>52 end
653
+ </span><span class="inferred0"><a name="line53"></a>53 end
654
+ </span><span class="inferred1"><a name="line54"></a>54
655
+ </span><span class="inferred0"><a name="line55"></a>55 # If the object is not nil, execute the block (or evaluate
656
+ </span><span class="inferred1"><a name="line56"></a>56 # the property). Otherwise return nil.
657
+ </span><span class="marked0"><a name="line57"></a>57 def unless_nil(&amp;block)
658
+ </span><span class="marked1"><a name="line58"></a>58 execute_if(!nil?, &amp;block)
659
+ </span><span class="inferred0"><a name="line59"></a>59 end
660
+ </span><span class="inferred1"><a name="line60"></a>60 end
661
+ </span><span class="inferred0"><a name="line61"></a>61
662
+ </span></pre><hr/>
663
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
664
+ version 0.8.1.2.</p>
665
+ <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'/>
666
+ </a>
667
+ <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'/>
668
+ </a>
669
+ </p>
670
+ </body>
671
+ </html>