mcmire-context 0.5.6

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.
@@ -0,0 +1,708 @@
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/shared_behavior.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 Wed Dec 24 11:03:27 -0600 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-shared_behavior_rb.html'>lib/context/shared_behavior.rb</a>
573
+ </td>
574
+ <td class='lines_total'><tt>98</tt>
575
+ </td>
576
+ <td class='lines_code'><tt>44</tt>
577
+ </td>
578
+ <td><table cellspacing='0' cellpadding='0' align='right'><tr><td><tt class='coverage_total'>68.4%</tt>
579
+ &nbsp;</td>
580
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='68'/>
581
+ <td class='uncovered' width='32'/>
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'>34.1%</tt>
589
+ &nbsp;</td>
590
+ <td><table cellspacing='0' class='percent_graph' cellpadding='0' width='100'><tr><td class='covered' width='34'/>
591
+ <td class='uncovered' width='66'/>
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 module Context
602
+ </span><span class="marked0"><a name="line2"></a> 2 class SharedBehavior &lt; Module
603
+ </span><span class="marked1"><a name="line3"></a> 3 def self.create_from_behavior(beh) # :nodoc:
604
+ </span><span class="uncovered0"><a name="line4"></a> 4 mod = self.new
605
+ </span><span class="uncovered1"><a name="line5"></a> 5 mod._behavior = beh
606
+ </span><span class="uncovered0"><a name="line6"></a> 6
607
+ </span><span class="uncovered1"><a name="line7"></a> 7 mod
608
+ </span><span class="uncovered0"><a name="line8"></a> 8 end
609
+ </span><span class="inferred1"><a name="line9"></a> 9
610
+ </span><span class="marked0"><a name="line10"></a>10 def _behavior=(beh) # :nodoc:
611
+ </span><span class="uncovered1"><a name="line11"></a>11 @_behavior = beh
612
+ </span><span class="uncovered0"><a name="line12"></a>12 end
613
+ </span><span class="inferred1"><a name="line13"></a>13
614
+ </span><span class="marked0"><a name="line14"></a>14 def included(arg) # :nodoc:
615
+ </span><span class="uncovered1"><a name="line15"></a>15 @_behavior.call
616
+ </span><span class="uncovered0"><a name="line16"></a>16 end
617
+ </span><span class="uncovered1"><a name="line17"></a>17 end
618
+ </span><span class="uncovered0"><a name="line18"></a>18 end
619
+ </span><span class="inferred1"><a name="line19"></a>19
620
+ </span><span class="marked0"><a name="line20"></a>20 class Test::Unit::TestCase
621
+ </span><span class="marked1"><a name="line21"></a>21 class &lt;&lt; self
622
+ </span><span class="inferred0"><a name="line22"></a>22 # Share behavior among different contexts. This creates a module (actually, a Module subclass)
623
+ </span><span class="inferred1"><a name="line23"></a>23 # that is included using the +use+ method (or one of its aliases) provided by context or +include+
624
+ </span><span class="inferred0"><a name="line24"></a>24 # if you know the module's constant name.
625
+ </span><span class="inferred1"><a name="line25"></a>25 #
626
+ </span><span class="inferred0"><a name="line26"></a>26 # ==== Examples
627
+ </span><span class="inferred1"><a name="line27"></a>27 #
628
+ </span><span class="inferred0"><a name="line28"></a>28 # shared &quot;other things&quot; do
629
+ </span><span class="inferred1"><a name="line29"></a>29 # it &quot;should do things but not some things&quot; do
630
+ </span><span class="inferred0"><a name="line30"></a>30 # # behavior is fun
631
+ </span><span class="inferred1"><a name="line31"></a>31 # end
632
+ </span><span class="inferred0"><a name="line32"></a>32 # end
633
+ </span><span class="inferred1"><a name="line33"></a>33 #
634
+ </span><span class="inferred0"><a name="line34"></a>34 # use &quot;other things&quot;
635
+ </span><span class="inferred1"><a name="line35"></a>35 # # or...
636
+ </span><span class="inferred0"><a name="line36"></a>36 # it_should_behave_like &quot;other things&quot;
637
+ </span><span class="inferred1"><a name="line37"></a>37 #
638
+ </span><span class="inferred0"><a name="line38"></a>38 # shared :client do
639
+ </span><span class="inferred1"><a name="line39"></a>39 # it &quot;should be a client to our server&quot; do
640
+ </span><span class="inferred0"><a name="line40"></a>40 # # TODO: client behavior here
641
+ </span><span class="inferred1"><a name="line41"></a>41 # end
642
+ </span><span class="inferred0"><a name="line42"></a>42 # end
643
+ </span><span class="inferred1"><a name="line43"></a>43 #
644
+ </span><span class="inferred0"><a name="line44"></a>44 # use :client
645
+ </span><span class="inferred1"><a name="line45"></a>45 # # or...
646
+ </span><span class="inferred0"><a name="line46"></a>46 # uses &quot;client&quot;
647
+ </span><span class="inferred1"><a name="line47"></a>47 # behaves_like &quot;client&quot;
648
+ </span><span class="inferred0"><a name="line48"></a>48 #
649
+ </span><span class="marked1"><a name="line49"></a>49 def shared(name, &amp;block)
650
+ </span><span class="uncovered0"><a name="line50"></a>50 case name.class.name
651
+ </span><span class="uncovered1"><a name="line51"></a>51 when &quot;String&quot;
652
+ </span><span class="uncovered0"><a name="line52"></a>52 name = name.to_module_name
653
+ </span><span class="uncovered1"><a name="line53"></a>53 when &quot;Symbol&quot;
654
+ </span><span class="uncovered0"><a name="line54"></a>54 name = name.to_s.to_module_name
655
+ </span><span class="uncovered1"><a name="line55"></a>55 else
656
+ </span><span class="uncovered0"><a name="line56"></a>56 raise ArgumentError, &quot;Provide a String or Symbol as the name of the shared behavior group&quot;
657
+ </span><span class="uncovered1"><a name="line57"></a>57 end
658
+ </span><span class="uncovered0"><a name="line58"></a>58
659
+ </span><span class="uncovered1"><a name="line59"></a>59 Object.const_set(name, Context::SharedBehavior.create_from_behavior(block))
660
+ </span><span class="uncovered0"><a name="line60"></a>60 end
661
+ </span><span class="inferred1"><a name="line61"></a>61
662
+ </span><span class="marked0"><a name="line62"></a>62 %w(shared_behavior share_as share_behavior_as shared_examples_for).each {|m| alias_method m, :shared}
663
+ </span><span class="inferred1"><a name="line63"></a>63
664
+ </span><span class="inferred0"><a name="line64"></a>64 # Pull in behavior shared by +shared+ or a module.
665
+ </span><span class="inferred1"><a name="line65"></a>65 #
666
+ </span><span class="inferred0"><a name="line66"></a>66 # ==== Examples
667
+ </span><span class="inferred1"><a name="line67"></a>67 #
668
+ </span><span class="inferred0"><a name="line68"></a>68 # shared &quot;other things&quot; do
669
+ </span><span class="inferred1"><a name="line69"></a>69 # it &quot;should do things but not some things&quot; do
670
+ </span><span class="inferred0"><a name="line70"></a>70 # # behavior is fun
671
+ </span><span class="inferred1"><a name="line71"></a>71 # end
672
+ </span><span class="inferred0"><a name="line72"></a>72 # end
673
+ </span><span class="inferred1"><a name="line73"></a>73 #
674
+ </span><span class="inferred0"><a name="line74"></a>74 # use &quot;other things&quot;
675
+ </span><span class="inferred1"><a name="line75"></a>75 # # or...
676
+ </span><span class="inferred0"><a name="line76"></a>76 # it_should_behave_like &quot;other things&quot;
677
+ </span><span class="inferred1"><a name="line77"></a>77 #
678
+ </span><span class="inferred0"><a name="line78"></a>78 # module Things
679
+ </span><span class="inferred1"><a name="line79"></a>79 # end
680
+ </span><span class="inferred0"><a name="line80"></a>80 #
681
+ </span><span class="inferred1"><a name="line81"></a>81 # uses Things
682
+ </span><span class="inferred0"><a name="line82"></a>82 #
683
+ </span><span class="marked1"><a name="line83"></a>83 def use(shared_name)
684
+ </span><span class="inferred0"><a name="line84"></a>84 case shared_name.class.name
685
+ </span><span class="inferred1"><a name="line85"></a>85 when &quot;Context::SharedBehavior&quot;, &quot;Module&quot;
686
+ </span><span class="uncovered0"><a name="line86"></a>86 include shared_name
687
+ </span><span class="uncovered1"><a name="line87"></a>87 when &quot;String&quot;
688
+ </span><span class="uncovered0"><a name="line88"></a>88 include Object.const_get(shared_name.to_module_name)
689
+ </span><span class="uncovered1"><a name="line89"></a>89 when &quot;Symbol&quot;
690
+ </span><span class="uncovered0"><a name="line90"></a>90 include Object.const_get(shared_name.to_s.to_module_name)
691
+ </span><span class="uncovered1"><a name="line91"></a>91 else
692
+ </span><span class="uncovered0"><a name="line92"></a>92 raise ArgumentError, &quot;Provide a String or Symbol as the name of the shared behavior group or the module name&quot;
693
+ </span><span class="uncovered1"><a name="line93"></a>93 end
694
+ </span><span class="uncovered0"><a name="line94"></a>94 end
695
+ </span><span class="inferred1"><a name="line95"></a>95
696
+ </span><span class="marked0"><a name="line96"></a>96 %w(uses it_should_behave_like behaves_like uses_examples_from).each {|m| alias_method m, :use}
697
+ </span><span class="inferred1"><a name="line97"></a>97 end
698
+ </span><span class="inferred0"><a name="line98"></a>98 end
699
+ </span></pre><hr/>
700
+ <p>Generated using the <a href='http://eigenclass.org/hiki.rb?rcov'>rcov code coverage analysis tool for Ruby</a>
701
+ version 0.8.1.2.</p>
702
+ <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'/>
703
+ </a>
704
+ <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'/>
705
+ </a>
706
+ </p>
707
+ </body>
708
+ </html>