caricature 0.5.0 → 0.6.0

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 (51) hide show
  1. data/VERSION +1 -1
  2. data/caricature.gemspec +5 -2
  3. data/doc/Array.html +2 -2
  4. data/doc/Caricature/ArgumentRecording.html +4 -4
  5. data/doc/Caricature/ClrClassMessenger.html +22 -22
  6. data/doc/Caricature/ClrInterfaceMessenger.html +19 -19
  7. data/doc/Caricature/ClrIsolator.html +1 -1
  8. data/doc/Caricature/Expectation.html +12 -12
  9. data/doc/Caricature/ExpectationBuilder.html +6 -6
  10. data/doc/Caricature/ExpectationSyntax.html +10 -10
  11. data/doc/Caricature/Expectations.html +19 -16
  12. data/doc/Caricature/Interception/ClassMethods.html +120 -2
  13. data/doc/Caricature/Interception.html +130 -12
  14. data/doc/Caricature/Isolation.html +207 -22
  15. data/doc/Caricature/Isolator.html +18 -18
  16. data/doc/Caricature/Messenger.html +87 -9
  17. data/doc/Caricature/MethodCallRecorder.html +20 -56
  18. data/doc/Caricature/MethodCallRecording.html +10 -10
  19. data/doc/Caricature/RubyIsolator.html +13 -13
  20. data/doc/Caricature/RubyMessenger.html +24 -23
  21. data/doc/Caricature/RubyObjectDescriptor.html +4 -4
  22. data/doc/Caricature/TypeDescriptor.html +4 -4
  23. data/doc/Caricature/Verification.html +16 -16
  24. data/doc/Caricature.html +2 -2
  25. data/doc/Class.html +4 -4
  26. data/doc/Hash.html +2 -2
  27. data/doc/Module.html +4 -4
  28. data/doc/Object.html +6 -6
  29. data/doc/String.html +4 -4
  30. data/doc/System/String.html +4 -4
  31. data/doc/System/Type.html +4 -4
  32. data/doc/created.rid +1 -1
  33. data/doc/index.html +102 -82
  34. data/doc/lib/caricature/clr/isolator_rb.html +1 -1
  35. data/doc/lib/caricature/clr/messenger_rb.html +1 -1
  36. data/doc/lib/caricature/clr_rb.html +1 -1
  37. data/doc/lib/caricature/expectation_rb.html +1 -1
  38. data/doc/lib/caricature/isolation_rb.html +1 -1
  39. data/doc/lib/caricature/isolator_rb.html +1 -1
  40. data/doc/lib/caricature/messenger_rb.html +52 -0
  41. data/doc/lib/caricature/method_call_recorder_rb.html +1 -1
  42. data/doc/lib/caricature/verification_rb.html +1 -1
  43. data/doc/lib/caricature_rb.html +1 -1
  44. data/lib/caricature/clr/aspnet_mvc.rb +51 -0
  45. data/lib/caricature/clr/isolator.rb +2 -1
  46. data/lib/caricature/expectation.rb +4 -3
  47. data/lib/caricature/method_call_recorder.rb +2 -2
  48. data/lib/caricature/verification.rb +1 -1
  49. data/pkg/caricature-0.5.0.gem +0 -0
  50. data/spec/isolator_spec.rb +7 -1
  51. metadata +5 -2
@@ -64,17 +64,27 @@
64
64
 
65
65
  <li><a href="#M000001">::for</a></li>
66
66
 
67
- <li><a href="#M000045">::for</a></li>
67
+ <li><a href="#M000047">::for</a></li>
68
68
 
69
69
  <li><a href="#M000002">::get_clr_isolation_strategy</a></li>
70
70
 
71
- <li><a href="#M000037">::new</a></li>
71
+ <li><a href="#M000034">::new</a></li>
72
+
73
+ <li><a href="#M000045">#class_verify</a></li>
74
+
75
+ <li><a href="#M000043">#create_class_override</a></li>
72
76
 
73
77
  <li><a href="#M000041">#create_override</a></li>
74
78
 
