mattock 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/doc/coverage/index.html +209 -83
  2. data/lib/mattock/task.rb +24 -3
  3. metadata +4 -4
@@ -23,14 +23,14 @@
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-02-04T10:44:02-08:00">2012-02-04T10:44:02-08:00</abbr></div>
26
+ <div class="timestamp">Generated <abbr class="timeago" title="2012-02-06T14:11:35-08:00">2012-02-06T14:11:35-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.15%</span></span>
33
+ (<span class="covered_percent"><span class="green">92.31%</span></span>
34
34
  covered at
35
35
  <span class="covered_strength">
36
36
  <span class="green">
@@ -41,8 +41,8 @@
41
41
  <a name="AllFiles"></a>
42
42
  <div>
43
43
  <b>12</b> files in total.
44
- <b>433</b> relevant lines.
45
- <span class="green"><b>399</b> lines covered</span> and
44
+ <b>442</b> relevant lines.
45
+ <span class="green"><b>408</b> lines covered</span> and
46
46
  <span class="red"><b>34</b> lines missed </span>
47
47
  </div>
48
48
  <table class="file_list">
@@ -106,7 +106,7 @@
106
106
  <td>93</td>
107
107
  <td>89</td>
108
108
  <td>4</td>
109
- <td>8.0</td>
109
+ <td>7.9</td>
110
110
  </tr>
111
111
 
112
112
  <tr>
@@ -121,12 +121,12 @@
121
121
 
122
122
  <tr>
123
123
  <td class="strong"><a href="#7cc8f09739f0b95d0fd16321baf73b5d3c6eb35b" class="src_link" title="lib/mattock/task.rb">lib/mattock/task.rb</a></td>
124
- <td class="yellow strong">86.67 %</td>
125
- <td>53</td>
126
- <td>30</td>
127
- <td>26</td>
124
+ <td class="yellow strong">89.74 %</td>
125
+ <td>74</td>
126
+ <td>39</td>
127
+ <td>35</td>
128
128
  <td>4</td>
129
- <td>0.9</td>
129
+ <td>1.0</td>
130
130
  </tr>
131
131
 
132
132
  <tr>
@@ -1817,14 +1817,14 @@
1817
1817
  <code class="ruby"> default_values.each_pair do |name,value|</code>
1818
1818
  </li>
1819
1819
 
1820
- <li class="covered" data-hits="44" data-linenumber="26">
1821
- <span class="hits">44</span>
1820
+ <li class="covered" data-hits="42" data-linenumber="26">
1821
+ <span class="hits">42</span>
1822
1822
 
1823
1823
  <code class="ruby"> instance.__send__(&quot;#{name}=&quot;, value)</code>
1824
1824
  </li>
1825
1825
 
1826
- <li class="covered" data-hits="44" data-linenumber="27">
1827
- <span class="hits">44</span>
1826
+ <li class="covered" data-hits="42" data-linenumber="27">
1827
+ <span class="hits">42</span>
1828
1828
 
1829
1829
  <code class="ruby"> if Configurable === value</code>
1830
1830
  </li>
@@ -1895,14 +1895,14 @@
1895
1895
  <code class="ruby"> default_values.each_pair do |name,value|</code>
1896
1896
  </li>
1897
1897
 
1898
- <li class="covered" data-hits="37" data-linenumber="39">
1899
- <span class="hits">37</span>
1898
+ <li class="covered" data-hits="35" data-linenumber="39">
1899
+ <span class="hits">35</span>
1900
1900
 
1901
1901
  <code class="ruby"> set_value = instance.__send__(name)</code>
1902
1902
  </li>
1903
1903
 
1904
- <li class="covered" data-hits="37" data-linenumber="40">
1905
- <span class="hits">37</span>
1904
+ <li class="covered" data-hits="35" data-linenumber="40">
1905
+ <span class="hits">35</span>
1906
1906
 
1907
1907
  <code class="ruby"> if value == RequiredField and set_value == RequiredField</code>
1908
1908
  </li>
@@ -1925,8 +1925,8 @@
1925
1925
  <code class="ruby"> end</code>
1926
1926
  </li>
1927
1927
 
1928
- <li class="covered" data-hits="34" data-linenumber="44">
1929
- <span class="hits">34</span>
1928
+ <li class="covered" data-hits="32" data-linenumber="44">
1929
+ <span class="hits">32</span>
1930
1930
 
1931
1931
  <code class="ruby"> if Configurable === set_value</code>
1932
1932
  </li>
@@ -2009,14 +2009,14 @@
2009
2009
  <code class="ruby"> default_values.keys.each do |field|</code>
2010
2010
  </li>
2011
2011
 
2012
- <li class="covered" data-hits="9" data-linenumber="58">
2013
- <span class="hits">9</span>
2012
+ <li class="covered" data-hits="7" data-linenumber="58">
2013
+ <span class="hits">7</span>
2014
2014
 
2015
2015
  <code class="ruby"> begin</code>
2016
2016
  </li>
2017
2017
 
2018
- <li class="covered" data-hits="9" data-linenumber="59">
2019
- <span class="hits">9</span>
2018
+ <li class="covered" data-hits="7" data-linenumber="59">
2019
+ <span class="hits">7</span>
2020
2020
 
2021
2021
  <code class="ruby"> to.__send__(&quot;#{field}=&quot;, from.__send__(field))</code>
2022
2022
  </li>
@@ -2303,8 +2303,8 @@
2303
2303
  <code class="ruby"> def included(mod)</code>
2304
2304
  </li>
2305
2305
 
2306
- <li class="covered" data-hits="5" data-linenumber="107">
2307
- <span class="hits">5</span>
2306
+ <li class="covered" data-hits="7" data-linenumber="107">
2307
+ <span class="hits">7</span>
2308
2308
 
2309
2309
  <code class="ruby"> mod.extend ClassMethods</code>
2310
2310
  </li>
@@ -2844,10 +2844,10 @@
2844
2844
  <div class="source_table" id="7cc8f09739f0b95d0fd16321baf73b5d3c6eb35b">
2845
2845
  <div class="header">
2846
2846
  <h3>lib/mattock/task.rb</h3>
2847
- <h4><span class="yellow">86.67 %</span> covered</h4>
2847
+ <h4><span class="yellow">89.74 %</span> covered</h4>
2848
2848
  <div>
2849
- <b>30</b> relevant lines.
2850
- <span class="green"><b>26</b> lines covered</span> and
2849
+ <b>39</b> relevant lines.
2850
+ <span class="green"><b>35</b> lines covered</span> and
2851
2851
  <span class="red"><b>4</b> lines missed.</span>
2852
2852
  </div>
2853
2853
  </div>
@@ -2867,307 +2867,433 @@
2867
2867
  <code class="ruby">require 'rake/task'</code>
2868
2868
  </li>
2869
2869
 
2870
- <li class="never" data-hits="" data-linenumber="3">
2870
+ <li class="covered" data-hits="1" data-linenumber="3">
2871
+ <span class="hits">1</span>
2872
+
2873
+ <code class="ruby">require 'rake/file_task'</code>
2874
+ </li>
2875
+
2876
+ <li class="never" data-hits="" data-linenumber="4">
2871
2877
 
2872
2878
 
2873
2879
  <code class="ruby"></code>
2874
2880
  </li>
2875
2881
 
2876
- <li class="covered" data-hits="1" data-linenumber="4">
2882
+ <li class="covered" data-hits="1" data-linenumber="5">
2877
2883
  <span class="hits">1</span>
2878
2884
 
2879
2885
  <code class="ruby">module Mattock</code>
2880
2886
  </li>
2881
2887
 
2882
- <li class="covered" data-hits="1" data-linenumber="5">
2888
+ <li class="never" data-hits="" data-linenumber="6">
2889
+
2890
+
2891
+ <code class="ruby"> # A configurable subclass of Rake::Task, such that you can use a</code>
2892
+ </li>
2893
+
2894
+ <li class="never" data-hits="" data-linenumber="7">
2895
+
2896
+
2897
+ <code class="ruby"> # configuration block to change how a common task behaves, while still</code>
2898
+ </li>
2899
+
2900
+ <li class="never" data-hits="" data-linenumber="8">
2901
+
2902
+
2903
+ <code class="ruby"> # overriding Rake API methods like Task#needed? and Task#timestamp</code>
2904
+ </li>
2905
+
2906
+ <li class="never" data-hits="" data-linenumber="9">
2907
+
2908
+
2909
+ <code class="ruby"></code>
2910
+ </li>
2911
+
2912
+ <li class="covered" data-hits="1" data-linenumber="10">
2883
2913
  <span class="hits">1</span>
2884
2914
 
2885
- <code class="ruby"> class Task &lt; Rake::Task</code>
2915
+ <code class="ruby"> module TaskMixin</code>
2886
2916
  </li>
2887
2917
 
2888
- <li class="covered" data-hits="1" data-linenumber="6">
2918
+ <li class="covered" data-hits="1" data-linenumber="11">
2889
2919
  <span class="hits">1</span>
2890
2920
 
2891
2921
  <code class="ruby"> include CascadingDefinition</code>
2892
2922
  </li>
2893
2923
 
2894
- <li class="never" data-hits="" data-linenumber="7">
2924
+ <li class="never" data-hits="" data-linenumber="12">
2895
2925
 
2896
2926
 
2897
2927
  <code class="ruby"></code>
2898
2928
  </li>
2899
2929
 
2900
- <li class="covered" data-hits="1" data-linenumber="8">
2930
+ <li class="covered" data-hits="1" data-linenumber="13">
2901
2931
  <span class="hits">1</span>
2902
2932
 
2903
2933
  <code class="ruby"> setting :task_name</code>
2904
2934
  </li>
2905
2935
 
2906
- <li class="covered" data-hits="1" data-linenumber="9">
2936
+ <li class="covered" data-hits="1" data-linenumber="14">
2907
2937
  <span class="hits">1</span>
2908
2938
 
2909
2939
  <code class="ruby"> setting :task_args</code>
2910
2940
  </li>
2911
2941
 
2912
- <li class="never" data-hits="" data-linenumber="10">
2942
+ <li class="never" data-hits="" data-linenumber="15">
2913
2943
 
2914
2944
 
2915
2945
  <code class="ruby"></code>
2916
2946
  </li>
2917
2947
 
2918
- <li class="covered" data-hits="1" data-linenumber="11">
2948
+ <li class="covered" data-hits="1" data-linenumber="16">
2949
+ <span class="hits">1</span>
2950
+
2951
+ <code class="ruby"> module ClassMethods</code>
2952
+ </li>
2953
+
2954
+ <li class="covered" data-hits="1" data-linenumber="17">
2919
2955
  <span class="hits">1</span>
2920
2956
 
2921
- <code class="ruby"> def self.default_taskname(name)</code>
2957
+ <code class="ruby"> def default_taskname(name)</code>
2922
2958
  </li>
2923
2959
 
2924
- <li class="missed" data-hits="0" data-linenumber="12">
2960
+ <li class="missed" data-hits="0" data-linenumber="18">
2925
2961
 
2926
2962
 
2927
- <code class="ruby"> setting(:task_name, name)</code>
2963
+ <code class="ruby"> setting(:task_name, name)</code>
2928
2964
  </li>
2929
2965
 
2930
- <li class="never" data-hits="" data-linenumber="13">
2966
+ <li class="never" data-hits="" data-linenumber="19">
2967
+
2968
+
2969
+ <code class="ruby"> end</code>
2970
+ </li>
2971
+
2972
+ <li class="never" data-hits="" data-linenumber="20">
2931
2973
 
2932
2974
 
2933
2975
  <code class="ruby"> end</code>
2934
2976
  </li>
2935
2977
 
2936
- <li class="never" data-hits="" data-linenumber="14">
2978
+ <li class="never" data-hits="" data-linenumber="21">
2937
2979
 
2938
2980
 
2939
2981
  <code class="ruby"></code>
2940
2982
  </li>
2941
2983
 
2942
- <li class="covered" data-hits="1" data-linenumber="15">
2984
+ <li class="covered" data-hits="1" data-linenumber="22">
2985
+ <span class="hits">1</span>
2986
+
2987
+ <code class="ruby"> def self.included(mod)</code>
2988
+ </li>
2989
+
2990
+ <li class="covered" data-hits="4" data-linenumber="23">
2991
+ <span class="hits">4</span>
2992
+
2993
+ <code class="ruby"> mod.class_eval{ extend ClassMethods }</code>
2994
+ </li>
2995
+
2996
+ <li class="covered" data-hits="2" data-linenumber="24">
2997
+ <span class="hits">2</span>
2998
+
2999
+ <code class="ruby"> super</code>
3000
+ </li>
3001
+
3002
+ <li class="never" data-hits="" data-linenumber="25">
3003
+
3004
+
3005
+ <code class="ruby"> end</code>
3006
+ </li>
3007
+
3008
+ <li class="never" data-hits="" data-linenumber="26">
3009
+
3010
+
3011
+ <code class="ruby"></code>
3012
+ </li>
3013
+
3014
+ <li class="covered" data-hits="1" data-linenumber="27">
2943
3015
  <span class="hits">1</span>
2944
3016
 
2945
3017
  <code class="ruby"> def initialize(*args)</code>
2946
3018
  </li>
2947
3019
 
2948
- <li class="covered" data-hits="1" data-linenumber="16">
3020
+ <li class="covered" data-hits="1" data-linenumber="28">
2949
3021
  <span class="hits">1</span>
2950
3022
 
2951
3023
  <code class="ruby"> configs = args.take_while{|arg| Configurable === arg}</code>
2952
3024
  </li>
2953
3025
 
2954
- <li class="covered" data-hits="1" data-linenumber="17">
3026
+ <li class="covered" data-hits="1" data-linenumber="29">
2955
3027
  <span class="hits">1</span>
2956
3028
 
2957
3029
  <code class="ruby"> @extracted_task_args = args[configs.length..-1]</code>
2958
3030
  </li>
2959
3031
 
2960
- <li class="covered" data-hits="1" data-linenumber="18">
3032
+ <li class="covered" data-hits="1" data-linenumber="30">
2961
3033
  <span class="hits">1</span>
2962
3034
 
2963
3035
  <code class="ruby"> if @extracted_task_args.any?{|arg| Configurable === arg}</code>
2964
3036
  </li>
2965
3037
 
2966
- <li class="missed" data-hits="0" data-linenumber="19">
3038
+ <li class="missed" data-hits="0" data-linenumber="31">
2967
3039
 
2968
3040
 
2969
3041
  <code class="ruby"> raise &quot;Mattock::Task classes should be created with parent configs, then Rake task args&quot;</code>
2970
3042
  </li>
2971
3043
 
2972
- <li class="never" data-hits="" data-linenumber="20">
3044
+ <li class="never" data-hits="" data-linenumber="32">
2973
3045
 
2974
3046
 
2975
3047
  <code class="ruby"> end</code>
2976
3048
  </li>
2977
3049
 
2978
- <li class="covered" data-hits="1" data-linenumber="21">
3050
+ <li class="covered" data-hits="1" data-linenumber="33">
2979
3051
  <span class="hits">1</span>
2980
3052
 
2981
3053
  <code class="ruby"> super(*configs)</code>
2982
3054
  </li>
2983
3055
 
2984
- <li class="never" data-hits="" data-linenumber="22">
3056
+ <li class="never" data-hits="" data-linenumber="34">
2985
3057
 
2986
3058
 
2987
3059
  <code class="ruby"> end</code>
2988
3060
  </li>
2989
3061
 
2990
- <li class="never" data-hits="" data-linenumber="23">
3062
+ <li class="never" data-hits="" data-linenumber="35">
2991
3063
 
2992
3064
 
2993
3065
  <code class="ruby"></code>
2994
3066
  </li>
2995
3067
 
2996
- <li class="covered" data-hits="1" data-linenumber="24">
3068
+ <li class="covered" data-hits="1" data-linenumber="36">
2997
3069
  <span class="hits">1</span>
2998
3070
 
2999
3071
  <code class="ruby"> def resolve_configuration</code>
3000
3072
  </li>
3001
3073
 
3002
- <li class="covered" data-hits="1" data-linenumber="25">
3074
+ <li class="covered" data-hits="1" data-linenumber="37">
3003
3075
  <span class="hits">1</span>
3004
3076
 
3005
3077
  <code class="ruby"> if @extracted_task_args.empty?</code>
3006
3078
  </li>
3007
3079
 
3008
- <li class="covered" data-hits="1" data-linenumber="26">
3080
+ <li class="covered" data-hits="1" data-linenumber="38">
3009
3081
  <span class="hits">1</span>
3010
3082
 
3011
3083
  <code class="ruby"> self.task_args = [task_name]</code>
3012
3084
  </li>
3013
3085
 
3014
- <li class="never" data-hits="" data-linenumber="27">
3086
+ <li class="never" data-hits="" data-linenumber="39">
3015
3087
 
3016
3088
 
3017
3089
  <code class="ruby"> else</code>
3018
3090
  </li>
3019
3091
 
3020
- <li class="missed" data-hits="0" data-linenumber="28">
3092
+ <li class="missed" data-hits="0" data-linenumber="40">
3021
3093
 
3022
3094
 
3023
3095
  <code class="ruby"> self.task_args = @extracted_task_args</code>
3024
3096
  </li>
3025
3097
 
3026
- <li class="never" data-hits="" data-linenumber="29">
3098
+ <li class="never" data-hits="" data-linenumber="41">
3027
3099
 
3028
3100
 
3029
3101
  <code class="ruby"> end</code>
3030
3102
  </li>
3031
3103
 
3032
- <li class="never" data-hits="" data-linenumber="30">
3104
+ <li class="never" data-hits="" data-linenumber="42">
3033
3105
 
3034
3106
 
3035
3107
  <code class="ruby"> end</code>
3036
3108
  </li>
3037
3109
 
3038
- <li class="never" data-hits="" data-linenumber="31">
3110
+ <li class="never" data-hits="" data-linenumber="43">
3039
3111
 
3040
3112
 
3041
3113
  <code class="ruby"></code>
3042
3114
  </li>
3043
3115
 
3044
- <li class="covered" data-hits="1" data-linenumber="32">
3116
+ <li class="covered" data-hits="1" data-linenumber="44">
3045
3117
  <span class="hits">1</span>
3046
3118
 
3047
3119
  <code class="ruby"> def action</code>
3048
3120
  </li>
3049
3121
 
3050
- <li class="never" data-hits="" data-linenumber="33">
3122
+ <li class="never" data-hits="" data-linenumber="45">
3051
3123
 
3052
3124
 
3053
3125
  <code class="ruby"> end</code>
3054
3126
  </li>
3055
3127
 
3056
- <li class="never" data-hits="" data-linenumber="34">
3128
+ <li class="never" data-hits="" data-linenumber="46">
3057
3129
 
3058
3130
 
3059
3131
  <code class="ruby"></code>
3060
3132
  </li>
3061
3133
 
3062
- <li class="covered" data-hits="1" data-linenumber="35">
3134
+ <li class="never" data-hits="" data-linenumber="47">
3135
+
3136
+
3137
+ <code class="ruby"> # I continue to look for an alternative here.</code>
3138
+ </li>
3139
+
3140
+ <li class="covered" data-hits="1" data-linenumber="48">
3063
3141
  <span class="hits">1</span>
3064
3142
 
3065
3143
  <code class="ruby"> def task_class</code>
3066
3144
  </li>
3067
3145
 
3068
- <li class="covered" data-hits="1" data-linenumber="36">
3146
+ <li class="covered" data-hits="1" data-linenumber="49">
3069
3147
  <span class="hits">1</span>
3070
3148
 
3071
3149
  <code class="ruby"> return @task_class if @task_class</code>
3072
3150
  </li>
3073
3151
 
3074
- <li class="covered" data-hits="1" data-linenumber="37">
3152
+ <li class="covered" data-hits="1" data-linenumber="50">
3075
3153
  <span class="hits">1</span>
3076
3154
 
3077
3155
  <code class="ruby"> @task_class = Class.new(self.class) do</code>
3078
3156
  </li>
3079
3157
 
3080
- <li class="covered" data-hits="1" data-linenumber="38">
3158
+ <li class="covered" data-hits="1" data-linenumber="51">
3081
3159
  <span class="hits">1</span>
3082
3160
 
3083
3161
  <code class="ruby"> define_method :initialize, Rake::Task.instance_method(:initialize)</code>
3084
3162
  </li>
3085
3163
 
3086
- <li class="never" data-hits="" data-linenumber="39">
3164
+ <li class="never" data-hits="" data-linenumber="52">
3087
3165
 
3088
3166
 
3089
3167
  <code class="ruby"> end</code>
3090
3168
  </li>
3091
3169
 
3092
- <li class="never" data-hits="" data-linenumber="40">
3170
+ <li class="never" data-hits="" data-linenumber="53">
3093
3171
 
3094
3172
 
3095
3173
  <code class="ruby"> end</code>
3096
3174
  </li>
3097
3175
 
3098
- <li class="never" data-hits="" data-linenumber="41">
3176
+ <li class="never" data-hits="" data-linenumber="54">
3099
3177
 
3100
3178
 
3101
3179
  <code class="ruby"></code>
3102
3180
  </li>
3103
3181
 
3104
- <li class="covered" data-hits="1" data-linenumber="42">
3182
+ <li class="covered" data-hits="1" data-linenumber="55">
3105
3183
  <span class="hits">1</span>
3106
3184
 
3107
3185
  <code class="ruby"> def inspect</code>
3108
3186
  </li>
3109
3187
 
3110
- <li class="missed" data-hits="0" data-linenumber="43">
3188
+ <li class="missed" data-hits="0" data-linenumber="56">
3111
3189
 
3112
3190
 
3113
3191
  <code class="ruby"> &quot;#{self.class.name}: #{self.task_args.inspect}&quot;</code>
3114
3192
  </li>
3115
3193
 
3116
- <li class="never" data-hits="" data-linenumber="44">
3194
+ <li class="never" data-hits="" data-linenumber="57">
3117
3195
 
3118
3196
 
3119
3197
  <code class="ruby"> end</code>
3120
3198
  </li>
3121
3199
 
3122
- <li class="never" data-hits="" data-linenumber="45">
3200
+ <li class="never" data-hits="" data-linenumber="58">
3123
3201
 
3124
3202
 
3125
3203
  <code class="ruby"></code>
3126
3204
  </li>
3127
3205
 
3128
- <li class="covered" data-hits="1" data-linenumber="46">
3206
+ <li class="covered" data-hits="1" data-linenumber="59">
3129
3207
  <span class="hits">1</span>
3130
3208
 
3131
3209
  <code class="ruby"> def define</code>
3132
3210
  </li>
3133
3211
 
3134
- <li class="covered" data-hits="1" data-linenumber="47">
3212
+ <li class="covered" data-hits="1" data-linenumber="60">
3135
3213
  <span class="hits">1</span>
3136
3214
 
3137
3215
  <code class="ruby"> task = task_class.define_task(*task_args) do</code>
3138
3216
  </li>
3139
3217
 
3140
- <li class="covered" data-hits="1" data-linenumber="48">
3218
+ <li class="covered" data-hits="1" data-linenumber="61">
3141
3219
  <span class="hits">1</span>
3142
3220
 
3143
3221
  <code class="ruby"> action</code>
3144
3222
  </li>
3145
3223
 
3146
- <li class="never" data-hits="" data-linenumber="49">
3224
+ <li class="never" data-hits="" data-linenumber="62">
3147
3225
 
3148
3226
 
3149
3227
  <code class="ruby"> end</code>
3150
3228
  </li>
3151
3229
 
3152
- <li class="covered" data-hits="1" data-linenumber="50">
3230
+ <li class="covered" data-hits="1" data-linenumber="63">
3153
3231
  <span class="hits">1</span>
3154
3232
 
3155
3233
  <code class="ruby"> copy_settings_to(task)</code>
3156
3234
  </li>
3157
3235
 
3158
- <li class="never" data-hits="" data-linenumber="51">
3236
+ <li class="never" data-hits="" data-linenumber="64">
3159
3237
 
3160
3238
 
3161
3239
  <code class="ruby"> end</code>
3162
3240
  </li>
3163
3241
 
3164
- <li class="never" data-hits="" data-linenumber="52">
3242
+ <li class="never" data-hits="" data-linenumber="65">
3165
3243
 
3166
3244
 
3167
3245
  <code class="ruby"> end</code>
3168
3246
  </li>
3169
3247
 
3170
- <li class="never" data-hits="" data-linenumber="53">
3248
+ <li class="never" data-hits="" data-linenumber="66">
3249
+
3250
+
3251
+ <code class="ruby"></code>
3252
+ </li>
3253
+
3254
+ <li class="covered" data-hits="1" data-linenumber="67">
3255
+ <span class="hits">1</span>
3256
+
3257
+ <code class="ruby"> class Task &lt; Rake::Task</code>
3258
+ </li>
3259
+
3260
+ <li class="covered" data-hits="1" data-linenumber="68">
3261
+ <span class="hits">1</span>
3262
+
3263
+ <code class="ruby"> include TaskMixin</code>
3264
+ </li>
3265
+
3266
+ <li class="never" data-hits="" data-linenumber="69">
3267
+
3268
+
3269
+ <code class="ruby"> end</code>
3270
+ </li>
3271
+
3272
+ <li class="never" data-hits="" data-linenumber="70">
3273
+
3274
+
3275
+ <code class="ruby"></code>
3276
+ </li>
3277
+
3278
+ <li class="covered" data-hits="1" data-linenumber="71">
3279
+ <span class="hits">1</span>
3280
+
3281
+ <code class="ruby"> class FileTask &lt; Rake::FileTask</code>
3282
+ </li>
3283
+
3284
+ <li class="covered" data-hits="1" data-linenumber="72">
3285
+ <span class="hits">1</span>
3286
+
3287
+ <code class="ruby"> include TaskMixin</code>
3288
+ </li>
3289
+
3290
+ <li class="never" data-hits="" data-linenumber="73">
3291
+
3292
+
3293
+ <code class="ruby"> end</code>
3294
+ </li>
3295
+
3296
+ <li class="never" data-hits="" data-linenumber="74">
3171
3297
 
3172
3298
 
3173
3299
  <code class="ruby">end</code>
data/lib/mattock/task.rb CHANGED
@@ -1,15 +1,27 @@
1
1
  require 'mattock/cascading-definition'
2
2
  require 'rake/task'
3
+ require 'rake/file_task'
3
4
 
4
5
  module Mattock
5
- class Task < Rake::Task
6
+ # A configurable subclass of Rake::Task, such that you can use a
7
+ # configuration block to change how a common task behaves, while still
8
+ # overriding Rake API methods like Task#needed? and Task#timestamp
9
+
10
+ module TaskMixin
6
11
  include CascadingDefinition
7
12
 
8
13
  setting :task_name
9
14
  setting :task_args
10
15
 
11
- def self.default_taskname(name)
12
- setting(:task_name, name)
16
+ module ClassMethods
17
+ def default_taskname(name)
18
+ setting(:task_name, name)
19
+ end
20
+ end
21
+
22
+ def self.included(mod)
23
+ mod.class_eval{ extend ClassMethods }
24
+ super
13
25
  end
14
26
 
15
27
  def initialize(*args)
@@ -32,6 +44,7 @@ module Mattock
32
44
  def action
33
45
  end
34
46
 
47
+ # I continue to look for an alternative here.
35
48
  def task_class
36
49
  return @task_class if @task_class
37
50
  @task_class = Class.new(self.class) do
@@ -50,4 +63,12 @@ module Mattock
50
63
  copy_settings_to(task)
51
64
  end
52
65
  end
66
+
67
+ class Task < Rake::Task
68
+ include TaskMixin
69
+ end
70
+
71
+ class FileTask < Rake::FileTask
72
+ include TaskMixin
73
+ end
53
74
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: mattock
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.1.2
5
+ version: 0.1.3
6
6
  platform: ruby
7
7
  authors:
8
8
  - Judson Lester
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2012-02-04 00:00:00 Z
13
+ date: 2012-02-06 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: corundum
@@ -189,7 +189,7 @@ rdoc_options:
189
189
  - --main
190
190
  - doc/README
191
191
  - --title
192
- - mattock-0.1.2 RDoc
192
+ - mattock-0.1.3 RDoc
193
193
  require_paths:
194
194
  - lib/
195
195
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -197,7 +197,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
197
197
  requirements:
198
198
  - - ">="
199
199
  - !ruby/object:Gem::Version
200
- hash: 684090449
200
+ hash: 184575953
201
201
  segments:
202
202
  - 0
203
203
  version: "0"