mattock 0.1.0 → 0.1.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.
data/doc/Specifications CHANGED
@@ -1,37 +1,37 @@
1
1
 
2
2
  Mattock::CommandLine
3
-  should have a name set
4
-  should produce a command string
5
-  should succeed
6
-  should not complain about success
3
+ should have a name set
4
+ should produce a command string
5
+ should succeed
6
+ should not complain about success
7
7
  Mattock::CommandRunResult
8
-  should have a result code
9
-  should have stdout
8
+ should have a result code
9
+ should have stdout
10
10
 
11
11
  Mattock::CommandLine that fails
12
-  should not succeed
13
-  should raise error if succeed demanded
12
+ should not succeed
13
+ should raise error if succeed demanded
14
14
 
15
15
  Mattock::RemoteCommandTask
16
16
  when verification indicates command should proceed
17
-  should run both commands
17
+ should run both commands
18
18
 
19
19
  Mattock::TemplateHost
20
-  should be able to do easy templating
20
+ should be able to do easy templating
21
21
 
22
22
  Mattock::TaskLib
23
-  should make root task depend on namespaced
24
-  should not make namespaced task depend on root task
23
+ should make root task depend on namespaced
24
+ should not make namespaced task depend on root task
25
25
  defines
26
-  should have task :test
27
-  should have task "test:task"
28
-  should not have task "random:tasks"
26
+ should have task :test
27
+ should have task "test:task"
28
+ should not have task "random:tasks"
29
29
 
30
30
  Mattock::Configurable
31
-  should set defaults
32
-  should complain about unset required fields
33
-  should complain about unset nested required fields
34
-  should not complain when required fields are set
31
+ should set defaults
32
+ should complain about unset required fields
33
+ should complain about unset nested required fields
34
+ should not complain when required fields are set
35
35
 
36
- Finished in 0.03405 seconds
37
- 19 examples, 0 failures
36
+ Finished in 0.06128 seconds
37
+ 19 examples, 0 failures
@@ -23,26 +23,26 @@
23
23
  <img src="./assets/0.5.3/loading.gif" alt="loading"/>
24
24
  </div>
25
25
  <div id="wrapper" style="display:none;">
26
- <div class="timestamp">Generated <abbr class="timeago" title="2012-01-28T02:02:54-08:00">2012-01-28T02:02:54-08:00</abbr></div>
26
+ <div class="timestamp">Generated <abbr class="timeago" title="2012-02-01T11:53:33-08:00">2012-02-01T11:53:33-08:00</abbr></div>
27
27
  <ul class="group_tabs"></ul>
28
28
 
29
29
  <div id="content">
30
30
  <div class="file_list_container" id="AllFiles">
31
31
  <h2>
32
32
  <span class="group_name">All Files</span>