75
- <li><a href="#M000039">#send_message</a></li>
79
+ <li><a href="#M000049">#internal_create_override</a></li>
80
+
81
+ <li><a href="#M000051">#internal_verify</a></li>
82
+
83
+ <li><a href="#M000039">#send_class_message</a></li>
84
+
85
+ <li><a href="#M000038">#send_message</a></li>
76
86
 
77
- <li><a href="#M000042">#verify</a></li>
87
+ <li><a href="#M000044">#verify</a></li>
78
88
 
79
89
  </ul>
80
90
  </div>
@@ -317,7 +327,7 @@ the method call recorder
317
327
 
318
328
 
319
329
  <div id="for-method" class="method-detail ">
320
- <a name="M000045"></a>
330
+ <a name="M000047"></a>
321
331
 
322
332
  <div class="method-heading">
323
333
 
@@ -340,7 +350,7 @@ the method call recorder
340
350
  <div class="method-source-code"
341
351
  id="for-source">
342
352
  <pre>
343
- <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 102</span>
353
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 113</span>
344
354
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">for</span>(<span class="ruby-identifier">subject</span>, <span class="ruby-identifier">recorder</span> = <span class="ruby-constant">MethodCallRecorder</span>.<span class="ruby-identifier">new</span>, <span class="ruby-identifier">expectations</span> = <span class="ruby-constant">Expectations</span>.<span class="ruby-identifier">new</span>)
345
355
  <span class="ruby-identifier">context</span> = <span class="ruby-constant">IsolatorContext</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">subject</span>, <span class="ruby-identifier">recorder</span>, <span class="ruby-identifier">expectations</span>
346
356
 
@@ -357,7 +367,7 @@ the method call recorder
357
367
 
358
368
 
359
369
  <div id="new-method" class="method-detail ">
360
- <a name="M000037"></a>
370
+ <a name="M000034"></a>
361
371
 
362
372
  <div class="method-heading">
363
373
 
@@ -384,7 +394,6 @@ Initializes a new instance of this isolation.
384
394
  <span class="ruby-ivar">@recorder</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">recorder</span>
385
395
  <span class="ruby-ivar">@messenger</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">messenger</span>
386
396
  <span class="ruby-ivar">@expectations</span> = <span class="ruby-identifier">context</span>.<span class="ruby-identifier">expectations</span>
387
- <span class="ruby-comment cmt"># isolator.isolation.instance_variable_set(&quot;@___context___&quot;, self)</span>
388
397
  <span class="ruby-identifier">isolator</span>.<span class="ruby-identifier">isolation</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">&quot;@___context___&quot;</span>, <span class="ruby-keyword kw">self</span>)
389
398
  <span class="ruby-keyword kw">end</span></pre>
390
399
  </div>
@@ -444,6 +453,76 @@ otherwise it will return a <tt>ClrIsolator</tt>
444
453
  <h3 class="section-header">Public Instance Methods</h3>
445
454
 
446
455
 
456
+ <div id="class-verify-method" class="method-detail ">
457
+ <a name="M000045"></a>
458
+
459
+ <div class="method-heading">
460
+
461
+ <span class="method-name">class_verify</span><span
462
+ class="method-args">(method_name, &block)</span>
463
+ <span class="method-click-advice">click to toggle source</span>
464
+
465
+ </div>
466
+
467
+ <div class="method-description">
468
+
469
+ <p>
470
+ asserts whether the method has been called for the specified configuration
471
+ </p>
472
+
473
+
474
+
475
+ <div class="method-source-code"
476
+ id="class-verify-source">
477
+ <pre>
478
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 104</span>
479
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">class_verify</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
480
+ <span class="ruby-identifier">internal_verify</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:class</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
481
+ <span class="ruby-keyword kw">end</span></pre>
482
+ </div>
483
+
484
+ </div>
485
+
486
+
487
+ </div>
488
+
489
+
490
+ <div id="create-class-override-method" class="method-detail ">
491
+ <a name="M000043"></a>
492
+
493
+ <div class="method-heading">
494
+
495
+ <span class="method-name">create_class_override</span><span
496
+ class="method-args">(method_name, &block)</span>
497
+ <span class="method-click-advice">click to toggle source</span>
498
+
499
+ </div>
500
+
501
+ <div class="method-description">
502
+
503
+ <p>
504
+ builds up an expectation for a class method, allows for overriding the
505
+ result returned by the class method
506
+ </p>
507
+
508
+
509
+
510
+ <div class="method-source-code"
511
+ id="create-class-override-source">
512
+ <pre>
513
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 93</span>
514
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_class_override</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
515
+ <span class="ruby-identifier">puts</span> <span class="ruby-value str">&quot;creating override&quot;</span>
516
+ <span class="ruby-identifier">internal_create_override</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:class</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
517
+ <span class="ruby-keyword kw">end</span></pre>
518
+ </div>
519
+
520
+ </div>
521
+
522
+
523
+ </div>
524
+
525
+
447
526
  <div id="create-override-method" class="method-detail ">
448
527
  <a name="M000041"></a>
449
528
 
@@ -458,8 +537,8 @@ otherwise it will return a <tt>ClrIsolator</tt>
458
537
  <div class="method-description">
459
538
 
460
539
  <p>
461
- builds up an expectation, allows for overriding the result returned by the
462
- method
540
+ builds up an expectation for an instance method, allows for overriding the
541
+ result returned by the method
463
542
  </p>
464
543
 
465
544
 
@@ -467,13 +546,9 @@ method
467
546
  <div class="method-source-code"
468
547
  id="create-override-source">
469
548
  <pre>
470
- <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 82</span>
549
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 88</span>
471
550
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create_override</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
472
- <span class="ruby-identifier">builder</span> = <span class="ruby-constant">ExpectationBuilder</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">method_name</span>
473
- <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">builder</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
474
- <span class="ruby-identifier">exp</span> = <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">build</span>
475
- <span class="ruby-identifier">expectations</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">exp</span>
476
- <span class="ruby-identifier">exp</span>
551
+ <span class="ruby-identifier">internal_create_override</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:instance</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
477
552
  <span class="ruby-keyword kw">end</span></pre>
478
553
  </div>
479
554
 
@@ -483,9 +558,45 @@ method
483
558
  </div>
484
559
 
485
560
 
486
- <div id="send-message-method" class="method-detail ">
561
+ <div id="send-class-message-method" class="method-detail ">
487
562
  <a name="M000039"></a>
488
563
 
564
+ <div class="method-heading">
565
+
566
+ <span class="method-name">send_class_message</span><span
567
+ class="method-args">(method_name, return_type, *args, &b)</span>
568
+ <span class="method-click-advice">click to toggle source</span>
569
+
570
+ </div>
571
+
572
+ <div class="method-description">
573
+
574
+ <p>
575
+ record and send the message to the isolation. takes care of following
576
+ expectations rules when sending messages.
577
+ </p>
578
+
579
+
580
+
581
+ <div class="method-source-code"
582
+ id="send-class-message-source">
583
+ <pre>
584
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 82</span>
585
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_class_message</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
586
+ <span class="ruby-identifier">recorder</span>.<span class="ruby-identifier">record_call</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:class</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>
587
+ <span class="ruby-ivar">@messenger</span>.<span class="ruby-identifier">deliver_to_class</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
588
+ <span class="ruby-keyword kw">end</span></pre>
589
+ </div>
590
+
591
+ </div>
592
+
593
+
594
+ </div>
595
+
596
+
597
+ <div id="send-message-method" class="method-detail ">
598
+ <a name="M000038"></a>
599
+
489
600
  <div class="method-heading">
490
601
 
491
602
  <span class="method-name">send_message</span><span
@@ -506,9 +617,9 @@ expectations rules when sending messages.
506
617
  <div class="method-source-code"
507
618
  id="send-message-source">
508
619
  <pre>
509
- <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 76</span>
620
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 75</span>
510
621
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">send_message</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
511
- <span class="ruby-identifier">recorder</span>.<span class="ruby-identifier">record_call</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>
622
+ <span class="ruby-identifier">recorder</span>.<span class="ruby-identifier">record_call</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:instance</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>
512
623
  <span class="ruby-ivar">@messenger</span>.<span class="ruby-identifier">deliver</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