33
- (<span class="covered_percent"><span class="green">92.79%</span></span>
33
+ (<span class="covered_percent"><span class="green">92.84%</span></span>
34
34
  covered at
35
35
  <span class="covered_strength">
36
36
  <span class="green">
37
- 2.62
37
+ 2.63
38
38
  </span>
39
39
  </span> hits/line)
40
40
  </h2>
41
41
  <a name="AllFiles"></a>
42
42
  <div>
43
43
  <b>12</b> files in total.
44
- <b>416</b> relevant lines.
45
- <span class="green"><b>386</b> lines covered</span> and
44
+ <b>419</b> relevant lines.
45
+ <span class="green"><b>389</b> lines covered</span> and
46
46
  <span class="red"><b>30</b> lines missed </span>
47
47
  </div>
48
48
  <table class="file_list">
@@ -81,12 +81,12 @@
81
81
 
82
82
  <tr>
83
83
  <td class="strong"><a href="#19e9811ada5819ea8e2c6a644088d4ba8e773a5b" class="src_link" title="lib/mattock/command-line.rb">lib/mattock/command-line.rb</a></td>
84
- <td class="green strong">93.1 %</td>
85
- <td>157</td>
86
- <td>87</td>
87
- <td>81</td>
84
+ <td class="green strong">93.33 %</td>
85
+ <td>162</td>
86
+ <td>90</td>
87
+ <td>84</td>
88
88
  <td>6</td>
89
- <td>3.0</td>
89
+ <td>3.2</td>
90
90
  </tr>
91
91
 
92
92
  <tr>
@@ -102,7 +102,7 @@
102
102
  <tr>
103
103
  <td class="strong"><a href="#151b5abc8f09f0fc2932ac98c07e3b516a518e3e" class="src_link" title="lib/mattock/configurable.rb">lib/mattock/configurable.rb</a></td>
104
104
  <td class="green strong">96.67 %</td>
105
- <td>153</td>
105
+ <td>157</td>
106
106
  <td>90</td>
107
107
  <td>87</td>
108
108
  <td>3</td>
@@ -450,10 +450,10 @@
450
450
  <div class="source_table" id="19e9811ada5819ea8e2c6a644088d4ba8e773a5b">
451
451
  <div class="header">
452
452
  <h3>lib/mattock/command-line.rb</h3>
453
- <h4><span class="green">93.1 %</span> covered</h4>
453
+ <h4><span class="green">93.33 %</span> covered</h4>
454
454
  <div>
455
- <b>87</b> relevant lines.
456
- <span class="green"><b>81</b> lines covered</span> and
455
+ <b>90</b> relevant lines.
456
+ <span class="green"><b>84</b> lines covered</span> and
457
457
  <span class="red"><b>6</b> lines missed.</span>
458
458
  </div>
459
459
  </div>
@@ -476,928 +476,958 @@
476
476
  <li class="covered" data-hits="1" data-linenumber="3">
477
477
  <span class="hits">1</span>
478
478
 
479
- <code class="ruby"> def initialize(status, streams)</code>
479
+ <code class="ruby"> def initialize(command, status, streams)</code>
480
480
  </li>
481
481
 
482
482
  <li class="covered" data-hits="5" data-linenumber="4">
483
483
  <span class="hits">5</span>
484
484
 
485
- <code class="ruby"> @process_status = status</code>
485
+ <code class="ruby"> @command = command</code>
486
486
  </li>
487
487
 
488
488
  <li class="covered" data-hits="5" data-linenumber="5">
489
489
  <span class="hits">5</span>
490
490
 
491
+ <code class="ruby"> @process_status = status</code>
492
+ </li>
493
+
494
+ <li class="covered" data-hits="5" data-linenumber="6">
495
+ <span class="hits">5</span>
496
+
491
497
  <code class="ruby"> @streams = streams</code>
492
498
  </li>
493
499
 
494
- <li class="never" data-hits="" data-linenumber="6">
500
+ <li class="never" data-hits="" data-linenumber="7">
495
501
 
496
502
 
497
503
  <code class="ruby"> end</code>
498
504
  </li>
499
505
 
500
- <li class="covered" data-hits="1" data-linenumber="7">
506
+ <li class="covered" data-hits="1" data-linenumber="8">
501
507
  <span class="hits">1</span>
502
508
 
503
509
  <code class="ruby"> attr_reader :process_status, :streams</code>
504
510
  </li>
505
511
 
506
- <li class="never" data-hits="" data-linenumber="8">
512
+ <li class="never" data-hits="" data-linenumber="9">
507
513
 
508
514
 
509
515
  <code class="ruby"></code>
510
516
  </li>
511
517
 
512
- <li class="covered" data-hits="1" data-linenumber="9">
518
+ <li class="covered" data-hits="1" data-linenumber="10">
513
519
  <span class="hits">1</span>
514
520
 
515
521
  <code class="ruby"> def stdout</code>
516
522
  </li>
517
523
 
518
- <li class="covered" data-hits="1" data-linenumber="10">
524
+ <li class="covered" data-hits="1" data-linenumber="11">
519
525
  <span class="hits">1</span>
520
526
 
521
527
  <code class="ruby"> @streams[1]</code>
522
528
  </li>
523
529
 
524
- <li class="never" data-hits="" data-linenumber="11">
530
+ <li class="never" data-hits="" data-linenumber="12">
525
531
 
526
532
 
527
533
  <code class="ruby"> end</code>
528
534
  </li>
529
535
 
530
- <li class="never" data-hits="" data-linenumber="12">
536
+ <li class="never" data-hits="" data-linenumber="13">
531
537
 
532
538
 
533
539
  <code class="ruby"></code>
534
540
  </li>
535
541
 
536
- <li class="covered" data-hits="1" data-linenumber="13">
542
+ <li class="covered" data-hits="1" data-linenumber="14">
537
543
  <span class="hits">1</span>
538
544
 
539
545
  <code class="ruby"> def stderr</code>
540
546
  </li>
541
547
 
542
- <li class="missed" data-hits="0" data-linenumber="14">
548
+ <li class="missed" data-hits="0" data-linenumber="15">
543
549
 
544
550
 
545
551
  <code class="ruby"> @streams[2]</code>
546
552
  </li>
547
553
 
548
- <li class="never" data-hits="" data-linenumber="15">
554
+ <li class="never" data-hits="" data-linenumber="16">
549
555
 
550
556
 
551
557
  <code class="ruby"> end</code>
552
558
  </li>
553
559
 
554
- <li class="never" data-hits="" data-linenumber="16">
560
+ <li class="never" data-hits="" data-linenumber="17">
555
561
 
556
562
 
557
563
  <code class="ruby"></code>
558
564
  </li>
559
565
 
560
- <li class="covered" data-hits="1" data-linenumber="17">
566
+ <li class="covered" data-hits="1" data-linenumber="18">
561
567
  <span class="hits">1</span>
562
568
 
563
569
  <code class="ruby"> def exit_code</code>
564
570
  </li>
565
571
 
566
- <li class="covered" data-hits="11" data-linenumber="18">
572
+ <li class="covered" data-hits="11" data-linenumber="19">
567
573
  <span class="hits">11</span>
568
574
 
569
575
  <code class="ruby"> @process_status.exitstatus</code>
570
576
  </li>
571
577
 
572
- <li class="never" data-hits="" data-linenumber="19">
578
+ <li class="never" data-hits="" data-linenumber="20">
573
579
 
574
580
 
575
581
  <code class="ruby"> end</code>
576
582
  </li>
577
583
 
578
- <li class="covered" data-hits="1" data-linenumber="20">
584
+ <li class="covered" data-hits="1" data-linenumber="21">
579
585
  <span class="hits">1</span>
580
586
 
581
587
  <code class="ruby"> alias exit_status exit_code</code>
582
588
  </li>
583
589
 
584
- <li class="never" data-hits="" data-linenumber="21">
590
+ <li class="never" data-hits="" data-linenumber="22">
585
591
 
586
592
 
587
593
  <code class="ruby"></code>
588
594
  </li>
589
595
 
590
- <li class="covered" data-hits="1" data-linenumber="22">
596
+ <li class="covered" data-hits="1" data-linenumber="23">
591
597
  <span class="hits">1</span>
592
598
 
593
599
  <code class="ruby"> def succeeded?</code>
594
600
  </li>
595
601
 
596
- <li class="covered" data-hits="3" data-linenumber="23">
602
+ <li class="covered" data-hits="3" data-linenumber="24">
597
603
  <span class="hits">3</span>
598
604
 
599
605
  <code class="ruby"> must_succeed!</code>
600
606
  </li>
601
607
 
602
- <li class="covered" data-hits="1" data-linenumber="24">
608
+ <li class="covered" data-hits="1" data-linenumber="25">
603
609
  <span class="hits">1</span>
604
610
 
605
611
  <code class="ruby"> return true</code>
606
612
  </li>
607
613
 
608
- <li class="never" data-hits="" data-linenumber="25">
614
+ <li class="never" data-hits="" data-linenumber="26">
609
615
 
610
616
 
611
617
  <code class="ruby"> rescue</code>
612
618
  </li>
613
619
 
614
- <li class="covered" data-hits="2" data-linenumber="26">
620
+ <li class="covered" data-hits="2" data-linenumber="27">
615
621
  <span class="hits">2</span>
616
622
 
617
623
  <code class="ruby"> return false</code>
618
624
  </li>
619
625
 
620
- <li class="never" data-hits="" data-linenumber="27">
626
+ <li class="never" data-hits="" data-linenumber="28">
621
627
 
622
628
 
623
629
  <code class="ruby"> end</code>
624
630
  </li>
625
631
 
626
- <li class="never" data-hits="" data-linenumber="28">
632
+ <li class="never" data-hits="" data-linenumber="29">
627
633
 
628
634
 
629
635
  <code class="ruby"></code>
630
636
  </li>
631
637
 
632
- <li class="covered" data-hits="1" data-linenumber="29">
638
+ <li class="covered" data-hits="1" data-linenumber="30">
633
639
  <span class="hits">1</span>
634
640
 
635
641
  <code class="ruby"> def must_succeed!</code>
636
642
  </li>
637
643
 
638
- <li class="covered" data-hits="5" data-linenumber="30">
644
+ <li class="covered" data-hits="5" data-linenumber="31">
639
645
  <span class="hits">5</span>
640
646
 
641
647
  <code class="ruby"> case exit_code</code>
642
648
  </li>
643
649
 
644
- <li class="never" data-hits="" data-linenumber="31">
650
+ <li class="never" data-hits="" data-linenumber="32">
645
651
 
646
652
 
647
653
  <code class="ruby"> when 0</code>
648
654
  </li>
649
655
 
650
- <li class="covered" data-hits="3" data-linenumber="32">
656
+ <li class="covered" data-hits="3" data-linenumber="33">
651
657
  <span class="hits">3</span>
652
658
 
653
659
  <code class="ruby"> return exit_code</code>
654
660
  </li>
655
661
 
656
- <li class="never" data-hits="" data-linenumber="33">
662
+ <li class="never" data-hits="" data-linenumber="34">
657
663
 
658
664
 
659
665
  <code class="ruby"> else</code>
660
666
  </li>
661
667
 
662
- <li class="covered" data-hits="2" data-linenumber="34">
668
+ <li class="covered" data-hits="2" data-linenumber="35">
663
669
  <span class="hits">2</span>
664
670
 
665
- <code class="ruby"> fail &quot;Command '#{name}' failed with exit status #{$?.exitstatus}: \n&quot;</code>
671
+ <code class="ruby"> fail &quot;Command #{@command.inspect} failed with exit status #{$?.exitstatus}: \n#{streams.inspect}&quot;</code>
666
672
  </li>
667
673
 
668
- <li class="never" data-hits="" data-linenumber="35">
674
+ <li class="never" data-hits="" data-linenumber="36">
669
675
 
670
676
 
671
677
  <code class="ruby"> end</code>
672
678
  </li>
673
679
 
674
- <li class="never" data-hits="" data-linenumber="36">
680
+ <li class="never" data-hits="" data-linenumber="37">
675
681
 
676
682
 
677
683
  <code class="ruby"> end</code>
678
684
  </li>
679
685
 
680
- <li class="never" data-hits="" data-linenumber="37">
686
+ <li class="never" data-hits="" data-linenumber="38">
681
687
 
682
688
 
683
689
  <code class="ruby"> end</code>
684
690
  </li>
685
691
 
686
- <li class="never" data-hits="" data-linenumber="38">
692
+ <li class="never" data-hits="" data-linenumber="39">
687
693
 
688
694
 
689
695
  <code class="ruby"></code>
690
696
  </li>
691
697
 
692
- <li class="covered" data-hits="1" data-linenumber="39">
698
+ <li class="covered" data-hits="1" data-linenumber="40">
693
699
  <span class="hits">1</span>
694
700
 
695
701
  <code class="ruby"> class CommandLine</code>
696
702
  </li>
697
703
 
698
- <li class="covered" data-hits="1" data-linenumber="40">
704
+ <li class="covered" data-hits="1" data-linenumber="41">
699
705
  <span class="hits">1</span>
700
706
 
701
707
  <code class="ruby"> def initialize(executable, *options)</code>
702
708
  </li>
703
709
 
704
- <li class="covered" data-hits="14" data-linenumber="41">
710
+ <li class="covered" data-hits="14" data-linenumber="42">
705
711
  <span class="hits">14</span>
706
712
 
707
713
  <code class="ruby"> @executable = executable</code>
708
714
  </li>
709
715
 
710
- <li class="covered" data-hits="14" data-linenumber="42">
716
+ <li class="covered" data-hits="14" data-linenumber="43">
711
717
  <span class="hits">14</span>
712
718
 
713
719
  <code class="ruby"> @options = options</code>
714
720
  </li>
715
721
 
716
- <li class="covered" data-hits="14" data-linenumber="43">
722
+ <li class="covered" data-hits="14" data-linenumber="44">
717
723
  <span class="hits">14</span>
718
724
 
719
725
  <code class="ruby"> @redirections = []</code>
720
726
  </li>
721
727
 
722
- <li class="covered" data-hits="14" data-linenumber="44">
728
+ <li class="covered" data-hits="14" data-linenumber="45">
723
729
  <span class="hits">14</span>
724
730
 
725
731
  <code class="ruby"> yield self if block_given?</code>
726
732
  </li>
727
733
 
728
- <li class="never" data-hits="" data-linenumber="45">
734
+ <li class="never" data-hits="" data-linenumber="46">
729
735
 
730
736
 
731
737
  <code class="ruby"> end</code>
732
738
  </li>
733
739
 
734
- <li class="never" data-hits="" data-linenumber="46">
740
+ <li class="never" data-hits="" data-linenumber="47">
735
741
 
736
742
 
737
743
  <code class="ruby"></code>
738
744
  </li>
739
745
 
740
- <li class="covered" data-hits="1" data-linenumber="47">
746
+ <li class="covered" data-hits="1" data-linenumber="48">
741
747
  <span class="hits">1</span>
742
748
 
743
749
  <code class="ruby"> attr_accessor :name, :executable, :options</code>
744
750
  </li>
745
751
 
746
- <li class="never" data-hits="" data-linenumber="48">
752
+ <li class="never" data-hits="" data-linenumber="49">
747
753
 
748
754
 
749
755
  <code class="ruby"></code>
750
756
  </li>
751
757
 
752
- <li class="covered" data-hits="1" data-linenumber="49">
758
+ <li class="covered" data-hits="1" data-linenumber="50">
759
+ <span class="hits">1</span>
760
+
761
+ <code class="ruby"> def verbose</code>
762
+ </li>
763
+
764
+ <li class="covered" data-hits="21" data-linenumber="51">
765
+ <span class="hits">21</span>
766
+
767
+ <code class="ruby"> Rake.verbose &amp;&amp; Rake.verbose != Rake::FileUtilsExt::DEFAULT</code>
768
+ </li>
769
+
770
+ <li class="never" data-hits="" data-linenumber="52">
771
+
772
+
773
+ <code class="ruby"> end</code>
774
+ </li>
775
+
776
+ <li class="never" data-hits="" data-linenumber="53">
777
+
778
+
779
+ <code class="ruby"></code>
780
+ </li>
781
+
782
+ <li class="covered" data-hits="1" data-linenumber="54">
753
783
  <span class="hits">1</span>
754
784
 
755
785
  <code class="ruby"> def name</code>
756
786
  </li>
757
787
 
758
- <li class="covered" data-hits="1" data-linenumber="50">
788
+ <li class="covered" data-hits="1" data-linenumber="55">
759
789
  <span class="hits">1</span>
760
790
 
761
791
  <code class="ruby"> @name || executable</code>
762
792
  </li>
763
793
 
764
- <li class="never" data-hits="" data-linenumber="51">
794
+ <li class="never" data-hits="" data-linenumber="56">
765
795
 
766
796
 
767
797
  <code class="ruby"> end</code>
768
798
  </li>
769
799
 
770
- <li class="never" data-hits="" data-linenumber="52">
800
+ <li class="never" data-hits="" data-linenumber="57">
771
801
 
772
802
 
773
803
  <code class="ruby"></code>
774
804
  </li>
775
805
 
776
- <li class="covered" data-hits="1" data-linenumber="53">
806
+ <li class="covered" data-hits="1" data-linenumber="58">
777
807
  <span class="hits">1</span>
778
808
 
779
809
  <code class="ruby"> def command</code>
780
810
  </li>
781
811
 
782
- <li class="covered" data-hits="12" data-linenumber="54">
812
+ <li class="covered" data-hits="12" data-linenumber="59">
783
813
  <span class="hits">12</span>
784
814
 
785
815
  <code class="ruby"> ([executable] + options + @redirections).join(&quot; &quot;)</code>
786
816
  </li>
787
817
 
788
- <li class="never" data-hits="" data-linenumber="55">
818
+ <li class="never" data-hits="" data-linenumber="60">
789
819
 
790
820
 
791
821
  <code class="ruby"> end</code>
792
822
  </li>
793
823
 
794
- <li class="never" data-hits="" data-linenumber="56">
824
+ <li class="never" data-hits="" data-linenumber="61">
795
825
 
796
826
 
797
827
  <code class="ruby"></code>
798
828
  </li>
799
829
 
800
- <li class="covered" data-hits="1" data-linenumber="57">
830
+ <li class="covered" data-hits="1" data-linenumber="62">
801
831
  <span class="hits">1</span>
802
832
 
803
833
  <code class="ruby"> def redirect_to(stream, path)</code>
804
834
  </li>
805
835
 
806
- <li class="covered" data-hits="2" data-linenumber="58">
836
+ <li class="covered" data-hits="2" data-linenumber="63">
807
837
  <span class="hits">2</span>
808
838
 
809
839
  <code class="ruby"> @redirections &lt;&lt; &quot;#{stream}&gt;#{path}&quot;</code>
810
840
  </li>
811
841
 
812
- <li class="never" data-hits="" data-linenumber="59">
842
+ <li class="never" data-hits="" data-linenumber="64">
813
843
 
814
844
 
815
845
  <code class="ruby"> end</code>
816
846
  </li>
817
847
 
818
- <li class="never" data-hits="" data-linenumber="60">
848
+ <li class="never" data-hits="" data-linenumber="65">
819
849
 
820
850
 
821
851
  <code class="ruby"></code>
822
852
  </li>
823
853
 
824
- <li class="covered" data-hits="1" data-linenumber="61">
854
+ <li class="covered" data-hits="1" data-linenumber="66">
825
855
  <span class="hits">1</span>
826
856
 
827
857
  <code class="ruby"> def redirect_from(path, stream)</code>
828
858
  </li>
829
859
 
830
- <li class="missed" data-hits="0" data-linenumber="62">
860
+ <li class="missed" data-hits="0" data-linenumber="67">
831
861
 
832
862
 
833
863
  <code class="ruby"> @redirections &lt;&lt; &quot;#{stream}&lt;#{path}&quot;</code>
834
864
  </li>
835
865
 
836
- <li class="never" data-hits="" data-linenumber="63">
866
+ <li class="never" data-hits="" data-linenumber="68">
837
867
 
838
868
 
839
869
  <code class="ruby"> end</code>
840
870
  </li>
841
871
 
842
- <li class="never" data-hits="" data-linenumber="64">
872
+ <li class="never" data-hits="" data-linenumber="69">
843
873
 
844
874
 
845
875
  <code class="ruby"></code>
846
876
  </li>
847
877
 
848
- <li class="covered" data-hits="1" data-linenumber="65">
878
+ <li class="covered" data-hits="1" data-linenumber="70">
849
879
  <span class="hits">1</span>
850
880
 
851
881
  <code class="ruby"> def copy_stream_to(from, to)</code>
852
882
  </li>
853
883
 
854
- <li class="missed" data-hits="0" data-linenumber="66">
884
+ <li class="missed" data-hits="0" data-linenumber="71">
855
885
 
856
886
 
857
887
  <code class="ruby"> @redirections &lt;&lt; &quot;#{from}&gt;&amp;#{to}&quot;</code>
858
888
  </li>
859
889
 
860
- <li class="never" data-hits="" data-linenumber="67">
890
+ <li class="never" data-hits="" data-linenumber="72">
861
891
 
862
892
 
863
893
  <code class="ruby"> end</code>
864
894
  </li>
865
895
 
866
- <li class="never" data-hits="" data-linenumber="68">
896
+ <li class="never" data-hits="" data-linenumber="73">
867
897
 
868
898
 
869
899
  <code class="ruby"></code>
870
900
  </li>
871
901
 
872
- <li class="covered" data-hits="1" data-linenumber="69">
902
+ <li class="covered" data-hits="1" data-linenumber="74">
873
903
  <span class="hits">1</span>
874
904
 
875
905
  <code class="ruby"> def redirect_stdout(path)</code>
876
906
  </li>
877
907
 
878
- <li class="covered" data-hits="1" data-linenumber="70">
908
+ <li class="covered" data-hits="1" data-linenumber="75">
879
909
  <span class="hits">1</span>
880
910
 
881
911
  <code class="ruby"> redirect_to(1, path)</code>
882
912
  </li>
883
913
 
884
- <li class="never" data-hits="" data-linenumber="71">
914
+ <li class="never" data-hits="" data-linenumber="76">
885
915
 
886
916
 
887
917
  <code class="ruby"> end</code>
888
918
  </li>
889
919
 
890
- <li class="never" data-hits="" data-linenumber="72">
920
+ <li class="never" data-hits="" data-linenumber="77">
891
921
 
892
922
 
893
923
  <code class="ruby"></code>
894
924
  </li>
895
925
 
896
- <li class="covered" data-hits="1" data-linenumber="73">
926
+ <li class="covered" data-hits="1" data-linenumber="78">
897
927
  <span class="hits">1</span>
898
928
 
899
929
  <code class="ruby"> def redirect_stderr(path)</code>
900
930
  </li>
901
931
 
902
- <li class="covered" data-hits="1" data-linenumber="74">
932
+ <li class="covered" data-hits="1" data-linenumber="79">
903
933
  <span class="hits">1</span>
904
934
 
905
935
  <code class="ruby"> redirect_to(2, path)</code>
906
936
  </li>
907
937
 
908
- <li class="never" data-hits="" data-linenumber="75">
938
+ <li class="never" data-hits="" data-linenumber="80">
909
939
 
910
940
 
911
941
  <code class="ruby"> end</code>
912
942
  </li>
913
943
 
914
- <li class="never" data-hits="" data-linenumber="76">
944
+ <li class="never" data-hits="" data-linenumber="81">
915
945
 
916
946
 
917
947
  <code class="ruby"></code>
918
948
  </li>
919
949
 
920
- <li class="covered" data-hits="1" data-linenumber="77">
950
+ <li class="covered" data-hits="1" data-linenumber="82">
921
951
  <span class="hits">1</span>
922
952
 
923
953
  <code class="ruby"> def redirect_stdin(path)</code>
924
954
  </li>
925
955
 
926
- <li class="missed" data-hits="0" data-linenumber="78">
956
+ <li class="missed" data-hits="0" data-linenumber="83">
927
957
 
928
958
 
929
959
  <code class="ruby"> redirect_from(path, 0)</code>
930
960
  </li>
931
961
 
932
- <li class="never" data-hits="" data-linenumber="79">
962
+ <li class="never" data-hits="" data-linenumber="84">
933
963
 
934
964
 
935
965
  <code class="ruby"> end</code>
936
966
  </li>
937
967
 
938
- <li class="never" data-hits="" data-linenumber="80">
968
+ <li class="never" data-hits="" data-linenumber="85">
939
969
 
940
970
 
941
971
  <code class="ruby"></code>
942
972
  </li>
943
973
 
944
- <li class="covered" data-hits="1" data-linenumber="81">
974
+ <li class="covered" data-hits="1" data-linenumber="86">
945
975
  <span class="hits">1</span>
946
976
 
947
977
  <code class="ruby"> def self.execute(command)</code>
948
978
  </li>
949
979
 
950
- <li class="covered" data-hits="5" data-linenumber="82">
980
+ <li class="covered" data-hits="5" data-linenumber="87">
951
981
  <span class="hits">5</span>
952
982
 
953
983
  <code class="ruby"> pipe = IO.popen(command)</code>
954
984
  </li>
955
985
 
956
- <li class="covered" data-hits="5" data-linenumber="83">
986
+ <li class="covered" data-hits="5" data-linenumber="88">
957
987
  <span class="hits">5</span>
958
988
 
959
989
  <code class="ruby"> pid = pipe.pid</code>
960
990
  </li>
961
991
 
962
- <li class="covered" data-hits="5" data-linenumber="84">
992
+ <li class="covered" data-hits="5" data-linenumber="89">
963
993
  <span class="hits">5</span>
964
994
 
965
995
  <code class="ruby"> pid, status = Process.wait2(pid)</code>
966
996
  </li>
967
997
 
968
- <li class="covered" data-hits="5" data-linenumber="85">
998
+ <li class="covered" data-hits="5" data-linenumber="90">
969
999
  <span class="hits">5</span>
970
1000
 
971
- <code class="ruby"> result = CommandRunResult.new(status, {1 =&gt; pipe.read})</code>
1001
+ <code class="ruby"> result = CommandRunResult.new(command, status, {1 =&gt; pipe.read})</code>
972
1002
  </li>
973
1003
 
974
- <li class="covered" data-hits="5" data-linenumber="86">
1004
+ <li class="covered" data-hits="5" data-linenumber="91">
975
1005
  <span class="hits">5</span>
976
1006
 
977
1007
  <code class="ruby"> pipe.close</code>
978
1008
  </li>
979
1009
 
980
- <li class="covered" data-hits="5" data-linenumber="87">
1010
+ <li class="covered" data-hits="5" data-linenumber="92">
981
1011
  <span class="hits">5</span>
982
1012
 
983
1013
  <code class="ruby"> return result</code>
984
1014
  </li>
985
1015
 
986
- <li class="never" data-hits="" data-linenumber="88">
1016
+ <li class="never" data-hits="" data-linenumber="93">
987
1017
 
988
1018
 
989
1019
  <code class="ruby"> end</code>
990
1020
  </li>
991
1021
 
992
- <li class="never" data-hits="" data-linenumber="89">
1022
+ <li class="never" data-hits="" data-linenumber="94">
993
1023
 
994
1024
 
995
1025
  <code class="ruby"></code>
996
1026
  </li>
997
1027
 
998
- <li class="covered" data-hits="1" data-linenumber="90">
1028
+ <li class="covered" data-hits="1" data-linenumber="95">
999
1029
  <span class="hits">1</span>
1000
1030
 
1001
1031
  <code class="ruby"> def run</code>
1002
1032
  </li>
1003
1033
 
1004
- <li class="covered" data-hits="7" data-linenumber="91">
1034
+ <li class="covered" data-hits="7" data-linenumber="96">
1005
1035
  <span class="hits">7</span>
1006
1036
 
1007
- <code class="ruby"> print command + &quot; &quot; if $verbose</code>
1037
+ <code class="ruby"> print command + &quot; &quot; if verbose</code>
1008
1038
  </li>
1009
1039
 
1010
- <li class="covered" data-hits="7" data-linenumber="92">
1040
+ <li class="covered" data-hits="7" data-linenumber="97">
1011
1041
  <span class="hits">7</span>
1012
1042
 
1013
1043
  <code class="ruby"> result = self.class.execute(command)</code>
1014
1044
  </li>
1015
1045
 
1016
- <li class="covered" data-hits="7" data-linenumber="93">
1046
+ <li class="covered" data-hits="7" data-linenumber="98">
1017
1047
  <span class="hits">7</span>
1018
1048
 
1019
- <code class="ruby"> print &quot;=&gt; #{result.exit_code}&quot; if $verbose</code>
1049
+ <code class="ruby"> print &quot;=&gt; #{result.exit_code}&quot; if verbose</code>
1020
1050
  </li>
1021
1051
 
1022
- <li class="covered" data-hits="7" data-linenumber="94">
1052
+ <li class="covered" data-hits="7" data-linenumber="99">
1023
1053
  <span class="hits">7</span>
1024
1054
 
1025
1055
  <code class="ruby"> return result</code>
1026
1056
  </li>
1027
1057
 
1028
- <li class="never" data-hits="" data-linenumber="95">
1058
+ <li class="never" data-hits="" data-linenumber="100">
1029
1059
 
1030
1060
 
1031
1061
  <code class="ruby"> ensure</code>
1032
1062
  </li>
1033
1063
 
1034
- <li class="covered" data-hits="7" data-linenumber="96">
1064
+ <li class="covered" data-hits="7" data-linenumber="101">
1035
1065
  <span class="hits">7</span>
1036
1066
 
1037
- <code class="ruby"> puts if $verbose</code>
1067
+ <code class="ruby"> puts if verbose</code>
1038
1068
  </li>
1039
1069
 
1040
- <li class="never" data-hits="" data-linenumber="97">
1070
+ <li class="never" data-hits="" data-linenumber="102">
1041
1071
 
1042
1072
 
1043
1073
  <code class="ruby"> end</code>
1044
1074
  </li>
1045
1075
 
1046
- <li class="never" data-hits="" data-linenumber="98">
1076
+ <li class="never" data-hits="" data-linenumber="103">
1047
1077
 
1048
1078
 
1049
1079
  <code class="ruby"></code>
1050
1080
  </li>
1051
1081
 
1052
- <li class="covered" data-hits="1" data-linenumber="99">
1082
+ <li class="covered" data-hits="1" data-linenumber="104">
1053
1083
  <span class="hits">1</span>
1054
1084
 
1055
1085
  <code class="ruby"> def succeeds?</code>
1056
1086
  </li>
1057
1087
 
1058
- <li class="covered" data-hits="3" data-linenumber="100">
1088
+ <li class="covered" data-hits="3" data-linenumber="105">
1059
1089
  <span class="hits">3</span>
1060
1090
 
1061
1091
  <code class="ruby"> run.succeeded?</code>
1062
1092
  </li>
1063
1093
 
1064
- <li class="never" data-hits="" data-linenumber="101">
1094
+ <li class="never" data-hits="" data-linenumber="106">
1065
1095
 
1066
1096
 
1067
1097
  <code class="ruby"> end</code>
1068
1098
  </li>
1069
1099
 
1070
- <li class="never" data-hits="" data-linenumber="102">
1100
+ <li class="never" data-hits="" data-linenumber="107">
1071
1101
 
1072
1102
 
1073
1103
  <code class="ruby"></code>
1074
1104
  </li>
1075
1105
 
1076
- <li class="covered" data-hits="1" data-linenumber="103">
1106
+ <li class="covered" data-hits="1" data-linenumber="108">
1077
1107
  <span class="hits">1</span>
1078
1108
 
1079
1109
  <code class="ruby"> def must_succeed!</code>
1080
1110
  </li>
1081
1111
 
1082
- <li class="covered" data-hits="2" data-linenumber="104">
1112
+ <li class="covered" data-hits="2" data-linenumber="109">
1083
1113
  <span class="hits">2</span>
1084
1114
 
1085
1115
  <code class="ruby"> run.must_succeed!</code>
1086
1116
  </li>
1087
1117
 
1088
- <li class="never" data-hits="" data-linenumber="105">
1118
+ <li class="never" data-hits="" data-linenumber="110">
1089
1119
 
1090
1120
 
1091
1121
  <code class="ruby"> end</code>
1092
1122
  </li>
1093
1123
 
1094
- <li class="never" data-hits="" data-linenumber="106">
1124
+ <li class="never" data-hits="" data-linenumber="111">
1095
1125
 
1096
1126
 
1097
1127
  <code class="ruby"> end</code>
1098
1128
  </li>
1099
1129
 
1100
- <li class="never" data-hits="" data-linenumber="107">
1130
+ <li class="never" data-hits="" data-linenumber="112">
1101
1131
 
1102
1132
 
1103
1133
  <code class="ruby"></code>
1104
1134
  </li>
1105
1135
 
1106
- <li class="covered" data-hits="1" data-linenumber="108">
1136
+ <li class="covered" data-hits="1" data-linenumber="113">
1107
1137
  <span class="hits">1</span>
1108
1138
 
1109
1139
  <code class="ruby"> class ShellEscaped &lt; CommandLine</code>
1110
1140
  </li>
1111
1141
 
1112
- <li class="covered" data-hits="1" data-linenumber="109">
1142
+ <li class="covered" data-hits="1" data-linenumber="114">
1113
1143
  <span class="hits">1</span>
1114
1144
 
1115
1145
  <code class="ruby"> def initialize(cmd)</code>
1116
1146
  </li>
1117
1147
 
1118
- <li class="covered" data-hits="2" data-linenumber="110">
1148
+ <li class="covered" data-hits="2" data-linenumber="115">
1119
1149
  <span class="hits">2</span>
1120
1150
 
1121
1151
  <code class="ruby"> @escaped = cmd</code>
1122
1152
  </li>
1123
1153
 
1124
- <li class="never" data-hits="" data-linenumber="111">
1154
+ <li class="never" data-hits="" data-linenumber="116">
1125
1155
 
1126
1156
 
1127
1157
  <code class="ruby"> end</code>
1128
1158
  </li>
1129
1159
 
1130
- <li class="never" data-hits="" data-linenumber="112">
1160
+ <li class="never" data-hits="" data-linenumber="117">
1131
1161
 
1132
1162
 
1133
1163
  <code class="ruby"></code>
1134
1164
  </li>
1135
1165
 
1136
- <li class="covered" data-hits="1" data-linenumber="113">
1166
+ <li class="covered" data-hits="1" data-linenumber="118">
1137
1167
  <span class="hits">1</span>
1138
1168
 
1139
1169
  <code class="ruby"> def command</code>
1140
1170
  </li>
1141
1171
 
1142
- <li class="covered" data-hits="2" data-linenumber="114">
1172
+ <li class="covered" data-hits="2" data-linenumber="119">
1143
1173
  <span class="hits">2</span>
1144
1174
 
1145
1175
  <code class="ruby"> &quot;'&quot; + @escaped.command.gsub(/'/,&quot;\'&quot;) + &quot;'&quot;</code>
1146
1176
  </li>
1147
1177
 
1148
- <li class="never" data-hits="" data-linenumber="115">
1178
+ <li class="never" data-hits="" data-linenumber="120">
1149
1179
 
1150
1180
 
1151
1181
  <code class="ruby"> end</code>
1152
1182
  </li>
1153
1183
 
1154
- <li class="never" data-hits="" data-linenumber="116">
1184
+ <li class="never" data-hits="" data-linenumber="121">
1155
1185
 
1156
1186
 
1157
1187
  <code class="ruby"></code>
1158
1188
  </li>
1159
1189
 
1160
- <li class="covered" data-hits="1" data-linenumber="117">
1190
+ <li class="covered" data-hits="1" data-linenumber="122">
1161
1191
  <span class="hits">1</span>
1162
1192
 
1163
1193
  <code class="ruby"> def name</code>
1164
1194
  </li>
1165
1195
 
1166
- <li class="missed" data-hits="0" data-linenumber="118">
1196
+ <li class="missed" data-hits="0" data-linenumber="123">
1167
1197
 
1168
1198
 
1169
1199
  <code class="ruby"> @name || @escaped.name</code>
1170
1200
  </li>
1171
1201
 
1172
- <li class="never" data-hits="" data-linenumber="119">
1202
+ <li class="never" data-hits="" data-linenumber="124">
1173
1203
 
1174
1204
 
1175
1205
  <code class="ruby"> end</code>
1176
1206
  </li>
1177
1207
 
1178
- <li class="never" data-hits="" data-linenumber="120">
1208
+ <li class="never" data-hits="" data-linenumber="125">
1179
1209
 
1180
1210
 
1181
1211
  <code class="ruby"> end</code>
1182
1212
  </li>
1183
1213
 
1184
- <li class="never" data-hits="" data-linenumber="121">
1214
+ <li class="never" data-hits="" data-linenumber="126">
1185
1215
 
1186
1216
 
1187
1217
  <code class="ruby"></code>
1188
1218
  </li>
1189
1219
 
1190
- <li class="covered" data-hits="1" data-linenumber="122">
1220
+ <li class="covered" data-hits="1" data-linenumber="127">
1191
1221
  <span class="hits">1</span>
1192
1222
 
1193
1223
  <code class="ruby"> class CommandChain &lt; CommandLine</code>
1194
1224
  </li>
1195
1225
 
1196
- <li class="covered" data-hits="1" data-linenumber="123">
1226
+ <li class="covered" data-hits="1" data-linenumber="128">
1197
1227
  <span class="hits">1</span>
1198
1228
 
1199
1229
  <code class="ruby"> def initialize</code>
1200
1230
  </li>
1201
1231
 
1202
- <li class="covered" data-hits="4" data-linenumber="124">
1232
+ <li class="covered" data-hits="4" data-linenumber="129">
1203
1233
  <span class="hits">4</span>
1204
1234
 
1205
1235
  <code class="ruby"> @commands = []</code>
1206
1236
  </li>
1207
1237
 
1208
- <li class="covered" data-hits="4" data-linenumber="125">
1238
+ <li class="covered" data-hits="4" data-linenumber="130">
1209
1239
  <span class="hits">4</span>
1210
1240
 
1211
1241
  <code class="ruby"> yield self if block_given?</code>
1212
1242
  </li>
1213
1243
 
1214
- <li class="never" data-hits="" data-linenumber="126">
1244
+ <li class="never" data-hits="" data-linenumber="131">
1215
1245
 
1216
1246
 
1217
1247
  <code class="ruby"> end</code>
1218
1248
  </li>
1219
1249
 
1220
- <li class="never" data-hits="" data-linenumber="127">
1250
+ <li class="never" data-hits="" data-linenumber="132">
1221
1251
 
1222
1252
 
1223
1253
  <code class="ruby"></code>
1224
1254
  </li>
1225
1255
 
1226
- <li class="covered" data-hits="1" data-linenumber="128">
1256
+ <li class="covered" data-hits="1" data-linenumber="133">
1227
1257
  <span class="hits">1</span>
1228
1258
 
1229
1259
  <code class="ruby"> attr_reader :commands</code>
1230
1260
  </li>
1231
1261
 
1232
- <li class="never" data-hits="" data-linenumber="129">
1262
+ <li class="never" data-hits="" data-linenumber="134">
1233
1263
 
1234
1264
 
1235
1265
  <code class="ruby"></code>
1236
1266
  </li>
1237
1267
 
1238
- <li class="covered" data-hits="1" data-linenumber="130">
1268
+ <li class="covered" data-hits="1" data-linenumber="135">
1239
1269
  <span class="hits">1</span>
1240
1270
 
1241
1271
  <code class="ruby"> def add(cmd)</code>
1242
1272
  </li>
1243
1273
 
1244
- <li class="covered" data-hits="8" data-linenumber="131">
1274
+ <li class="covered" data-hits="8" data-linenumber="136">
1245
1275
  <span class="hits">8</span>
1246
1276
 
1247
1277
  <code class="ruby"> yield cmd if block_given?</code>
1248
1278
  </li>
1249
1279
 
1250
- <li class="covered" data-hits="8" data-linenumber="132">
1280
+ <li class="covered" data-hits="8" data-linenumber="137">
1251
1281
  <span class="hits">8</span>
1252
1282
 
1253
1283
  <code class="ruby"> @commands &lt;&lt; cmd</code>
1254
1284
  </li>
1255
1285
 
1256
- <li class="never" data-hits="" data-linenumber="133">
1286
+ <li class="never" data-hits="" data-linenumber="138">
1257
1287
 
1258
1288
 
1259
1289
  <code class="ruby"> end</code>
1260
1290
  </li>
1261
1291
 
1262
- <li class="never" data-hits="" data-linenumber="134">
1292
+ <li class="never" data-hits="" data-linenumber="139">
1263
1293
 
1264
1294
 
1265
1295
  <code class="ruby"></code>
1266
1296
  </li>
1267
1297
 
1268
- <li class="covered" data-hits="1" data-linenumber="135">
1298
+ <li class="covered" data-hits="1" data-linenumber="140">
1269
1299
  <span class="hits">1</span>
1270
1300
 
1271
1301
  <code class="ruby"> def name</code>
1272
1302
  </li>
1273
1303
 
1274
- <li class="missed" data-hits="0" data-linenumber="136">
1304
+ <li class="missed" data-hits="0" data-linenumber="141">
1275
1305
 
1276
1306
 
1277
1307
  <code class="ruby"> @name || @commands.last.name</code>
1278
1308
  </li>
1279
1309
 
1280
- <li class="never" data-hits="" data-linenumber="137">
1310
+ <li class="never" data-hits="" data-linenumber="142">
1281
1311
 
1282
1312
 
1283
1313
  <code class="ruby"> end</code>
1284
1314
  </li>
1285
1315
 
1286
- <li class="never" data-hits="" data-linenumber="138">
1316
+ <li class="never" data-hits="" data-linenumber="143">
1287
1317
 
1288
1318
 
1289
1319
  <code class="ruby"> end</code>
1290
1320
  </li>
1291
1321
 
1292
- <li class="never" data-hits="" data-linenumber="139">
1322
+ <li class="never" data-hits="" data-linenumber="144">
1293
1323
 
1294
1324
 
1295
1325
  <code class="ruby"></code>
1296
1326
  </li>
1297
1327
 
1298
- <li class="covered" data-hits="1" data-linenumber="140">
1328
+ <li class="covered" data-hits="1" data-linenumber="145">
1299
1329
  <span class="hits">1</span>
1300
1330
 
1301
1331
  <code class="ruby"> class WrappingChain &lt; CommandChain</code>
1302
1332
  </li>
1303
1333
 
1304
- <li class="covered" data-hits="1" data-linenumber="141">
1334
+ <li class="covered" data-hits="1" data-linenumber="146">
1305
1335
  <span class="hits">1</span>
1306
1336
 
1307
1337
  <code class="ruby"> def command</code>
1308
1338
  </li>
1309
1339
 
1310
- <li class="covered" data-hits="6" data-linenumber="142">
1340
+ <li class="covered" data-hits="6" data-linenumber="147">
1311
1341
  <span class="hits">6</span>
1312
1342
 
1313
1343
  <code class="ruby"> @commands.map{|cmd| cmd.command}.join(&quot; -- &quot;)</code>
1314
1344
  </li>
1315
1345
 
1316
- <li class="never" data-hits="" data-linenumber="143">
1346
+ <li class="never" data-hits="" data-linenumber="148">
1317
1347
 
1318
1348
 
1319
1349
  <code class="ruby"> end</code>
1320
1350
  </li>
1321
1351
 
1322
- <li class="never" data-hits="" data-linenumber="144">
1352
+ <li class="never" data-hits="" data-linenumber="149">
1323
1353
 
1324
1354
 
1325
1355
  <code class="ruby"> end</code>
1326
1356
  </li>
1327
1357
 
1328
- <li class="never" data-hits="" data-linenumber="145">
1358
+ <li class="never" data-hits="" data-linenumber="150">
1329
1359
 
1330
1360
 
1331
1361
  <code class="ruby"></code>
1332
1362
  </li>
1333
1363
 
1334
- <li class="covered" data-hits="1" data-linenumber="146">
1364
+ <li class="covered" data-hits="1" data-linenumber="151">
1335
1365
  <span class="hits">1</span>
1336
1366
 
1337
1367
  <code class="ruby"> class PrereqChain &lt; CommandChain</code>
1338
1368
  </li>
1339
1369
 
1340
- <li class="covered" data-hits="1" data-linenumber="147">
1370
+ <li class="covered" data-hits="1" data-linenumber="152">
1341
1371
  <span class="hits">1</span>
1342
1372
 
1343
1373
  <code class="ruby"> def command</code>
1344
1374
  </li>
1345
1375
 
1346
- <li class="covered" data-hits="3" data-linenumber="148">
1376
+ <li class="covered" data-hits="3" data-linenumber="153">
1347
1377
  <span class="hits">3</span>
1348
1378
 
1349
1379
  <code class="ruby"> @commands.map{|cmd| cmd.command}.join(&quot; &amp;&amp; &quot;)</code>
1350
1380
  </li>
1351
1381
 
1352
- <li class="never" data-hits="" data-linenumber="149">
1382
+ <li class="never" data-hits="" data-linenumber="154">
1353
1383
 
1354
1384
 
1355
1385
  <code class="ruby"> end</code>
1356
1386
  </li>
1357
1387
 
1358
- <li class="never" data-hits="" data-linenumber="150">
1388
+ <li class="never" data-hits="" data-linenumber="155">
1359
1389
 
1360
1390
 
1361
1391
  <code class="ruby"> end</code>
1362
1392
  </li>
1363
1393
 
1364
- <li class="never" data-hits="" data-linenumber="151">
1394
+ <li class="never" data-hits="" data-linenumber="156">
1365
1395
 
1366
1396
 
1367
1397
  <code class="ruby"></code>
1368
1398
  </li>
1369
1399
 
1370
- <li class="covered" data-hits="1" data-linenumber="152">
1400
+ <li class="covered" data-hits="1" data-linenumber="157">
1371
1401
  <span class="hits">1</span>
1372
1402
 
1373
1403
  <code class="ruby"> class PipelineChain &lt; CommandChain</code>
1374
1404
  </li>
1375
1405
 
1376
- <li class="covered" data-hits="1" data-linenumber="153">
1406
+ <li class="covered" data-hits="1" data-linenumber="158">
1377
1407
  <span class="hits">1</span>
1378
1408
 
1379
1409
  <code class="ruby"> def command</code>
1380
1410
  </li>
1381
1411
 
1382
- <li class="covered" data-hits="3" data-linenumber="154">
1412
+ <li class="covered" data-hits="3" data-linenumber="159">
1383
1413
  <span class="hits">3</span>
1384
1414
 
1385
1415
  <code class="ruby"> @commands.map{|cmd| cmd.command}.join(&quot; | &quot;)</code>
1386
1416
  </li>
1387
1417
 
1388
- <li class="never" data-hits="" data-linenumber="155">
1418
+ <li class="never" data-hits="" data-linenumber="160">
1389
1419
 
1390
1420
 
1391
1421
  <code class="ruby"> end</code>
1392
1422
  </li>
1393
1423
 
1394
- <li class="never" data-hits="" data-linenumber="156">
1424
+ <li class="never" data-hits="" data-linenumber="161">
1395
1425
 
1396
1426
 
1397
1427
  <code class="ruby"> end</code>
1398
1428
  </li>
1399
1429
 
1400
- <li class="never" data-hits="" data-linenumber="157">
1430
+ <li class="never" data-hits="" data-linenumber="162">
1401
1431
 
1402
1432
 
1403
1433
  <code class="ruby">end</code>
@@ -2147,409 +2177,433 @@
2147
2177
  <code class="ruby"></code>
2148
2178
  </li>
2149
2179
 
2150
- <li class="covered" data-hits="1" data-linenumber="86">
2180
+ <li class="never" data-hits="" data-linenumber="86">
2181
+
2182
+
2183
+ <code class="ruby"> # @macro [attack] configurable_property</code>
2184
+ </li>
2185
+
2186
+ <li class="never" data-hits="" data-linenumber="87">
2187
+
2188
+
2189
+ <code class="ruby"> # @method $1</code>
2190
+ </li>
2191
+
2192
+ <li class="never" data-hits="" data-linenumber="88">
2193
+
2194
+
2195
+ <code class="ruby"> # @return [$2] The default value of $1</code>
2196
+ </li>
2197
+
2198
+ <li class="never" data-hits="" data-linenumber="89">
2199
+
2200
+
2201
+ <code class="ruby"> # @method $1=</code>
2202
+ </li>
2203
+
2204
+ <li class="covered" data-hits="1" data-linenumber="90">
2151
2205
  <span class="hits">1</span>
2152
2206
 
2153
2207
  <code class="ruby"> def setting(name, default_value = RequiredField)</code>
2154
2208
  </li>
2155
2209
 
2156
- <li class="covered" data-hits="18" data-linenumber="87">
2210
+ <li class="covered" data-hits="18" data-linenumber="91">
2157
2211
  <span class="hits">18</span>
2158
2212
 
2159
2213
  <code class="ruby"> name = name.to_sym</code>
2160
2214
  </li>
2161
2215
 
2162
- <li class="covered" data-hits="18" data-linenumber="88">
2216
+ <li class="covered" data-hits="18" data-linenumber="92">
2163
2217
  <span class="hits">18</span>
2164
2218
 
2165
2219
  <code class="ruby"> attr_accessor(name)</code>
2166
2220
  </li>
2167
2221
 
2168
- <li class="covered" data-hits="18" data-linenumber="89">
2222
+ <li class="covered" data-hits="18" data-linenumber="93">
2169
2223
  <span class="hits">18</span>
2170
2224
 
2171
2225
  <code class="ruby"> if default_values.has_key?(name) and default_values[name] != default_value</code>
2172
2226
  </li>
2173
2227
 
2174
- <li class="missed" data-hits="0" data-linenumber="90">
2228
+ <li class="missed" data-hits="0" data-linenumber="94">
2175
2229
 
2176
2230
 
2177
2231
  <code class="ruby"> warn &quot;Changing default value of #{self.name}##{name} from #{default_values[name].inspect} to #{default_value.inspect}&quot;</code>
2178
2232
  </li>
2179
2233
 
2180
- <li class="never" data-hits="" data-linenumber="91">
2234
+ <li class="never" data-hits="" data-linenumber="95">
2181
2235
 
2182
2236
 
2183
2237
  <code class="ruby"> end</code>
2184
2238
  </li>
2185
2239
 
2186
- <li class="covered" data-hits="18" data-linenumber="92">
2240
+ <li class="covered" data-hits="18" data-linenumber="96">
2187
2241
  <span class="hits">18</span>
2188
2242
 
2189
2243
  <code class="ruby"> default_values[name] = default_value</code>
2190
2244
  </li>
2191
2245
 
2192
- <li class="never" data-hits="" data-linenumber="93">
2246
+ <li class="never" data-hits="" data-linenumber="97">
2193
2247
 
2194
2248
 
2195
2249
  <code class="ruby"> end</code>
2196
2250
  </li>
2197
2251
 
2198
- <li class="never" data-hits="" data-linenumber="94">
2252
+ <li class="never" data-hits="" data-linenumber="98">
2199
2253
 
2200
2254
 
2201
2255
  <code class="ruby"></code>
2202
2256
  </li>
2203
2257
 
2204
- <li class="covered" data-hits="1" data-linenumber="95">
2258
+ <li class="covered" data-hits="1" data-linenumber="99">
2205
2259
  <span class="hits">1</span>
2206
2260
 
2207
2261
  <code class="ruby"> def settings(hash)</code>
2208
2262
  </li>
2209
2263
 
2210
- <li class="covered" data-hits="1" data-linenumber="96">
2264
+ <li class="covered" data-hits="1" data-linenumber="100">
2211
2265
  <span class="hits">1</span>
2212
2266
 
2213
2267
  <code class="ruby"> hash.each_pair do |name, value|</code>
2214
2268
  </li>
2215
2269
 
2216
- <li class="covered" data-hits="2" data-linenumber="97">
2270
+ <li class="covered" data-hits="2" data-linenumber="101">
2217
2271
  <span class="hits">2</span>
2218
2272
 
2219
2273
  <code class="ruby"> setting(name, value)</code>
2220
2274
  </li>
2221
2275
 
2222
- <li class="never" data-hits="" data-linenumber="98">
2276
+ <li class="never" data-hits="" data-linenumber="102">
2223
2277
 
2224
2278
 
2225
2279
  <code class="ruby"> end</code>
2226
2280
  </li>
2227
2281
 
2228
- <li class="covered" data-hits="1" data-linenumber="99">
2282
+ <li class="covered" data-hits="1" data-linenumber="103">
2229
2283
  <span class="hits">1</span>
2230
2284
 
2231
2285
  <code class="ruby"> return self</code>
2232
2286
  </li>
2233
2287
 
2234
- <li class="never" data-hits="" data-linenumber="100">
2288
+ <li class="never" data-hits="" data-linenumber="104">
2235
2289
 
2236
2290
 
2237
2291
  <code class="ruby"> end</code>
2238
2292
  </li>
2239
2293
 
2240
- <li class="never" data-hits="" data-linenumber="101">
2294
+ <li class="never" data-hits="" data-linenumber="105">
2241
2295
 
2242
2296
 
2243
2297
  <code class="ruby"></code>
2244
2298
  </li>
2245
2299
 
2246
- <li class="covered" data-hits="1" data-linenumber="102">
2300
+ <li class="covered" data-hits="1" data-linenumber="106">
2247
2301
  <span class="hits">1</span>
2248
2302
 
2249
2303
  <code class="ruby"> def included(mod)</code>
2250
2304
  </li>
2251
2305
 
2252
- <li class="covered" data-hits="5" data-linenumber="103">
2306
+ <li class="covered" data-hits="5" data-linenumber="107">
2253
2307
  <span class="hits">5</span>
2254
2308
 
2255
2309
  <code class="ruby"> mod.extend ClassMethods</code>
2256
2310
  </li>
2257
2311
 
2258
- <li class="never" data-hits="" data-linenumber="104">
2312
+ <li class="never" data-hits="" data-linenumber="108">
2259
2313
 
2260
2314
 
2261
2315
  <code class="ruby"> end</code>
2262
2316
  </li>
2263
2317
 
2264
- <li class="never" data-hits="" data-linenumber="105">
2318
+ <li class="never" data-hits="" data-linenumber="109">
2265
2319
 
2266
2320
 
2267
2321
  <code class="ruby"> end</code>
2268
2322
  </li>
2269
2323
 
2270
- <li class="covered" data-hits="1" data-linenumber="106">
2324
+ <li class="covered" data-hits="1" data-linenumber="110">
2271
2325
  <span class="hits">1</span>
2272
2326
 
2273
2327
  <code class="ruby"> extend ClassMethods</code>
2274
2328
  </li>
2275
2329
 
2276
- <li class="never" data-hits="" data-linenumber="107">
2330
+ <li class="never" data-hits="" data-linenumber="111">
2277
2331
 
2278
2332
 
2279
2333
  <code class="ruby"></code>
2280
2334
  </li>
2281
2335
 
2282
- <li class="covered" data-hits="1" data-linenumber="108">
2336
+ <li class="covered" data-hits="1" data-linenumber="112">
2283
2337
  <span class="hits">1</span>
2284
2338
 
2285
2339
  <code class="ruby"> def copy_settings_to(other)</code>
2286
2340
  </li>
2287
2341
 
2288
- <li class="covered" data-hits="1" data-linenumber="109">
2342
+ <li class="covered" data-hits="1" data-linenumber="113">
2289
2343
  <span class="hits">1</span>
2290
2344
 
2291
2345
  <code class="ruby"> self.class.copy_settings(self, other)</code>
2292
2346
  </li>
2293
2347
 
2294
- <li class="never" data-hits="" data-linenumber="110">
2348
+ <li class="never" data-hits="" data-linenumber="114">
2295
2349
 
2296
2350
 
2297
2351
  <code class="ruby"> end</code>
2298
2352
  </li>
2299
2353
 
2300
- <li class="never" data-hits="" data-linenumber="111">
2354
+ <li class="never" data-hits="" data-linenumber="115">
2301
2355
 
2302
2356
 
2303
2357
  <code class="ruby"></code>
2304
2358
  </li>
2305
2359
 
2306
- <li class="covered" data-hits="1" data-linenumber="112">
2360
+ <li class="covered" data-hits="1" data-linenumber="116">
2307
2361
  <span class="hits">1</span>
2308
2362
 
2309
2363
  <code class="ruby"> def setup_defaults</code>
2310
2364
  </li>
2311
2365
 
2312
- <li class="covered" data-hits="10" data-linenumber="113">
2366
+ <li class="covered" data-hits="10" data-linenumber="117">
2313
2367
  <span class="hits">10</span>
2314
2368
 
2315
2369
  <code class="ruby"> self.class.set_defaults_on(self)</code>
2316
2370
  </li>
2317
2371
 
2318
- <li class="covered" data-hits="10" data-linenumber="114">
2372
+ <li class="covered" data-hits="10" data-linenumber="118">
2319
2373
  <span class="hits">10</span>
2320
2374
 
2321
2375
  <code class="ruby"> self</code>
2322
2376
  </li>
2323
2377
 
2324
- <li class="never" data-hits="" data-linenumber="115">
2378
+ <li class="never" data-hits="" data-linenumber="119">
2325
2379
 
2326
2380
 
2327
2381
  <code class="ruby"> end</code>
2328
2382
  </li>
2329
2383
 
2330
- <li class="never" data-hits="" data-linenumber="116">
2384
+ <li class="never" data-hits="" data-linenumber="120">
2331
2385
 
2332
2386
 
2333
2387
  <code class="ruby"></code>
2334
2388
  </li>
2335
2389
 
2336
- <li class="covered" data-hits="1" data-linenumber="117">
2390
+ <li class="covered" data-hits="1" data-linenumber="121">
2337
2391
  <span class="hits">1</span>
2338
2392
 
2339
2393
  <code class="ruby"> def check_required</code>
2340
2394
  </li>
2341
2395
 
2342
- <li class="covered" data-hits="9" data-linenumber="118">
2396
+ <li class="covered" data-hits="9" data-linenumber="122">
2343
2397
  <span class="hits">9</span>
2344
2398
 
2345
2399
  <code class="ruby"> missing = self.class.missing_required_fields_on(self)</code>
2346
2400
  </li>
2347
2401
 
2348
- <li class="covered" data-hits="9" data-linenumber="119">
2402
+ <li class="covered" data-hits="9" data-linenumber="123">
2349
2403
  <span class="hits">9</span>
2350
2404
 
2351
2405
  <code class="ruby"> unless missing.empty?</code>
2352
2406
  </li>
2353
2407
 
2354
- <li class="covered" data-hits="5" data-linenumber="120">
2408
+ <li class="covered" data-hits="5" data-linenumber="124">
2355
2409
  <span class="hits">5</span>
2356
2410
 
2357
2411
  <code class="ruby"> raise &quot;Required field#{missing.length &gt; 1 ? &quot;s&quot; : &quot;&quot;} #{missing.map{|field| field.to_s.inspect}.join(&quot;, &quot;)} unset on #{self.inspect}&quot;</code>
2358
2412
  </li>
2359
2413
 
2360
- <li class="never" data-hits="" data-linenumber="121">
2414
+ <li class="never" data-hits="" data-linenumber="125">
2361
2415
 
2362
2416
 
2363
2417
  <code class="ruby"> end</code>
2364
2418
  </li>
2365
2419
 
2366
- <li class="covered" data-hits="7" data-linenumber="122">
2420
+ <li class="covered" data-hits="7" data-linenumber="126">
2367
2421
  <span class="hits">7</span>
2368
2422
 
2369
2423
  <code class="ruby"> self</code>
2370
2424
  </li>
2371
2425
 
2372
- <li class="never" data-hits="" data-linenumber="123">
2426
+ <li class="never" data-hits="" data-linenumber="127">
2373
2427
 
2374
2428
 
2375
2429
  <code class="ruby"> end</code>
2376
2430
  </li>
2377
2431
 
2378
- <li class="never" data-hits="" data-linenumber="124">
2432
+ <li class="never" data-hits="" data-linenumber="128">
2379
2433
 
2380
2434
 
2381
2435
  <code class="ruby"></code>
2382
2436
  </li>
2383
2437
 
2384
- <li class="covered" data-hits="1" data-linenumber="125">
2438
+ <li class="covered" data-hits="1" data-linenumber="129">
2385
2439
  <span class="hits">1</span>
2386
2440
 
2387
2441
  <code class="ruby"> def setting(name, default_value = nil)</code>
2388
2442
  </li>
2389
2443
 
2390
- <li class="covered" data-hits="3" data-linenumber="126">
2444
+ <li class="covered" data-hits="3" data-linenumber="130">
2391
2445
  <span class="hits">3</span>
2392
2446
 
2393
2447
  <code class="ruby"> self.class.setting(name, default_value)</code>
2394
2448
  </li>
2395
2449
 
2396
- <li class="covered" data-hits="3" data-linenumber="127">
2450
+ <li class="covered" data-hits="3" data-linenumber="131">
2397
2451
  <span class="hits">3</span>
2398
2452
 
2399
2453
  <code class="ruby"> instance_variable_set(&quot;@#{name}&quot;, default_value)</code>
2400
2454
  </li>
2401
2455
 
2402
- <li class="never" data-hits="" data-linenumber="128">
2456
+ <li class="never" data-hits="" data-linenumber="132">
2403
2457
 
2404
2458
 
2405
2459
  <code class="ruby"> end</code>
2406
2460
  </li>
2407
2461
 
2408
- <li class="never" data-hits="" data-linenumber="129">
2462
+ <li class="never" data-hits="" data-linenumber="133">
2409
2463
 
2410
2464
 
2411
2465
  <code class="ruby"></code>
2412
2466
  </li>
2413
2467
 
2414
- <li class="covered" data-hits="1" data-linenumber="130">
2468
+ <li class="covered" data-hits="1" data-linenumber="134">
2415
2469
  <span class="hits">1</span>
2416
2470
 
2417
2471
  <code class="ruby"> def settings(hash)</code>
2418
2472
  </li>
2419
2473
 
2420
- <li class="covered" data-hits="2" data-linenumber="131">
2474
+ <li class="covered" data-hits="2" data-linenumber="135">
2421
2475
  <span class="hits">2</span>
2422
2476
 
2423
2477
  <code class="ruby"> hash.each_pair do |name, value|</code>
2424
2478
  </li>
2425
2479
 
2426
- <li class="covered" data-hits="3" data-linenumber="132">
2480
+ <li class="covered" data-hits="3" data-linenumber="136">
2427
2481
  <span class="hits">3</span>
2428
2482
 
2429
2483
  <code class="ruby"> setting(name, value)</code>
2430
2484
  </li>
2431
2485
 
2432
- <li class="never" data-hits="" data-linenumber="133">
2486
+ <li class="never" data-hits="" data-linenumber="137">
2433
2487
 
2434
2488
 
2435
2489
  <code class="ruby"> end</code>
2436
2490
  </li>
2437
2491
 
2438
- <li class="covered" data-hits="2" data-linenumber="134">
2492
+ <li class="covered" data-hits="2" data-linenumber="138">
2439
2493
  <span class="hits">2</span>
2440
2494
 
2441
2495
  <code class="ruby"> return self</code>
2442
2496
  </li>
2443
2497
 
2444
- <li class="never" data-hits="" data-linenumber="135">
2498
+ <li class="never" data-hits="" data-linenumber="139">
2445
2499
 
2446
2500
 
2447
2501
  <code class="ruby"> end</code>
2448
2502
  </li>
2449
2503
 
2450
- <li class="never" data-hits="" data-linenumber="136">
2504
+ <li class="never" data-hits="" data-linenumber="140">
2451
2505
 
2452
2506
 
2453
2507
  <code class="ruby"></code>
2454
2508
  </li>
2455
2509
 
2456
- <li class="covered" data-hits="1" data-linenumber="137">
2510
+ <li class="covered" data-hits="1" data-linenumber="141">
2457
2511
  <span class="hits">1</span>
2458
2512
 
2459
2513
  <code class="ruby"> def required_fields(*names)</code>
2460
2514
  </li>
2461
2515
 
2462
- <li class="covered" data-hits="1" data-linenumber="138">
2516
+ <li class="covered" data-hits="1" data-linenumber="142">
2463
2517
  <span class="hits">1</span>
2464
2518
 
2465
2519
  <code class="ruby"> self.class.required_fields(*names)</code>
2466
2520
  </li>
2467
2521
 
2468
- <li class="covered" data-hits="1" data-linenumber="139">
2522
+ <li class="covered" data-hits="1" data-linenumber="143">
2469
2523
  <span class="hits">1</span>
2470
2524
 
2471
2525
  <code class="ruby"> self</code>
2472
2526
  </li>
2473
2527
 
2474
- <li class="never" data-hits="" data-linenumber="140">
2528
+ <li class="never" data-hits="" data-linenumber="144">
2475
2529
 
2476
2530
 
2477
2531
  <code class="ruby"> end</code>
2478
2532
  </li>
2479
2533
 
2480
- <li class="covered" data-hits="1" data-linenumber="141">
2534
+ <li class="covered" data-hits="1" data-linenumber="145">
2481
2535
  <span class="hits">1</span>
2482
2536
 
2483
2537
  <code class="ruby"> alias required_field required_fields</code>
2484
2538
  </li>
2485
2539
 
2486
- <li class="never" data-hits="" data-linenumber="142">
2540
+ <li class="never" data-hits="" data-linenumber="146">
2487
2541
 
2488
2542
 
2489
2543
  <code class="ruby"></code>
2490
2544
  </li>
2491
2545
 
2492
- <li class="covered" data-hits="1" data-linenumber="143">
2546
+ <li class="covered" data-hits="1" data-linenumber="147">
2493
2547
  <span class="hits">1</span>
2494
2548
 
2495
2549
  <code class="ruby"> def nil_fields(*names)</code>
2496
2550
  </li>
2497
2551
 
2498
- <li class="missed" data-hits="0" data-linenumber="144">
2552
+ <li class="missed" data-hits="0" data-linenumber="148">
2499
2553
 
2500
2554
 
2501
2555
  <code class="ruby"> self.class.nil_fields(*names)</code>
2502
2556
  </li>
2503
2557
 
2504
- <li class="missed" data-hits="0" data-linenumber="145">
2558
+ <li class="missed" data-hits="0" data-linenumber="149">
2505
2559
 
2506
2560
 
2507
2561
  <code class="ruby"> self</code>
2508
2562
  </li>
2509
2563
 
2510
- <li class="never" data-hits="" data-linenumber="146">
2564
+ <li class="never" data-hits="" data-linenumber="150">
2511
2565
 
2512
2566
 
2513
2567
  <code class="ruby"> end</code>
2514
2568
  </li>
2515
2569
 
2516
- <li class="covered" data-hits="1" data-linenumber="147">
2570
+ <li class="covered" data-hits="1" data-linenumber="151">
2517
2571
  <span class="hits">1</span>
2518
2572
 
2519
2573
  <code class="ruby"> alias nil_field nil_fields</code>
2520
2574
  </li>
2521
2575
 
2522
- <li class="never" data-hits="" data-linenumber="148">
2576
+ <li class="never" data-hits="" data-linenumber="152">
2523
2577
 
2524
2578
 
2525
2579
  <code class="ruby"></code>
2526
2580
  </li>
2527
2581
 
2528
- <li class="covered" data-hits="1" data-linenumber="149">
2582
+ <li class="covered" data-hits="1" data-linenumber="153">
2529
2583
  <span class="hits">1</span>
2530
2584
 
2531
2585
  <code class="ruby"> class Struct</code>
2532
2586
  </li>
2533
2587
 
2534
- <li class="covered" data-hits="1" data-linenumber="150">
2588
+ <li class="covered" data-hits="1" data-linenumber="154">
2535
2589
  <span class="hits">1</span>
2536
2590
 
2537
2591
  <code class="ruby"> include Configurable</code>
2538
2592
  </li>
2539
2593
 
2540
- <li class="never" data-hits="" data-linenumber="151">
2594
+ <li class="never" data-hits="" data-linenumber="155">
2541
2595
 
2542
2596
 
2543
2597
  <code class="ruby"> end</code>
2544
2598
  </li>
2545
2599
 
2546
- <li class="never" data-hits="" data-linenumber="152">
2600
+ <li class="never" data-hits="" data-linenumber="156">
2547
2601
 
2548
2602
 
2549
2603
  <code class="ruby"> end</code>
2550
2604
  </li>
2551
2605
 
2552
- <li class="never" data-hits="" data-linenumber="153">
2606
+ <li class="never" data-hits="" data-linenumber="157">
2553
2607
 
2554
2608
 
2555
2609
  <code class="ruby">end</code>
@@ -2942,7 +2996,7 @@
2942
2996
  <li class="covered" data-hits="1" data-linenumber="29">
2943
2997
  <span class="hits">1</span>
2944
2998
 
2945
- <code class="ruby"> task =task_class.define_task(*task_args) do</code>
2999
+ <code class="ruby"> task = task_class.define_task(*task_args) do</code>
2946
3000
  </li>
2947
3001
 
2948
3002
  <li class="covered" data-hits="1" data-linenumber="30">