513
624
  <span class="ruby-keyword kw">end</span></pre>
514
625
  </div>
@@ -520,7 +631,7 @@ expectations rules when sending messages.
520
631
 
521
632
 
522
633
  <div id="verify-method" class="method-detail ">
523
- <a name="M000042"></a>
634
+ <a name="M000044"></a>
524
635
 
525
636
  <div class="method-heading">
526
637
 
@@ -541,9 +652,83 @@ asserts whether the method has been called for the specified configuration
541
652
  <div class="method-source-code"
542
653
  id="verify-source">
543
654
  <pre>
544
- <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 91</span>
655
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 99</span>
545
656
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">verify</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
546
- <span class="ruby-identifier">verification</span> = <span class="ruby-constant">Verification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">recorder</span>)
657
+ <span class="ruby-identifier">internal_verify</span> <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">:instance</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>
658
+ <span class="ruby-keyword kw">end</span></pre>
659
+ </div>
660
+
661
+ </div>
662
+
663
+
664
+ </div>
665
+
666
+
667
+ </div>
668
+
669
+ <div id="protected-instance-method-details" class="method-section section">
670
+ <h3 class="section-header">Protected Instance Methods</h3>
671
+
672
+
673
+ <div id="internal-create-override-method" class="method-detail ">
674
+ <a name="M000049"></a>
675
+
676
+ <div class="method-heading">
677
+
678
+ <span class="method-name">internal_create_override</span><span
679
+ class="method-args">(method_name, mode=:instance, &block)</span>
680
+ <span class="method-click-advice">click to toggle source</span>
681
+
682
+ </div>
683
+
684
+ <div class="method-description">
685
+
686
+ <p class="missing-docs">(Not documented)</p>
687
+
688
+
689
+
690
+ <div class="method-source-code"
691
+ id="internal-create-override-source">
692
+ <pre>
693
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 125</span>
694
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">internal_create_override</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">mode</span>=<span class="ruby-identifier">:instance</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
695
+ <span class="ruby-identifier">builder</span> = <span class="ruby-constant">ExpectationBuilder</span>.<span class="ruby-identifier">new</span> <span class="ruby-identifier">method_name</span>
696
+ <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">builder</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
697
+ <span class="ruby-identifier">exp</span> = <span class="ruby-identifier">builder</span>.<span class="ruby-identifier">build</span>
698
+ <span class="ruby-identifier">expectations</span>.<span class="ruby-identifier">add_expectation</span> <span class="ruby-identifier">exp</span>, <span class="ruby-identifier">mode</span>
699
+ <span class="ruby-identifier">exp</span>
700
+ <span class="ruby-keyword kw">end</span></pre>
701
+ </div>
702
+
703
+ </div>
704
+
705
+
706
+ </div>
707
+
708
+
709
+ <div id="internal-verify-method" class="method-detail ">
710
+ <a name="M000051"></a>
711
+
712
+ <div class="method-heading">
713
+
714
+ <span class="method-name">internal_verify</span><span
715
+ class="method-args">(method_name, mode=:instance, &block)</span>
716
+ <span class="method-click-advice">click to toggle source</span>
717
+
718
+ </div>
719
+
720
+ <div class="method-description">
721
+
722
+ <p class="missing-docs">(Not documented)</p>
723
+
724
+
725
+
726
+ <div class="method-source-code"
727
+ id="internal-verify-source">
728
+ <pre>
729
+ <span class="ruby-comment cmt"># File lib/caricature/isolation.rb, line 133</span>
730
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">internal_verify</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">mode</span>=<span class="ruby-identifier">:instance</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
731
+ <span class="ruby-identifier">verification</span> = <span class="ruby-constant">Verification</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">recorder</span>, <span class="ruby-identifier">mode</span>)
547
732
  <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span> <span class="ruby-identifier">verification</span> <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
548
733
  <span class="ruby-identifier">verification</span>
549
734
  <span class="ruby-keyword kw">end</span></pre>
@@ -59,17 +59,17 @@
59
59
  <h3 class="section-header">Methods</h3>
60
60
  <ul class="link-list">
61
61
 
62
- <li><a href="#M000059">::for</a></li>
62
+ <li><a href="#M000072">::for</a></li>
63
63
 
64
- <li><a href="#M000052">::new</a></li>
64
+ <li><a href="#M000063">::new</a></li>
65
65
 
66
- <li><a href="#M000053">#build_isolation</a></li>
66
+ <li><a href="#M000065">#build_isolation</a></li>
67
67
 
68
- <li><a href="#M000055">#class_name</a></li>
68
+ <li><a href="#M000068">#class_name</a></li>
69
69
 
70
- <li><a href="#M000056">#initialize_isolation</a></li>
70
+ <li><a href="#M000069">#initialize_isolation</a></li>
71
71
 
72
- <li><a href="#M000054">#initialize_messenger</a></li>
72
+ <li><a href="#M000067">#initialize_messenger</a></li>
73
73
 
74
74
  </ul>
75
75
  </div>
@@ -269,7 +269,7 @@ holds the descriptor for this type of object
269
269
 
270
270
 
271
271
  <div id="for-method" class="method-detail ">
272
- <a name="M000059"></a>
272
+ <a name="M000072"></a>
273
273
 
274
274
  <div class="method-heading">
275
275
 
@@ -299,7 +299,7 @@ virtual in your implementing classes.
299
299
  <div class="method-source-code"
300
300
  id="for-source">
301
301
  <pre>
302
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 137</span>
302
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 219</span>
303
303
  <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">for</span>(<span class="ruby-identifier">context</span>)
304
304
  <span class="ruby-identifier">context</span>.<span class="ruby-identifier">recorder</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">MethodCallRecorder</span>.<span class="ruby-identifier">new</span>
305
305
  <span class="ruby-identifier">context</span>.<span class="ruby-identifier">expectations</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Expectations</span>.<span class="ruby-identifier">new</span>
@@ -314,7 +314,7 @@ virtual in your implementing classes.
314
314
 
315
315
 
316
316
  <div id="new-method" class="method-detail ">
317
- <a name="M000052"></a>
317
+ <a name="M000063"></a>
318
318
 
319
319
  <div class="method-heading">
320
320
 
@@ -335,7 +335,7 @@ creates a new instance of an isolator
335
335
  <div class="method-source-code"
336
336
  id="new-source">
337
337
  <pre>
338
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 95</span>
338
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 177</span>
339
339
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">context</span>)
340
340
  <span class="ruby-ivar">@context</span> = <span class="ruby-identifier">context</span>
341
341
  <span class="ruby-keyword kw">end</span></pre>
@@ -354,7 +354,7 @@ creates a new instance of an isolator
354
354
 
355
355
 
356
356
  <div id="build-isolation-method" class="method-detail ">
357
- <a name="M000053"></a>
357
+ <a name="M000065"></a>
358
358
 
359
359
  <div class="method-heading">
360
360
 
@@ -375,7 +375,7 @@ builds up the isolation class instance
375
375
  <div class="method-source-code"
376
376
  id="build-isolation-source">
377
377
  <pre>
378
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 100</span>
378
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 182</span>
379
379
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_isolation</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">inst</span>=<span class="ruby-keyword kw">nil</span>)
380
380
  <span class="ruby-identifier">pxy</span> = <span class="ruby-identifier">create_isolation_for</span> <span class="ruby-identifier">klass</span>
381
381
  <span class="ruby-ivar">@isolation</span> = <span class="ruby-identifier">pxy</span>.<span class="ruby-identifier">new</span>
@@ -391,7 +391,7 @@ builds up the isolation class instance
391
391
 
392
392
 
393
393
  <div id="class-name-method" class="method-detail ">
394
- <a name="M000055"></a>
394
+ <a name="M000068"></a>
395
395
 
396
396
  <div class="method-heading">
397
397
 
@@ -412,7 +412,7 @@ Creates the new class name for the isolation
412
412
  <div class="method-source-code"
413
413
  id="class-name-source">
414
414
  <pre>
415
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 113</span>
415
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 195</span>
416
416
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">class_name</span>(<span class="ruby-identifier">subj</span>)
417
417
  <span class="ruby-identifier">nm</span> = <span class="ruby-identifier">subj</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:class_eval</span>) <span class="ruby-operator">?</span> <span class="ruby-identifier">subj</span>.<span class="ruby-identifier">demodulize</span> <span class="ruby-operator">:</span> <span class="ruby-identifier">subj</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">demodulize</span>
418
418
  <span class="ruby-ivar">@class_name</span> = <span class="ruby-node">&quot;#{nm}#{System::Guid.new_guid.to_string('n')}&quot;</span>
@@ -427,7 +427,7 @@ Creates the new class name for the isolation
427
427
 
428
428
 
429
429
  <div id="initialize-isolation-method" class="method-detail ">
430
- <a name="M000056"></a>
430
+ <a name="M000069"></a>
431
431
 
432
432
  <div class="method-heading">
433
433
 
@@ -448,7 +448,7 @@ Sets up the necessary instance variables for the isolation
448
448
  <div class="method-source-code"
449
449
  id="initialize-isolation-source">
450
450
  <pre>
451
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 120</span>
451
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 202</span>
452
452
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_isolation</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-identifier">context</span>)
453
453
  <span class="ruby-identifier">pxy</span> = <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">new</span>
454
454
  <span class="ruby-identifier">pxy</span>.<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-value str">&quot;@___context___&quot;</span>, <span class="ruby-identifier">context</span>)
@@ -463,7 +463,7 @@ Sets up the necessary instance variables for the isolation
463
463
 
464
464
 
465
465
  <div id="initialize-messenger-method" class="method-detail ">
466
- <a name="M000054"></a>
466
+ <a name="M000067"></a>
467
467
 
468
468
  <div class="method-heading">
469
469
 
@@ -484,7 +484,7 @@ initializes the messaging strategy for the isolator
484
484
  <div class="method-source-code"
485
485
  id="initialize-messenger-source">
486
486
  <pre>
487
- <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 108</span>
487
+ <span class="ruby-comment cmt"># File lib/caricature/isolator.rb, line 190</span>
488
488
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize_messenger</span>
489
489
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
490
490
  <span class="ruby-keyword kw">end</span></pre>
@@ -28,8 +28,8 @@
28
28
  <div class="section-body">
29
29
  <ul>
30
30
 
31
- <li><a href="../lib/caricature/messaging_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
- class="thickbox" title="lib/caricature/messaging.rb">lib/caricature/messaging.rb</a></li>
31
+ <li><a href="../lib/caricature/messenger_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
32
+ class="thickbox" title="lib/caricature/messenger.rb">lib/caricature/messenger.rb</a></li>
33
33
 
34
34
  </ul>
35
35
  </div>
@@ -59,9 +59,13 @@
59
59
  <h3 class="section-header">Methods</h3>
60
60
  <ul class="link-list">
61
61
 
62
- <li><a href="#M000048">::new</a></li>
62
+ <li><a href="#M000055">::new</a></li>
63
63
 
64
- <li><a href="#M000050">#deliver</a></li>
64
+ <li><a href="#M000056">#deliver</a></li>
65
+
66
+ <li><a href="#M000058">#deliver_to_class</a></li>
67
+
68
+ <li><a href="#M000059">#internal_deliver</a></li>
65
69
 
66
70
  </ul>
67
71
  </div>
@@ -239,7 +243,7 @@ the expecations that have been set for the isolation
239
243
 
240
244
 
241
245
  <div id="new-method" class="method-detail ">
242
- <a name="M000048"></a>
246
+ <a name="M000055"></a>
243
247
 
244
248
  <div class="method-heading">
245
249
 
@@ -260,7 +264,7 @@ creates a new instance of this messaging strategy
260
264
  <div class="method-source-code"
261
265
  id="new-source">
262
266
  <pre>
263
- <span class="ruby-comment cmt"># File lib/caricature/messaging.rb, line 14</span>
267
+ <span class="ruby-comment cmt"># File lib/caricature/messenger.rb, line 14</span>
264
268
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">expectations</span>, <span class="ruby-identifier">instance</span>=<span class="ruby-keyword kw">nil</span>)
265
269
  <span class="ruby-ivar">@instance</span>, <span class="ruby-ivar">@expectations</span> = <span class="ruby-identifier">instance</span>, <span class="ruby-identifier">expectations</span>
266
270
  <span class="ruby-keyword kw">end</span></pre>
@@ -279,7 +283,7 @@ creates a new instance of this messaging strategy
279
283
 
280
284
 
281
285
  <div id="deliver-method" class="method-detail ">
282
- <a name="M000050"></a>
286
+ <a name="M000056"></a>
283
287
 
284
288
  <div class="method-heading">
285
289
 
@@ -300,9 +304,43 @@ deliver the message to the receiving isolation
300
304
  <div class="method-source-code"
301
305
  id="deliver-source">
302
306
  <pre>
303
- <span class="ruby-comment cmt"># File lib/caricature/messaging.rb, line 19</span>
307
+ <span class="ruby-comment cmt"># File lib/caricature/messenger.rb, line 19</span>
304
308
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
305
- <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>
309
+ <span class="ruby-identifier">internal_deliver</span>(<span class="ruby-identifier">:instance</span>, <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
310
+ <span class="ruby-keyword kw">end</span></pre>
311
+ </div>
312
+
313
+ </div>
314
+
315
+
316
+ </div>
317
+
318
+
319
+ <div id="deliver-to-class-method" class="method-detail ">
320
+ <a name="M000058"></a>
321
+
322
+ <div class="method-heading">
323
+
324
+ <span class="method-name">deliver_to_class</span><span
325
+ class="method-args">(method_name, return_type, *args, &b)</span>
326
+ <span class="method-click-advice">click to toggle source</span>
327
+
328
+ </div>
329
+
330
+ <div class="method-description">
331
+
332
+ <p>
333
+ deliver the message to class of the receiving isolation
334
+ </p>
335
+
336
+
337
+
338
+ <div class="method-source-code"
339
+ id="deliver-to-class-source">
340
+ <pre>
341
+ <span class="ruby-comment cmt"># File lib/caricature/messenger.rb, line 24</span>
342
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">deliver_to_class</span>(<span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
343
+ <span class="ruby-identifier">internal_deliver</span>(<span class="ruby-identifier">:class</span>, <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
306
344
  <span class="ruby-keyword kw">end</span></pre>
307
345
  </div>
308
346
 
@@ -314,6 +352,46 @@ deliver the message to the receiving isolation
314
352
 
315
353
  </div>
316
354
 
355
+ <div id="protected-instance-method-details" class="method-section section">
356
+ <h3 class="section-header">Protected Instance Methods</h3>
357
+
358
+
359
+ <div id="internal-deliver-method" class="method-detail ">
360
+ <a name="M000059"></a>
361
+
362
+ <div class="method-heading">
363
+
364
+ <span class="method-name">internal_deliver</span><span
365
+ class="method-args">(mode, method_name, return_type, *args, &b)</span>
366
+ <span class="method-click-advice">click to toggle source</span>
367
+
368
+ </div>
369
+
370
+ <div class="method-description">
371
+
372
+ <p>
373
+ template method for looking up the expectation and/or returning a value
374
+ </p>
375
+
376
+
377
+
378
+ <div class="method-source-code"
379
+ id="internal-deliver-source">
380
+ <pre>
381
+ <span class="ruby-comment cmt"># File lib/caricature/messenger.rb, line 31</span>
382
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">internal_deliver</span>(<span class="ruby-identifier">mode</span>, <span class="ruby-identifier">method_name</span>, <span class="ruby-identifier">return_type</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">b</span>)
383
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">NotImplementedError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-value str">&quot;Override in an implementing class&quot;</span>)
384
+ <span class="ruby-keyword kw">end</span></pre>
385
+ </div>
386
+
387
+ </div>
388
+
389
+
390
+ </div>
391
+
392
+
393
+ </div>
394
+
317
395
 
318
396
  </div>
319
397