mattock 0.0.1 → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -23,27 +23,27 @@
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-21T01:32:01-08:00">2012-01-21T01:32:01-08:00</abbr></div>
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>
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">93.0%</span></span>
33
+ (<span class="covered_percent"><span class="green">92.79%</span></span>
34
34
  covered at
35
35
  <span class="covered_strength">
36
36
  <span class="green">
37
- 2.98
37
+ 2.62
38
38
  </span>
39
39
  </span> hits/line)
40
40
  </h2>
41
41
  <a name="AllFiles"></a>
42
42
  <div>
43
- <b>9</b> files in total.
44
- <b>343</b> relevant lines.
45
- <span class="green"><b>319</b> lines covered</span> and
46
- <span class="red"><b>24</b> lines missed </span>
43
+ <b>12</b> files in total.
44
+ <b>416</b> relevant lines.
45
+ <span class="green"><b>386</b> lines covered</span> and
46
+ <span class="red"><b>30</b> lines missed </span>
47
47
  </div>
48
48
  <table class="file_list">
49
49
  <thead>
@@ -69,6 +69,16 @@
69
69
  <td>1.0</td>
70
70
  </tr>
71
71
 
72
+ <tr>
73
+ <td class="strong"><a href="#a4dd8526c71e3e42410b37403d8cb37f6ca70df4" class="src_link" title="lib/mattock/cascading-definition.rb">lib/mattock/cascading-definition.rb</a></td>
74
+ <td class="green strong">100.0 %</td>
75
+ <td>32</td>
76
+ <td>16</td>
77
+ <td>16</td>
78
+ <td>0</td>
79
+ <td>3.2</td>
80
+ </tr>
81
+
72
82
  <tr>
73
83
  <td class="strong"><a href="#19e9811ada5819ea8e2c6a644088d4ba8e773a5b" class="src_link" title="lib/mattock/command-line.rb">lib/mattock/command-line.rb</a></td>
74
84
  <td class="green strong">93.1 %</td>
@@ -76,27 +86,27 @@
76
86
  <td>87</td>
77
87
  <td>81</td>
78
88
  <td>6</td>
79
- <td>2.9</td>
89
+ <td>3.0</td>
80
90
  </tr>
81
91
 
82
92
  <tr>
83
93
  <td class="strong"><a href="#937bd4854d7605194eaf61c021175d6a0f31e6e8" class="src_link" title="lib/mattock/command-task.rb">lib/mattock/command-task.rb</a></td>
84
- <td class="green strong">93.1 %</td>
85
- <td>51</td>
86
- <td>29</td>
87
- <td>27</td>
88
- <td>2</td>
94
+ <td class="yellow strong">84.21 %</td>
95
+ <td>33</td>
96
+ <td>19</td>
97
+ <td>16</td>
98
+ <td>3</td>
89
99
  <td>1.2</td>
90
100
  </tr>
91
101
 
92
102
  <tr>
93
103
  <td class="strong"><a href="#151b5abc8f09f0fc2932ac98c07e3b516a518e3e" class="src_link" title="lib/mattock/configurable.rb">lib/mattock/configurable.rb</a></td>
94
- <td class="green strong">98.7 %</td>
95
- <td>129</td>
96
- <td>77</td>
97
- <td>76</td>
98
- <td>1</td>
99
- <td>8.8</td>
104
+ <td class="green strong">96.67 %</td>
105
+ <td>153</td>
106
+ <td>90</td>
107
+ <td>87</td>
108
+ <td>3</td>
109
+ <td>8.1</td>
100
110
  </tr>
101
111
 
102
112
  <tr>
@@ -109,14 +119,24 @@
109
119
  <td>1.4</td>
110
120
  </tr>
111
121
 
122
+ <tr>
123
+ <td class="strong"><a href="#7cc8f09739f0b95d0fd16321baf73b5d3c6eb35b" class="src_link" title="lib/mattock/task.rb">lib/mattock/task.rb</a></td>
124
+ <td class="green strong">94.74 %</td>
125
+ <td>35</td>
126
+ <td>19</td>
127
+ <td>18</td>
128
+ <td>1</td>
129
+ <td>0.9</td>
130
+ </tr>
131
+
112
132
  <tr>
113
133
  <td class="strong"><a href="#a2c73f0ba96e60116ee8696673802b6ebaddc38c" class="src_link" title="lib/mattock/tasklib.rb">lib/mattock/tasklib.rb</a></td>
114
- <td class="green strong">97.5 %</td>
115
- <td>76</td>
116
- <td>40</td>
117
- <td>39</td>
134
+ <td class="green strong">96.77 %</td>
135
+ <td>57</td>
136
+ <td>31</td>
137
+ <td>30</td>
118
138
  <td>1</td>
119
- <td>3.8</td>
139
+ <td>3.4</td>
120
140
  </tr>
121
141
 
122
142
  <tr>
@@ -131,12 +151,12 @@
131
151
 
132
152
  <tr>
133
153
  <td class="strong"><a href="#d05b479afa4321ddf827a6b5af14020183ee07b9" class="src_link" title="lib/mattock/testing/mock-command-line.rb">lib/mattock/testing/mock-command-line.rb</a></td>
134
- <td class="green strong">92.86 %</td>
135
- <td>26</td>
136
- <td>14</td>
137
- <td>13</td>
138
- <td>1</td>
139
- <td>1.4</td>
154
+ <td class="green strong">94.44 %</td>
155
+ <td>67</td>
156
+ <td>36</td>
157
+ <td>34</td>
158
+ <td>2</td>
159
+ <td>1.2</td>
140
160
  </tr>
141
161
 
142
162
  <tr>
@@ -149,6 +169,16 @@
149
169
  <td>5.7</td>
150
170
  </tr>
151
171
 
172
+ <tr>
173
+ <td class="strong"><a href="#b325ca10da29fcd26651ac26205d38639667a9a7" class="src_link" title="lib/mattock/testing/record-commands.rb">lib/mattock/testing/record-commands.rb</a></td>
174
+ <td class="green strong">95.45 %</td>
175
+ <td>38</td>
176
+ <td>22</td>
177
+ <td>21</td>
178
+ <td>1</td>
179
+ <td>1.7</td>
180
+ </tr>
181
+
152
182
  </tbody>
153
183
  </table>
154
184
  </div>
@@ -203,6 +233,216 @@
203
233
  <code class="ruby">require 'mattock/template-host'</code>
204
234
  </li>
205
235
 
236
+ </ol>
237
+ </pre>
238
+ </div>
239
+
240
+ <div class="source_table" id="a4dd8526c71e3e42410b37403d8cb37f6ca70df4">
241
+ <div class="header">
242
+ <h3>lib/mattock/cascading-definition.rb</h3>
243
+ <h4><span class="green">100.0 %</span> covered</h4>
244
+ <div>
245
+ <b>16</b> relevant lines.
246
+ <span class="green"><b>16</b> lines covered</span> and
247
+ <span class="red"><b>0</b> lines missed.</span>
248
+ </div>
249
+ </div>
250
+
251
+ <pre>
252
+ <ol>
253
+
254
+ <li class="covered" data-hits="1" data-linenumber="1">
255
+ <span class="hits">1</span>
256
+
257
+ <code class="ruby">require 'mattock/configurable'</code>
258
+ </li>
259
+
260
+ <li class="never" data-hits="" data-linenumber="2">
261
+
262
+
263
+ <code class="ruby"></code>
264
+ </li>
265
+
266
+ <li class="covered" data-hits="1" data-linenumber="3">
267
+ <span class="hits">1</span>
268
+
269
+ <code class="ruby">module Mattock</code>
270
+ </li>
271
+
272
+ <li class="covered" data-hits="1" data-linenumber="4">
273
+ <span class="hits">1</span>
274
+
275
+ <code class="ruby"> module CascadingDefinition</code>
276
+ </li>
277
+
278
+ <li class="covered" data-hits="1" data-linenumber="5">
279
+ <span class="hits">1</span>
280
+
281
+ <code class="ruby"> include Configurable</code>
282
+ </li>
283
+
284
+ <li class="never" data-hits="" data-linenumber="6">
285
+
286
+
287
+ <code class="ruby"></code>
288
+ </li>
289
+
290
+ <li class="covered" data-hits="1" data-linenumber="7">
291
+ <span class="hits">1</span>
292
+
293
+ <code class="ruby"> def initialize(*tasklibs)</code>
294
+ </li>
295
+
296
+ <li class="covered" data-hits="6" data-linenumber="8">
297
+ <span class="hits">6</span>
298
+
299
+ <code class="ruby"> setup_defaults</code>
300
+ </li>
301
+
302
+ <li class="covered" data-hits="6" data-linenumber="9">
303
+ <span class="hits">6</span>
304
+
305
+ <code class="ruby"> default_configuration(*tasklibs)</code>
306
+ </li>
307
+
308
+ <li class="never" data-hits="" data-linenumber="10">
309
+
310
+
311
+ <code class="ruby"></code>
312
+ </li>
313
+
314
+ <li class="covered" data-hits="6" data-linenumber="11">
315
+ <span class="hits">6</span>
316
+
317
+ <code class="ruby"> yield self if block_given?</code>
318
+ </li>
319
+
320
+ <li class="never" data-hits="" data-linenumber="12">
321
+
322
+
323
+ <code class="ruby"></code>
324
+ </li>
325
+
326
+ <li class="covered" data-hits="6" data-linenumber="13">
327
+ <span class="hits">6</span>
328
+
329
+ <code class="ruby"> resolve_configuration</code>
330
+ </li>
331
+
332
+ <li class="covered" data-hits="6" data-linenumber="14">
333
+ <span class="hits">6</span>
334
+
335
+ <code class="ruby"> confirm_configuration</code>
336
+ </li>
337
+
338
+ <li class="never" data-hits="" data-linenumber="15">
339
+
340
+
341
+ <code class="ruby"></code>
342
+ </li>
343
+
344
+ <li class="covered" data-hits="6" data-linenumber="16">
345
+ <span class="hits">6</span>
346
+
347
+ <code class="ruby"> define</code>
348
+ </li>
349
+
350
+ <li class="never" data-hits="" data-linenumber="17">
351
+
352
+
353
+ <code class="ruby"> end</code>
354
+ </li>
355
+
356
+ <li class="never" data-hits="" data-linenumber="18">
357
+
358
+
359
+ <code class="ruby"></code>
360
+ </li>
361
+
362
+ <li class="covered" data-hits="1" data-linenumber="19">
363
+ <span class="hits">1</span>
364
+
365
+ <code class="ruby"> def default_configuration(*tasklibs)</code>
366
+ </li>
367
+
368
+ <li class="never" data-hits="" data-linenumber="20">
369
+
370
+
371
+ <code class="ruby"> end</code>
372
+ </li>
373
+
374
+ <li class="never" data-hits="" data-linenumber="21">
375
+
376
+
377
+ <code class="ruby"></code>
378
+ </li>
379
+
380
+ <li class="covered" data-hits="1" data-linenumber="22">
381
+ <span class="hits">1</span>
382
+
383
+ <code class="ruby"> def resolve_configuration</code>
384
+ </li>
385
+
386
+ <li class="never" data-hits="" data-linenumber="23">
387
+
388
+
389
+ <code class="ruby"> end</code>
390
+ </li>
391
+
392
+ <li class="never" data-hits="" data-linenumber="24">
393
+
394
+
395
+ <code class="ruby"></code>
396
+ </li>
397
+
398
+ <li class="covered" data-hits="1" data-linenumber="25">
399
+ <span class="hits">1</span>
400
+
401
+ <code class="ruby"> def confirm_configuration</code>
402
+ </li>
403
+
404
+ <li class="covered" data-hits="6" data-linenumber="26">
405
+ <span class="hits">6</span>
406
+
407
+ <code class="ruby"> check_required</code>
408
+ </li>
409
+
410
+ <li class="never" data-hits="" data-linenumber="27">
411
+
412
+
413
+ <code class="ruby"> end</code>
414
+ </li>
415
+
416
+ <li class="never" data-hits="" data-linenumber="28">
417
+
418
+
419
+ <code class="ruby"></code>
420
+ </li>
421
+
422
+ <li class="covered" data-hits="1" data-linenumber="29">
423
+ <span class="hits">1</span>
424
+
425
+ <code class="ruby"> def define</code>
426
+ </li>
427
+
428
+ <li class="never" data-hits="" data-linenumber="30">
429
+
430
+
431
+ <code class="ruby"> end</code>
432
+ </li>
433
+
434
+ <li class="never" data-hits="" data-linenumber="31">
435
+
436
+
437
+ <code class="ruby"> end</code>
438
+ </li>
439
+
440
+ <li class="never" data-hits="" data-linenumber="32">
441
+
442
+
443
+ <code class="ruby">end</code>
444
+ </li>
445
+
206
446
  </ol>
207
447
  </pre>
208
448
  </div>
@@ -323,8 +563,8 @@
323
563
  <code class="ruby"> def exit_code</code>
324
564
  </li>
325
565
 
326
- <li class="covered" data-hits="6" data-linenumber="18">
327
- <span class="hits">6</span>
566
+ <li class="covered" data-hits="11" data-linenumber="18">
567
+ <span class="hits">11</span>
328
568
 
329
569
  <code class="ruby"> @process_status.exitstatus</code>
330
570
  </li>
@@ -1170,11 +1410,11 @@
1170
1410
  <div class="source_table" id="937bd4854d7605194eaf61c021175d6a0f31e6e8">
1171
1411
  <div class="header">
1172
1412
  <h3>lib/mattock/command-task.rb</h3>
1173
- <h4><span class="green">93.1 %</span> covered</h4>
1413
+ <h4><span class="yellow">84.21 %</span> covered</h4>
1174
1414
  <div>
1175
- <b>29</b> relevant lines.
1176
- <span class="green"><b>27</b> lines covered</span> and
1177
- <span class="red"><b>2</b> lines missed.</span>
1415
+ <b>19</b> relevant lines.
1416
+ <span class="green"><b>16</b> lines covered</span> and
1417
+ <span class="red"><b>3</b> lines missed.</span>
1178
1418
  </div>
1179
1419
  </div>
1180
1420
 
@@ -1184,7 +1424,7 @@
1184
1424
  <li class="covered" data-hits="1" data-linenumber="1">
1185
1425
  <span class="hits">1</span>
1186
1426
 
1187
- <code class="ruby">require 'mattock/tasklib'</code>
1427
+ <code class="ruby">require 'mattock/task'</code>
1188
1428
  </li>
1189
1429
 
1190
1430
  <li class="covered" data-hits="1" data-linenumber="2">
@@ -1208,280 +1448,172 @@
1208
1448
  <li class="covered" data-hits="1" data-linenumber="5">
1209
1449
  <span class="hits">1</span>
1210
1450
 
1211
- <code class="ruby"> module NeededPredicate</code>
1451
+ <code class="ruby"> class CommandTask &lt; Task</code>
1212
1452
  </li>
1213
1453
 
1214
1454
  <li class="covered" data-hits="1" data-linenumber="6">
1215
1455
  <span class="hits">1</span>
1216
1456
 
1217
- <code class="ruby"> def needed_predicate(&amp;block)</code>
1457
+ <code class="ruby"> setting(:task_name, :run)</code>
1218
1458
  </li>
1219
1459
 
1220
- <li class="covered" data-hits="2" data-linenumber="7">
1221
- <span class="hits">2</span>
1460
+ <li class="covered" data-hits="1" data-linenumber="7">
1461
+ <span class="hits">1</span>
1222
1462
 
1223
- <code class="ruby"> (class &lt;&lt; self; self; end).instance_eval do</code>
1463
+ <code class="ruby"> setting(:command)</code>
1224
1464
  </li>
1225
1465
 
1226
1466
  <li class="covered" data-hits="1" data-linenumber="8">
1227
1467
  <span class="hits">1</span>
1228
1468
 
1229
- <code class="ruby"> define_method(:needed?, &amp;block)</code>
1469
+ <code class="ruby"> setting(:verify_command, nil)</code>
1230
1470
  </li>
1231
1471
 
1232
1472
  <li class="never" data-hits="" data-linenumber="9">
1233
1473
 
1234
1474
 
1235
- <code class="ruby"> end</code>
1475
+ <code class="ruby"></code>
1236
1476
  </li>
1237
1477
 
1238
- <li class="never" data-hits="" data-linenumber="10">
1239
-
1478
+ <li class="covered" data-hits="1" data-linenumber="10">
1479
+ <span class="hits">1</span>
1240
1480
 
1241
- <code class="ruby"> end</code>
1481
+ <code class="ruby"> def verify_command</code>
1242
1482
  </li>
1243
1483
 
1244
- <li class="never" data-hits="" data-linenumber="11">
1245
-
1484
+ <li class="covered" data-hits="4" data-linenumber="11">
1485
+ <span class="hits">4</span>
1246
1486
 
1247
- <code class="ruby"> end</code>
1487
+ <code class="ruby"> if @verify_command.respond_to?(:call)</code>
1248
1488
  </li>
1249
1489
 
1250
- <li class="never" data-hits="" data-linenumber="12">
1490
+ <li class="missed" data-hits="0" data-linenumber="12">
1251
1491
 
1252
1492
 
1253
- <code class="ruby"></code>
1493
+ <code class="ruby"> @verify_command = @verify_command.call</code>
1254
1494
  </li>
1255
1495
 
1256
- <li class="covered" data-hits="1" data-linenumber="13">
1257
- <span class="hits">1</span>
1258
-
1259
- <code class="ruby"> class CommandTask &lt; TaskLib</code>
1260
- </li>
1261
-
1262
- <li class="covered" data-hits="1" data-linenumber="14">
1263
- <span class="hits">1</span>
1264
-
1265
- <code class="ruby"> setting(:task_name, :run)</code>
1266
- </li>
1267
-
1268
- <li class="covered" data-hits="1" data-linenumber="15">
1269
- <span class="hits">1</span>
1270
-
1271
- <code class="ruby"> setting(:command)</code>
1272
- </li>
1273
-
1274
- <li class="covered" data-hits="1" data-linenumber="16">
1275
- <span class="hits">1</span>
1276
-
1277
- <code class="ruby"> setting(:verify_command, nil)</code>
1278
- </li>
1279
-
1280
- <li class="never" data-hits="" data-linenumber="17">
1281
-
1282
-
1283
- <code class="ruby"></code>
1284
- </li>
1285
-
1286
- <li class="covered" data-hits="1" data-linenumber="18">
1287
- <span class="hits">1</span>
1288
-
1289
- <code class="ruby"> def verify_command</code>
1290
- </li>
1291
-
1292
- <li class="covered" data-hits="3" data-linenumber="19">
1293
- <span class="hits">3</span>
1294
-
1295
- <code class="ruby"> if @verify_command.respond_to?(:call)</code>
1296
- </li>
1297
-
1298
- <li class="missed" data-hits="0" data-linenumber="20">
1299
-
1300
-
1301
- <code class="ruby"> @verify_command = @verify_command.call</code>
1302
- </li>
1303
-
1304
- <li class="never" data-hits="" data-linenumber="21">
1496
+ <li class="never" data-hits="" data-linenumber="13">
1305
1497
 
1306
1498
 
1307
1499
  <code class="ruby"> end</code>
1308
1500
  </li>
1309
1501
 
1310
- <li class="covered" data-hits="3" data-linenumber="22">
1311
- <span class="hits">3</span>
1502
+ <li class="covered" data-hits="4" data-linenumber="14">
1503
+ <span class="hits">4</span>
1312
1504
 
1313
1505
  <code class="ruby"> @verify_command</code>
1314
1506
  </li>
1315
1507
 
1316
- <li class="never" data-hits="" data-linenumber="23">
1508
+ <li class="never" data-hits="" data-linenumber="15">
1317
1509
 
1318
1510
 
1319
1511
  <code class="ruby"> end</code>
1320
1512
  </li>
1321
1513
 
1322
- <li class="never" data-hits="" data-linenumber="24">
1514
+ <li class="never" data-hits="" data-linenumber="16">
1323
1515
 
1324
1516
 
1325
1517
  <code class="ruby"></code>
1326
1518
  </li>
1327
1519
 
1328
- <li class="covered" data-hits="1" data-linenumber="25">
1520
+ <li class="covered" data-hits="1" data-linenumber="17">
1329
1521
  <span class="hits">1</span>
1330
1522
 
1331
1523
  <code class="ruby"> def decorated(cmd)</code>
1332
1524
  </li>
1333
1525
 
1334
- <li class="missed" data-hits="0" data-linenumber="26">
1526
+ <li class="missed" data-hits="0" data-linenumber="18">
1335
1527
 
1336
1528
 
1337
1529
  <code class="ruby"> cmd</code>
1338
1530
  </li>
1339
1531
 
1340
- <li class="never" data-hits="" data-linenumber="27">
1532
+ <li class="never" data-hits="" data-linenumber="19">
1341
1533
 
1342
1534
 
1343
1535
  <code class="ruby"> end</code>
1344
1536
  </li>
1345
1537
 
1346
- <li class="never" data-hits="" data-linenumber="28">
1538
+ <li class="never" data-hits="" data-linenumber="20">
1347
1539
 
1348
1540
 
1349
1541
  <code class="ruby"></code>
1350
1542
  </li>
1351
1543
 
1352
- <li class="covered" data-hits="1" data-linenumber="29">
1353
- <span class="hits">1</span>
1354
-
1355
- <code class="ruby"> def command_task</code>
1356
- </li>
1357
-
1358
- <li class="never" data-hits="" data-linenumber="30">
1359
-
1360
-
1361
- <code class="ruby"> @command_task ||=</code>
1362
- </li>
1363
-
1364
- <li class="never" data-hits="" data-linenumber="31">
1365
-
1366
-
1367
- <code class="ruby"> begin</code>
1368
- </li>
1369
-
1370
- <li class="covered" data-hits="1" data-linenumber="32">
1544
+ <li class="covered" data-hits="1" data-linenumber="21">
1371
1545
  <span class="hits">1</span>
1372
1546
 
1373
- <code class="ruby"> task task_name do</code>
1547
+ <code class="ruby"> def action</code>
1374
1548
  </li>
1375
1549
 
1376
- <li class="covered" data-hits="1" data-linenumber="33">
1550
+ <li class="covered" data-hits="1" data-linenumber="22">
1377
1551
  <span class="hits">1</span>
1378
1552
 
1379
- <code class="ruby"> decorated(command).must_succeed!</code>
1380
- </li>
1381
-
1382
- <li class="never" data-hits="" data-linenumber="34">
1383
-
1384
-
1385
- <code class="ruby"> end</code>
1386
- </li>
1387
-
1388
- <li class="covered" data-hits="3" data-linenumber="35">
1389
- <span class="hits">3</span>
1390
-
1391
- <code class="ruby"> end</code>
1553
+ <code class="ruby"> decorated(command).must_succeed!</code>
1392
1554
  </li>
1393
1555
 
1394
- <li class="never" data-hits="" data-linenumber="36">
1556
+ <li class="never" data-hits="" data-linenumber="23">
1395
1557
 
1396
1558
 
1397
1559
  <code class="ruby"> end</code>
1398
1560
  </li>
1399
1561
 
1400
- <li class="never" data-hits="" data-linenumber="37">
1562
+ <li class="never" data-hits="" data-linenumber="24">
1401
1563
 
1402
1564
 
1403
1565
  <code class="ruby"></code>
1404
1566
  </li>
1405
1567
 
1406
- <li class="covered" data-hits="1" data-linenumber="38">
1407
- <span class="hits">1</span>
1408
-
1409
- <code class="ruby"> def define</code>
1410
- </li>
1411
-
1412
- <li class="covered" data-hits="1" data-linenumber="39">
1413
- <span class="hits">1</span>
1414
-
1415
- <code class="ruby"> in_namespace do</code>
1416
- </li>
1417
-
1418
- <li class="covered" data-hits="1" data-linenumber="40">
1419
- <span class="hits">1</span>
1420
-
1421
- <code class="ruby"> command_task</code>
1422
- </li>
1423
-
1424
- <li class="covered" data-hits="1" data-linenumber="41">
1425
- <span class="hits">1</span>
1426
-
1427
- <code class="ruby"> unless verify_command.nil?</code>
1428
- </li>
1429
-
1430
- <li class="covered" data-hits="1" data-linenumber="42">
1431
- <span class="hits">1</span>
1432
-
1433
- <code class="ruby"> needed = decorated(verify_command)</code>
1434
- </li>
1435
-
1436
- <li class="covered" data-hits="1" data-linenumber="43">
1568
+ <li class="covered" data-hits="1" data-linenumber="25">
1437
1569
  <span class="hits">1</span>
1438
1570
 
1439
- <code class="ruby"> command_task.extend NeededPredicate</code>
1571
+ <code class="ruby"> def needed?</code>
1440
1572
  </li>
1441
1573
 
1442
- <li class="covered" data-hits="1" data-linenumber="44">
1574
+ <li class="covered" data-hits="1" data-linenumber="26">
1443
1575
  <span class="hits">1</span>
1444
1576
 
1445
- <code class="ruby"> command_task.needed_predicate do</code>
1577
+ <code class="ruby"> unless verify_command.nil?</code>
1446
1578
  </li>
1447
1579
 
1448
- <li class="covered" data-hits="1" data-linenumber="45">
1580
+ <li class="covered" data-hits="1" data-linenumber="27">
1449
1581
  <span class="hits">1</span>
1450
1582
 
1451
- <code class="ruby"> !needed.succeeds?</code>
1583
+ <code class="ruby"> !decorated(verify_command).succeeds?</code>
1452
1584
  </li>
1453
1585
 
1454
- <li class="never" data-hits="" data-linenumber="46">
1586
+ <li class="never" data-hits="" data-linenumber="28">
1455
1587
 
1456
1588
 
1457
- <code class="ruby"> end</code>
1589
+ <code class="ruby"> else</code>
1458
1590
  </li>
1459
1591
 
1460
- <li class="never" data-hits="" data-linenumber="47">
1592
+ <li class="missed" data-hits="0" data-linenumber="29">
1461
1593
 
1462
1594
 
1463
- <code class="ruby"> end</code>
1595
+ <code class="ruby"> super</code>
1464
1596
  </li>
1465
1597
 
1466
- <li class="never" data-hits="" data-linenumber="48">
1598
+ <li class="never" data-hits="" data-linenumber="30">
1467
1599
 
1468
1600
 
1469
1601
  <code class="ruby"> end</code>
1470
1602
  </li>
1471
1603
 
1472
- <li class="never" data-hits="" data-linenumber="49">
1604
+ <li class="never" data-hits="" data-linenumber="31">
1473
1605
 
1474
1606
 
1475
1607
  <code class="ruby"> end</code>
1476
1608
  </li>
1477
1609
 
1478
- <li class="never" data-hits="" data-linenumber="50">
1610
+ <li class="never" data-hits="" data-linenumber="32">
1479
1611
 
1480
1612
 
1481
1613
  <code class="ruby"> end</code>
1482
1614
  </li>
1483
1615
 
1484
- <li class="never" data-hits="" data-linenumber="51">
1616
+ <li class="never" data-hits="" data-linenumber="33">
1485
1617
 
1486
1618
 
1487
1619
  <code class="ruby">end</code>
@@ -1494,11 +1626,11 @@
1494
1626
  <div class="source_table" id="151b5abc8f09f0fc2932ac98c07e3b516a518e3e">
1495
1627
  <div class="header">
1496
1628
  <h3>lib/mattock/configurable.rb</h3>
1497
- <h4><span class="green">98.7 %</span> covered</h4>
1629
+ <h4><span class="green">96.67 %</span> covered</h4>
1498
1630
  <div>
1499
- <b>77</b> relevant lines.
1500
- <span class="green"><b>76</b> lines covered</span> and
1501
- <span class="red"><b>1</b> lines missed.</span>
1631
+ <b>90</b> relevant lines.
1632
+ <span class="green"><b>87</b> lines covered</span> and
1633
+ <span class="red"><b>3</b> lines missed.</span>
1502
1634
  </div>
1503
1635
  </div>
1504
1636
 
@@ -1607,8 +1739,8 @@
1607
1739
  <code class="ruby"> def default_values</code>
1608
1740
  </li>
1609
1741
 
1610
- <li class="covered" data-hits="92" data-linenumber="18">
1611
- <span class="hits">92</span>
1742
+ <li class="covered" data-hits="97" data-linenumber="18">
1743
+ <span class="hits">97</span>
1612
1744
 
1613
1745
  <code class="ruby"> @default_values ||= {}</code>
1614
1746
  </li>
@@ -1655,14 +1787,14 @@
1655
1787
  <code class="ruby"> default_values.each_pair do |name,value|</code>
1656
1788
  </li>
1657
1789
 
1658
- <li class="covered" data-hits="42" data-linenumber="26">
1659
- <span class="hits">42</span>
1790
+ <li class="covered" data-hits="43" data-linenumber="26">
1791
+ <span class="hits">43</span>
1660
1792
 
1661
1793
  <code class="ruby"> instance.__send__(&quot;#{name}=&quot;, value)</code>
1662
1794
  </li>
1663
1795
 
1664
- <li class="covered" data-hits="42" data-linenumber="27">
1665
- <span class="hits">42</span>
1796
+ <li class="covered" data-hits="43" data-linenumber="27">
1797
+ <span class="hits">43</span>
1666
1798
 
1667
1799
  <code class="ruby"> if Configurable === value</code>
1668
1800
  </li>
@@ -1733,14 +1865,14 @@
1733
1865
  <code class="ruby"> default_values.each_pair do |name,value|</code>
1734
1866
  </li>
1735
1867
 
1736
- <li class="covered" data-hits="35" data-linenumber="39">
1737
- <span class="hits">35</span>
1868
+ <li class="covered" data-hits="36" data-linenumber="39">
1869
+ <span class="hits">36</span>
1738
1870
 
1739
1871
  <code class="ruby"> set_value = instance.__send__(name)</code>
1740
1872
  </li>
1741
1873
 
1742
- <li class="covered" data-hits="35" data-linenumber="40">
1743
- <span class="hits">35</span>
1874
+ <li class="covered" data-hits="36" data-linenumber="40">
1875
+ <span class="hits">36</span>
1744
1876
 
1745
1877
  <code class="ruby"> if value == RequiredField and set_value == RequiredField</code>
1746
1878
  </li>
@@ -1763,8 +1895,8 @@
1763
1895
  <code class="ruby"> end</code>
1764
1896
  </li>
1765
1897
 
1766
- <li class="covered" data-hits="32" data-linenumber="44">
1767
- <span class="hits">32</span>
1898
+ <li class="covered" data-hits="33" data-linenumber="44">
1899
+ <span class="hits">33</span>
1768
1900
 
1769
1901
  <code class="ruby"> if Configurable === set_value</code>
1770
1902
  </li>
@@ -1820,460 +1952,604 @@
1820
1952
  <li class="covered" data-hits="1" data-linenumber="53">
1821
1953
  <span class="hits">1</span>
1822
1954
 
1955
+ <code class="ruby"> def copy_settings(from, to)</code>
1956
+ </li>
1957
+
1958
+ <li class="covered" data-hits="3" data-linenumber="54">
1959
+ <span class="hits">3</span>
1960
+
1961
+ <code class="ruby"> if Configurable &gt; superclass</code>
1962
+ </li>
1963
+
1964
+ <li class="covered" data-hits="2" data-linenumber="55">
1965
+ <span class="hits">2</span>
1966
+
1967
+ <code class="ruby"> superclass.copy_settings(from, to)</code>
1968
+ </li>
1969
+
1970
+ <li class="never" data-hits="" data-linenumber="56">
1971
+
1972
+
1973
+ <code class="ruby"> end</code>
1974
+ </li>
1975
+
1976
+ <li class="covered" data-hits="3" data-linenumber="57">
1977
+ <span class="hits">3</span>
1978
+
1979
+ <code class="ruby"> default_values.keys.each do |field|</code>
1980
+ </li>
1981
+
1982
+ <li class="covered" data-hits="8" data-linenumber="58">
1983
+ <span class="hits">8</span>
1984
+
1985
+ <code class="ruby"> begin</code>
1986
+ </li>
1987
+
1988
+ <li class="covered" data-hits="8" data-linenumber="59">
1989
+ <span class="hits">8</span>
1990
+
1991
+ <code class="ruby"> to.__send__(&quot;#{field}=&quot;, from.__send__(field))</code>
1992
+ </li>
1993
+
1994
+ <li class="never" data-hits="" data-linenumber="60">
1995
+
1996
+
1997
+ <code class="ruby"> rescue NoMethodError</code>
1998
+ </li>
1999
+
2000
+ <li class="never" data-hits="" data-linenumber="61">
2001
+
2002
+
2003
+ <code class="ruby"> #shrug it off</code>
2004
+ </li>
2005
+
2006
+ <li class="never" data-hits="" data-linenumber="62">
2007
+
2008
+
2009
+ <code class="ruby"> end</code>
2010
+ </li>
2011
+
2012
+ <li class="never" data-hits="" data-linenumber="63">
2013
+
2014
+
2015
+ <code class="ruby"> end</code>
2016
+ </li>
2017
+
2018
+ <li class="never" data-hits="" data-linenumber="64">
2019
+
2020
+
2021
+ <code class="ruby"> end</code>
2022
+ </li>
2023
+
2024
+ <li class="never" data-hits="" data-linenumber="65">
2025
+
2026
+
2027
+ <code class="ruby"></code>
2028
+ </li>
2029
+
2030
+ <li class="covered" data-hits="1" data-linenumber="66">
2031
+ <span class="hits">1</span>
2032
+
1823
2033
  <code class="ruby"> def nested(hash=nil)</code>
1824
2034
  </li>
1825
2035
 
1826
- <li class="covered" data-hits="2" data-linenumber="54">
2036
+ <li class="covered" data-hits="2" data-linenumber="67">
1827
2037
  <span class="hits">2</span>
1828
2038
 
1829
2039
  <code class="ruby"> obj = Class.new(Struct).new</code>
1830
2040
  </li>
1831
2041
 
1832
- <li class="covered" data-hits="2" data-linenumber="55">
2042
+ <li class="covered" data-hits="2" data-linenumber="68">
1833
2043
  <span class="hits">2</span>
1834
2044
 
1835
2045
  <code class="ruby"> obj.settings(hash || {})</code>
1836
2046
  </li>
1837
2047
 
1838
- <li class="covered" data-hits="2" data-linenumber="56">
2048
+ <li class="covered" data-hits="2" data-linenumber="69">
1839
2049
  <span class="hits">2</span>
1840
2050
 
1841
2051
  <code class="ruby"> return obj</code>
1842
2052
  </li>
1843
2053
 
1844
- <li class="never" data-hits="" data-linenumber="57">
2054
+ <li class="never" data-hits="" data-linenumber="70">
1845
2055
 
1846
2056
 
1847
2057
  <code class="ruby"> end</code>
1848
2058
  </li>
1849
2059
 
1850
- <li class="never" data-hits="" data-linenumber="58">
2060
+ <li class="never" data-hits="" data-linenumber="71">
1851
2061
 
1852
2062
 
1853
2063
  <code class="ruby"></code>
1854
2064
  </li>
1855
2065
 
1856
- <li class="covered" data-hits="1" data-linenumber="59">
2066
+ <li class="covered" data-hits="1" data-linenumber="72">
1857
2067
  <span class="hits">1</span>
1858
2068
 
1859
2069
  <code class="ruby"> def nil_fields(*names)</code>
1860
2070
  </li>
1861
2071
 
1862
- <li class="covered" data-hits="2" data-linenumber="60">
2072
+ <li class="covered" data-hits="2" data-linenumber="73">
1863
2073
  <span class="hits">2</span>
1864
2074
 
1865
2075
  <code class="ruby"> names.each do |name|</code>
1866
2076
  </li>
1867
2077
 
1868
- <li class="covered" data-hits="3" data-linenumber="61">
2078
+ <li class="covered" data-hits="3" data-linenumber="74">
1869
2079
  <span class="hits">3</span>
1870
2080
 
1871
2081
  <code class="ruby"> setting(name, nil)</code>
1872
2082
  </li>
1873
2083
 
1874
- <li class="never" data-hits="" data-linenumber="62">
2084
+ <li class="never" data-hits="" data-linenumber="75">
1875
2085
 
1876
2086
 
1877
2087
  <code class="ruby"> end</code>
1878
2088
  </li>
1879
2089
 
1880
- <li class="never" data-hits="" data-linenumber="63">
2090
+ <li class="never" data-hits="" data-linenumber="76">
1881
2091
 
1882
2092
 
1883
2093
  <code class="ruby"> end</code>
1884
2094
  </li>
1885
2095
 
1886
- <li class="covered" data-hits="1" data-linenumber="64">
2096
+ <li class="covered" data-hits="1" data-linenumber="77">
1887
2097
  <span class="hits">1</span>
1888
2098
 
1889
2099
  <code class="ruby"> alias nil_field nil_fields</code>
1890
2100
  </li>
1891
2101
 
1892
- <li class="never" data-hits="" data-linenumber="65">
2102
+ <li class="never" data-hits="" data-linenumber="78">
1893
2103
 
1894
2104
 
1895
2105
  <code class="ruby"></code>
1896
2106
  </li>
1897
2107
 
1898
- <li class="covered" data-hits="1" data-linenumber="66">
2108
+ <li class="covered" data-hits="1" data-linenumber="79">
1899
2109
  <span class="hits">1</span>
1900
2110
 
1901
2111
  <code class="ruby"> def required_fields(*names)</code>
1902
2112
  </li>
1903
2113
 
1904
- <li class="covered" data-hits="2" data-linenumber="67">
2114
+ <li class="covered" data-hits="2" data-linenumber="80">
1905
2115
  <span class="hits">2</span>
1906
2116
 
1907
2117
  <code class="ruby"> names.each do |name|</code>
1908
2118
  </li>
1909
2119
 
1910
- <li class="covered" data-hits="2" data-linenumber="68">
2120
+ <li class="covered" data-hits="2" data-linenumber="81">
1911
2121
  <span class="hits">2</span>
1912
2122
 
1913
2123
  <code class="ruby"> setting(name)</code>
1914
2124
  </li>
1915
2125
 
1916
- <li class="never" data-hits="" data-linenumber="69">
2126
+ <li class="never" data-hits="" data-linenumber="82">
1917
2127
 
1918
2128
 
1919
2129
  <code class="ruby"> end</code>
1920
2130
  </li>
1921
2131
 
1922
- <li class="never" data-hits="" data-linenumber="70">
2132
+ <li class="never" data-hits="" data-linenumber="83">
1923
2133
 
1924
2134
 
1925
2135
  <code class="ruby"> end</code>
1926
2136
  </li>
1927
2137
 
1928
- <li class="covered" data-hits="1" data-linenumber="71">
2138
+ <li class="covered" data-hits="1" data-linenumber="84">
1929
2139
  <span class="hits">1</span>
1930
2140
 
1931
2141
  <code class="ruby"> alias required_field required_fields</code>
1932
2142
  </li>
1933
2143
 
1934
- <li class="never" data-hits="" data-linenumber="72">
2144
+ <li class="never" data-hits="" data-linenumber="85">
1935
2145
 
1936
2146
 
1937
2147
  <code class="ruby"></code>
1938
2148
  </li>
1939
2149
 
1940
- <li class="covered" data-hits="1" data-linenumber="73">
2150
+ <li class="covered" data-hits="1" data-linenumber="86">
1941
2151
  <span class="hits">1</span>
1942
2152
 
1943
2153
  <code class="ruby"> def setting(name, default_value = RequiredField)</code>
1944
2154
  </li>
1945
2155
 
1946
- <li class="covered" data-hits="17" data-linenumber="74">
1947
- <span class="hits">17</span>
2156
+ <li class="covered" data-hits="18" data-linenumber="87">
2157
+ <span class="hits">18</span>
1948
2158
 
1949
2159
  <code class="ruby"> name = name.to_sym</code>
1950
2160
  </li>
1951
2161
 
1952
- <li class="covered" data-hits="17" data-linenumber="75">
1953
- <span class="hits">17</span>
2162
+ <li class="covered" data-hits="18" data-linenumber="88">
2163
+ <span class="hits">18</span>
1954
2164
 
1955
2165
  <code class="ruby"> attr_accessor(name)</code>
1956
2166
  </li>
1957
2167
 
1958
- <li class="covered" data-hits="17" data-linenumber="76">
1959
- <span class="hits">17</span>
2168
+ <li class="covered" data-hits="18" data-linenumber="89">
2169
+ <span class="hits">18</span>
1960
2170
 
1961
2171
  <code class="ruby"> if default_values.has_key?(name) and default_values[name] != default_value</code>
1962
2172
  </li>
1963
2173
 
1964
- <li class="missed" data-hits="0" data-linenumber="77">
2174
+ <li class="missed" data-hits="0" data-linenumber="90">
1965
2175
 
1966
2176
 
1967
2177
  <code class="ruby"> warn &quot;Changing default value of #{self.name}##{name} from #{default_values[name].inspect} to #{default_value.inspect}&quot;</code>
1968
2178
  </li>
1969
2179
 
1970
- <li class="never" data-hits="" data-linenumber="78">
2180
+ <li class="never" data-hits="" data-linenumber="91">
1971
2181
 
1972
2182
 
1973
2183
  <code class="ruby"> end</code>
1974
2184
  </li>
1975
2185
 
1976
- <li class="covered" data-hits="17" data-linenumber="79">
1977
- <span class="hits">17</span>
2186
+ <li class="covered" data-hits="18" data-linenumber="92">
2187
+ <span class="hits">18</span>
1978
2188
 
1979
2189
  <code class="ruby"> default_values[name] = default_value</code>
1980
2190
  </li>
1981
2191
 
1982
- <li class="never" data-hits="" data-linenumber="80">
2192
+ <li class="never" data-hits="" data-linenumber="93">
1983
2193
 
1984
2194
 
1985
2195
  <code class="ruby"> end</code>
1986
2196
  </li>
1987
2197
 
1988
- <li class="never" data-hits="" data-linenumber="81">
2198
+ <li class="never" data-hits="" data-linenumber="94">
1989
2199
 
1990
2200
 
1991
2201
  <code class="ruby"></code>
1992
2202
  </li>
1993
2203
 
1994
- <li class="covered" data-hits="1" data-linenumber="82">
2204
+ <li class="covered" data-hits="1" data-linenumber="95">
1995
2205
  <span class="hits">1</span>
1996
2206
 
1997
2207
  <code class="ruby"> def settings(hash)</code>
1998
2208
  </li>
1999
2209
 
2000
- <li class="covered" data-hits="1" data-linenumber="83">
2210
+ <li class="covered" data-hits="1" data-linenumber="96">
2001
2211
  <span class="hits">1</span>
2002
2212
 
2003
2213
  <code class="ruby"> hash.each_pair do |name, value|</code>
2004
2214
  </li>
2005
2215
 
2006
- <li class="covered" data-hits="2" data-linenumber="84">
2216
+ <li class="covered" data-hits="2" data-linenumber="97">
2007
2217
  <span class="hits">2</span>
2008
2218
 
2009
2219
  <code class="ruby"> setting(name, value)</code>
2010
2220
  </li>
2011
2221
 
2012
- <li class="never" data-hits="" data-linenumber="85">
2222
+ <li class="never" data-hits="" data-linenumber="98">
2013
2223
 
2014
2224
 
2015
2225
  <code class="ruby"> end</code>
2016
2226
  </li>
2017
2227
 
2018
- <li class="covered" data-hits="1" data-linenumber="86">
2228
+ <li class="covered" data-hits="1" data-linenumber="99">
2019
2229
  <span class="hits">1</span>
2020
2230
 
2021
2231
  <code class="ruby"> return self</code>
2022
2232
  </li>
2023
2233
 
2024
- <li class="never" data-hits="" data-linenumber="87">
2234
+ <li class="never" data-hits="" data-linenumber="100">
2025
2235
 
2026
2236
 
2027
2237
  <code class="ruby"> end</code>
2028
2238
  </li>
2029
2239
 
2030
- <li class="never" data-hits="" data-linenumber="88">
2031
-
2032
-
2033
- <code class="ruby"> end</code>
2034
- </li>
2035
-
2036
- <li class="never" data-hits="" data-linenumber="89">
2240
+ <li class="never" data-hits="" data-linenumber="101">
2037
2241
 
2038
2242
 
2039
2243
  <code class="ruby"></code>
2040
2244
  </li>
2041
2245
 
2042
- <li class="covered" data-hits="1" data-linenumber="90">
2246
+ <li class="covered" data-hits="1" data-linenumber="102">
2043
2247
  <span class="hits">1</span>
2044
2248
 
2045
- <code class="ruby"> def self.included(mod)</code>
2249
+ <code class="ruby"> def included(mod)</code>
2046
2250
  </li>
2047
2251
 
2048
- <li class="covered" data-hits="3" data-linenumber="91">
2049
- <span class="hits">3</span>
2252
+ <li class="covered" data-hits="5" data-linenumber="103">
2253
+ <span class="hits">5</span>
2050
2254
 
2051
- <code class="ruby"> mod.extend ClassMethods</code>
2255
+ <code class="ruby"> mod.extend ClassMethods</code>
2052
2256
  </li>
2053
2257
 
2054
- <li class="never" data-hits="" data-linenumber="92">
2258
+ <li class="never" data-hits="" data-linenumber="104">
2055
2259
 
2056
2260
 
2057
- <code class="ruby"> end</code>
2261
+ <code class="ruby"> end</code>
2058
2262
  </li>
2059
2263
 
2060
- <li class="never" data-hits="" data-linenumber="93">
2264
+ <li class="never" data-hits="" data-linenumber="105">
2265
+
2266
+
2267
+ <code class="ruby"> end</code>
2268
+ </li>
2269
+
2270
+ <li class="covered" data-hits="1" data-linenumber="106">
2271
+ <span class="hits">1</span>
2272
+
2273
+ <code class="ruby"> extend ClassMethods</code>
2274
+ </li>
2275
+
2276
+ <li class="never" data-hits="" data-linenumber="107">
2277
+
2278
+
2279
+ <code class="ruby"></code>
2280
+ </li>
2281
+
2282
+ <li class="covered" data-hits="1" data-linenumber="108">
2283
+ <span class="hits">1</span>
2284
+
2285
+ <code class="ruby"> def copy_settings_to(other)</code>
2286
+ </li>
2287
+
2288
+ <li class="covered" data-hits="1" data-linenumber="109">
2289
+ <span class="hits">1</span>
2290
+
2291
+ <code class="ruby"> self.class.copy_settings(self, other)</code>
2292
+ </li>
2293
+
2294
+ <li class="never" data-hits="" data-linenumber="110">
2295
+
2296
+
2297
+ <code class="ruby"> end</code>
2298
+ </li>
2299
+
2300
+ <li class="never" data-hits="" data-linenumber="111">
2061
2301
 
2062
2302
 
2063
2303
  <code class="ruby"></code>
2064
2304
  </li>
2065
2305
 
2066
- <li class="covered" data-hits="1" data-linenumber="94">
2306
+ <li class="covered" data-hits="1" data-linenumber="112">
2067
2307
  <span class="hits">1</span>
2068
2308
 
2069
2309
  <code class="ruby"> def setup_defaults</code>
2070
2310
  </li>
2071
2311
 
2072
- <li class="covered" data-hits="10" data-linenumber="95">
2312
+ <li class="covered" data-hits="10" data-linenumber="113">
2073
2313
  <span class="hits">10</span>
2074
2314
 
2075
2315
  <code class="ruby"> self.class.set_defaults_on(self)</code>
2076
2316
  </li>
2077
2317
 
2078
- <li class="covered" data-hits="10" data-linenumber="96">
2318
+ <li class="covered" data-hits="10" data-linenumber="114">
2079
2319
  <span class="hits">10</span>
2080
2320
 
2081
2321
  <code class="ruby"> self</code>
2082
2322
  </li>
2083
2323
 
2084
- <li class="never" data-hits="" data-linenumber="97">
2324
+ <li class="never" data-hits="" data-linenumber="115">
2085
2325
 
2086
2326
 
2087
2327
  <code class="ruby"> end</code>
2088
2328
  </li>
2089
2329
 
2090
- <li class="never" data-hits="" data-linenumber="98">
2330
+ <li class="never" data-hits="" data-linenumber="116">
2091
2331
 
2092
2332
 
2093
2333
  <code class="ruby"></code>
2094
2334
  </li>
2095
2335
 
2096
- <li class="covered" data-hits="1" data-linenumber="99">
2336
+ <li class="covered" data-hits="1" data-linenumber="117">
2097
2337
  <span class="hits">1</span>
2098
2338
 
2099
2339
  <code class="ruby"> def check_required</code>
2100
2340
  </li>
2101
2341
 
2102
- <li class="covered" data-hits="9" data-linenumber="100">
2342
+ <li class="covered" data-hits="9" data-linenumber="118">
2103
2343
  <span class="hits">9</span>
2104
2344
 
2105
2345
  <code class="ruby"> missing = self.class.missing_required_fields_on(self)</code>
2106
2346
  </li>
2107
2347
 
2108
- <li class="covered" data-hits="9" data-linenumber="101">
2348
+ <li class="covered" data-hits="9" data-linenumber="119">
2109
2349
  <span class="hits">9</span>
2110
2350
 
2111
2351
  <code class="ruby"> unless missing.empty?</code>
2112
2352
  </li>
2113
2353
 
2114
- <li class="covered" data-hits="2" data-linenumber="102">
2115
- <span class="hits">2</span>
2354
+ <li class="covered" data-hits="5" data-linenumber="120">
2355
+ <span class="hits">5</span>
2116
2356
 
2117
- <code class="ruby"> raise &quot;Required field#{missing.length &gt; 1 ? &quot;s&quot; : &quot;&quot;} #{missing.join(&quot;, &quot;)} unset on #{self.inspect}&quot;</code>
2357
+ <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>
2118
2358
  </li>
2119
2359
 
2120
- <li class="never" data-hits="" data-linenumber="103">
2360
+ <li class="never" data-hits="" data-linenumber="121">
2121
2361
 
2122
2362
 
2123
2363
  <code class="ruby"> end</code>
2124
2364
  </li>
2125
2365
 
2126
- <li class="covered" data-hits="7" data-linenumber="104">
2366
+ <li class="covered" data-hits="7" data-linenumber="122">
2127
2367
  <span class="hits">7</span>
2128
2368
 
2129
2369
  <code class="ruby"> self</code>
2130
2370
  </li>
2131
2371
 
2132
- <li class="never" data-hits="" data-linenumber="105">
2372
+ <li class="never" data-hits="" data-linenumber="123">
2133
2373
 
2134
2374
 
2135
2375
  <code class="ruby"> end</code>
2136
2376
  </li>
2137
2377
 
2138
- <li class="never" data-hits="" data-linenumber="106">
2378
+ <li class="never" data-hits="" data-linenumber="124">
2139
2379
 
2140
2380
 
2141
2381
  <code class="ruby"></code>
2142
2382
  </li>
2143
2383
 
2144
- <li class="covered" data-hits="1" data-linenumber="107">
2384
+ <li class="covered" data-hits="1" data-linenumber="125">
2145
2385
  <span class="hits">1</span>
2146
2386
 
2147
2387
  <code class="ruby"> def setting(name, default_value = nil)</code>
2148
2388
  </li>
2149
2389
 
2150
- <li class="covered" data-hits="3" data-linenumber="108">
2390
+ <li class="covered" data-hits="3" data-linenumber="126">
2151
2391
  <span class="hits">3</span>
2152
2392
 
2153
2393
  <code class="ruby"> self.class.setting(name, default_value)</code>
2154
2394
  </li>
2155
2395
 
2156
- <li class="covered" data-hits="3" data-linenumber="109">
2396
+ <li class="covered" data-hits="3" data-linenumber="127">
2157
2397
  <span class="hits">3</span>
2158
2398
 
2159
2399
  <code class="ruby"> instance_variable_set(&quot;@#{name}&quot;, default_value)</code>
2160
2400
  </li>
2161
2401
 
2162
- <li class="never" data-hits="" data-linenumber="110">
2402
+ <li class="never" data-hits="" data-linenumber="128">
2163
2403
 
2164
2404
 
2165
2405
  <code class="ruby"> end</code>
2166
2406
  </li>
2167
2407
 
2168
- <li class="never" data-hits="" data-linenumber="111">
2408
+ <li class="never" data-hits="" data-linenumber="129">
2169
2409
 
2170
2410
 
2171
2411
  <code class="ruby"></code>
2172
2412
  </li>
2173
2413
 
2174
- <li class="covered" data-hits="1" data-linenumber="112">
2414
+ <li class="covered" data-hits="1" data-linenumber="130">
2175
2415
  <span class="hits">1</span>
2176
2416
 
2177
2417
  <code class="ruby"> def settings(hash)</code>
2178
2418
  </li>
2179
2419
 
2180
- <li class="covered" data-hits="2" data-linenumber="113">
2420
+ <li class="covered" data-hits="2" data-linenumber="131">
2181
2421
  <span class="hits">2</span>
2182
2422
 
2183
2423
  <code class="ruby"> hash.each_pair do |name, value|</code>
2184
2424
  </li>
2185
2425
 
2186
- <li class="covered" data-hits="3" data-linenumber="114">
2426
+ <li class="covered" data-hits="3" data-linenumber="132">
2187
2427
  <span class="hits">3</span>
2188
2428
 
2189
2429
  <code class="ruby"> setting(name, value)</code>
2190
2430
  </li>
2191
2431
 
2192
- <li class="never" data-hits="" data-linenumber="115">
2432
+ <li class="never" data-hits="" data-linenumber="133">
2193
2433
 
2194
2434
 
2195
2435
  <code class="ruby"> end</code>
2196
2436
  </li>
2197
2437
 
2198
- <li class="covered" data-hits="2" data-linenumber="116">
2438
+ <li class="covered" data-hits="2" data-linenumber="134">
2199
2439
  <span class="hits">2</span>
2200
2440
 
2201
2441
  <code class="ruby"> return self</code>
2202
2442
  </li>
2203
2443
 
2204
- <li class="never" data-hits="" data-linenumber="117">
2444
+ <li class="never" data-hits="" data-linenumber="135">
2205
2445
 
2206
2446
 
2207
2447
  <code class="ruby"> end</code>
2208
2448
  </li>
2209
2449
 
2210
- <li class="never" data-hits="" data-linenumber="118">
2450
+ <li class="never" data-hits="" data-linenumber="136">
2211
2451
 
2212
2452
 
2213
2453
  <code class="ruby"></code>
2214
2454
  </li>
2215
2455
 
2216
- <li class="covered" data-hits="1" data-linenumber="119">
2456
+ <li class="covered" data-hits="1" data-linenumber="137">
2217
2457
  <span class="hits">1</span>
2218
2458
 
2219
2459
  <code class="ruby"> def required_fields(*names)</code>
2220
2460
  </li>
2221
2461
 
2222
- <li class="covered" data-hits="1" data-linenumber="120">
2462
+ <li class="covered" data-hits="1" data-linenumber="138">
2223
2463
  <span class="hits">1</span>
2224
2464
 
2225
2465
  <code class="ruby"> self.class.required_fields(*names)</code>
2226
2466
  </li>
2227
2467
 
2228
- <li class="covered" data-hits="1" data-linenumber="121">
2468
+ <li class="covered" data-hits="1" data-linenumber="139">
2229
2469
  <span class="hits">1</span>
2230
2470
 
2231
2471
  <code class="ruby"> self</code>
2232
2472
  </li>
2233
2473
 
2234
- <li class="never" data-hits="" data-linenumber="122">
2474
+ <li class="never" data-hits="" data-linenumber="140">
2235
2475
 
2236
2476
 
2237
2477
  <code class="ruby"> end</code>
2238
2478
  </li>
2239
2479
 
2240
- <li class="covered" data-hits="1" data-linenumber="123">
2480
+ <li class="covered" data-hits="1" data-linenumber="141">
2241
2481
  <span class="hits">1</span>
2242
2482
 
2243
2483
  <code class="ruby"> alias required_field required_fields</code>
2244
2484
  </li>
2245
2485
 
2246
- <li class="never" data-hits="" data-linenumber="124">
2486
+ <li class="never" data-hits="" data-linenumber="142">
2247
2487
 
2248
2488
 
2249
2489
  <code class="ruby"></code>
2250
2490
  </li>
2251
2491
 
2252
- <li class="covered" data-hits="1" data-linenumber="125">
2492
+ <li class="covered" data-hits="1" data-linenumber="143">
2493
+ <span class="hits">1</span>
2494
+
2495
+ <code class="ruby"> def nil_fields(*names)</code>
2496
+ </li>
2497
+
2498
+ <li class="missed" data-hits="0" data-linenumber="144">
2499
+
2500
+
2501
+ <code class="ruby"> self.class.nil_fields(*names)</code>
2502
+ </li>
2503
+
2504
+ <li class="missed" data-hits="0" data-linenumber="145">
2505
+
2506
+
2507
+ <code class="ruby"> self</code>
2508
+ </li>
2509
+
2510
+ <li class="never" data-hits="" data-linenumber="146">
2511
+
2512
+
2513
+ <code class="ruby"> end</code>
2514
+ </li>
2515
+
2516
+ <li class="covered" data-hits="1" data-linenumber="147">
2517
+ <span class="hits">1</span>
2518
+
2519
+ <code class="ruby"> alias nil_field nil_fields</code>
2520
+ </li>
2521
+
2522
+ <li class="never" data-hits="" data-linenumber="148">
2523
+
2524
+
2525
+ <code class="ruby"></code>
2526
+ </li>
2527
+
2528
+ <li class="covered" data-hits="1" data-linenumber="149">
2253
2529
  <span class="hits">1</span>
2254
2530
 
2255
2531
  <code class="ruby"> class Struct</code>
2256
2532
  </li>
2257
2533
 
2258
- <li class="covered" data-hits="1" data-linenumber="126">
2534
+ <li class="covered" data-hits="1" data-linenumber="150">
2259
2535
  <span class="hits">1</span>
2260
2536
 
2261
2537
  <code class="ruby"> include Configurable</code>
2262
2538
  </li>
2263
2539
 
2264
- <li class="never" data-hits="" data-linenumber="127">
2540
+ <li class="never" data-hits="" data-linenumber="151">
2265
2541
 
2266
2542
 
2267
2543
  <code class="ruby"> end</code>
2268
2544
  </li>
2269
2545
 
2270
- <li class="never" data-hits="" data-linenumber="128">
2546
+ <li class="never" data-hits="" data-linenumber="152">
2271
2547
 
2272
2548
 
2273
2549
  <code class="ruby"> end</code>
2274
2550
  </li>
2275
2551
 
2276
- <li class="never" data-hits="" data-linenumber="129">
2552
+ <li class="never" data-hits="" data-linenumber="153">
2277
2553
 
2278
2554
 
2279
2555
  <code class="ruby">end</code>
@@ -2481,13 +2757,13 @@
2481
2757
  </pre>
2482
2758
  </div>
2483
2759
 
2484
- <div class="source_table" id="a2c73f0ba96e60116ee8696673802b6ebaddc38c">
2760
+ <div class="source_table" id="7cc8f09739f0b95d0fd16321baf73b5d3c6eb35b">
2485
2761
  <div class="header">
2486
- <h3>lib/mattock/tasklib.rb</h3>
2487
- <h4><span class="green">97.5 %</span> covered</h4>
2762
+ <h3>lib/mattock/task.rb</h3>
2763
+ <h4><span class="green">94.74 %</span> covered</h4>
2488
2764
  <div>
2489
- <b>40</b> relevant lines.
2490
- <span class="green"><b>39</b> lines covered</span> and
2765
+ <b>19</b> relevant lines.
2766
+ <span class="green"><b>18</b> lines covered</span> and
2491
2767
  <span class="red"><b>1</b> lines missed.</span>
2492
2768
  </div>
2493
2769
  </div>
@@ -2498,91 +2774,91 @@
2498
2774
  <li class="covered" data-hits="1" data-linenumber="1">
2499
2775
  <span class="hits">1</span>
2500
2776
 
2501
- <code class="ruby">require 'ostruct'</code>
2777
+ <code class="ruby">require 'mattock/cascading-definition'</code>
2502
2778
  </li>
2503
2779
 
2504
2780
  <li class="covered" data-hits="1" data-linenumber="2">
2505
2781
  <span class="hits">1</span>
2506
2782
 
2507
- <code class="ruby">require 'rake/tasklib'</code>
2508
- </li>
2509
-
2510
- <li class="covered" data-hits="1" data-linenumber="3">
2511
- <span class="hits">1</span>
2512
-
2513
- <code class="ruby">require 'mattock/configurable'</code>
2783
+ <code class="ruby">require 'rake/task'</code>
2514
2784
  </li>
2515
2785
 
2516
- <li class="never" data-hits="" data-linenumber="4">
2786
+ <li class="never" data-hits="" data-linenumber="3">
2517
2787
 
2518
2788
 
2519
2789
  <code class="ruby"></code>
2520
2790
  </li>
2521
2791
 
2522
- <li class="covered" data-hits="1" data-linenumber="5">
2792
+ <li class="covered" data-hits="1" data-linenumber="4">
2523
2793
  <span class="hits">1</span>
2524
2794
 
2525
2795
  <code class="ruby">module Mattock</code>
2526
2796
  </li>
2527
2797
 
2528
- <li class="covered" data-hits="1" data-linenumber="6">
2798
+ <li class="covered" data-hits="1" data-linenumber="5">
2529
2799
  <span class="hits">1</span>
2530
2800
 
2531
- <code class="ruby"> class TaskLib &lt; Rake::TaskLib</code>
2801
+ <code class="ruby"> class Task &lt; Rake::Task</code>
2532
2802
  </li>
2533
2803
 
2534
- <li class="covered" data-hits="1" data-linenumber="7">
2804
+ <li class="covered" data-hits="1" data-linenumber="6">
2535
2805
  <span class="hits">1</span>
2536
2806
 
2537
- <code class="ruby"> include Configurable</code>
2807
+ <code class="ruby"> include CascadingDefinition</code>
2538
2808
  </li>
2539
2809
 
2540
- <li class="never" data-hits="" data-linenumber="8">
2810
+ <li class="never" data-hits="" data-linenumber="7">
2541
2811
 
2542
2812
 
2543
2813
  <code class="ruby"></code>
2544
2814
  </li>
2545
2815
 
2546
- <li class="covered" data-hits="1" data-linenumber="9">
2816
+ <li class="covered" data-hits="1" data-linenumber="8">
2547
2817
  <span class="hits">1</span>
2548
2818
 
2549
- <code class="ruby"> attr_writer :namespace_name</code>
2819
+ <code class="ruby"> setting :task_name</code>
2550
2820
  </li>
2551
2821
 
2552
- <li class="covered" data-hits="1" data-linenumber="10">
2553
- <span class="hits">1</span>
2822
+ <li class="never" data-hits="" data-linenumber="9">
2554
2823
 
2555
- <code class="ruby"> def self.default_namespace(name)</code>
2824
+
2825
+ <code class="ruby"></code>
2556
2826
  </li>
2557
2827
 
2558
- <li class="covered" data-hits="1" data-linenumber="11">
2828
+ <li class="covered" data-hits="1" data-linenumber="10">
2559
2829
  <span class="hits">1</span>
2560
2830
 
2561
- <code class="ruby"> setting(:namespace_name, name)</code>
2831
+ <code class="ruby"> def action</code>
2562
2832
  </li>
2563
2833
 
2564
- <li class="never" data-hits="" data-linenumber="12">
2834
+ <li class="never" data-hits="" data-linenumber="11">
2565
2835
 
2566
2836
 
2567
2837
  <code class="ruby"> end</code>
2568
2838
  </li>
2569
2839
 
2570
- <li class="never" data-hits="" data-linenumber="13">
2840
+ <li class="never" data-hits="" data-linenumber="12">
2571
2841
 
2572
2842
 
2573
2843
  <code class="ruby"></code>
2574
2844
  </li>
2575
2845
 
2846
+ <li class="covered" data-hits="1" data-linenumber="13">
2847
+ <span class="hits">1</span>
2848
+
2849
+ <code class="ruby"> def task_args</code>
2850
+ </li>
2851
+
2576
2852
  <li class="covered" data-hits="1" data-linenumber="14">
2577
2853
  <span class="hits">1</span>
2578
2854
 
2579
- <code class="ruby"> def initialize(*tasklibs)</code>
2855
+ <code class="ruby"> [task_name]</code>
2580
2856
  </li>
2581
2857
 
2582
- <li class="covered" data-hits="6" data-linenumber="15">
2583
- <span class="hits">6</span>
2858
+ <li class="never" data-hits="" data-linenumber="15">
2584
2859
 
2585
- <code class="ruby"> @tasks = []</code>
2860
+
2861
+ <code class="ruby"> end</code>
2586
2862
  </li>
2587
2863
 
2588
2864
  <li class="never" data-hits="" data-linenumber="16">
@@ -2591,64 +2867,64 @@
2591
2867
  <code class="ruby"></code>
2592
2868
  </li>
2593
2869
 
2594
- <li class="covered" data-hits="6" data-linenumber="17">
2595
- <span class="hits">6</span>
2870
+ <li class="covered" data-hits="1" data-linenumber="17">
2871
+ <span class="hits">1</span>
2596
2872
 
2597
- <code class="ruby"> default_configuration(*tasklibs)</code>
2873
+ <code class="ruby"> def task_class</code>
2598
2874
  </li>
2599
2875
 
2600
- <li class="never" data-hits="" data-linenumber="18">
2601
-
2876
+ <li class="covered" data-hits="1" data-linenumber="18">
2877
+ <span class="hits">1</span>
2602
2878
 
2603
- <code class="ruby"></code>
2879
+ <code class="ruby"> return @task_class if @task_class</code>
2604
2880
  </li>
2605
2881
 
2606
- <li class="covered" data-hits="6" data-linenumber="19">
2607
- <span class="hits">6</span>
2882
+ <li class="covered" data-hits="1" data-linenumber="19">
2883
+ <span class="hits">1</span>
2608
2884
 
2609
- <code class="ruby"> yield self if block_given?</code>
2885
+ <code class="ruby"> @task_class = Class.new(self.class) do</code>
2610
2886
  </li>
2611
2887
 
2612
- <li class="never" data-hits="" data-linenumber="20">
2613
-
2888
+ <li class="covered" data-hits="1" data-linenumber="20">
2889
+ <span class="hits">1</span>
2614
2890
 
2615
- <code class="ruby"></code>
2891
+ <code class="ruby"> define_method :initialize, Rake::Task.instance_method(:initialize)</code>
2616
2892
  </li>
2617
2893
 
2618
- <li class="covered" data-hits="6" data-linenumber="21">
2619
- <span class="hits">6</span>
2894
+ <li class="never" data-hits="" data-linenumber="21">
2620
2895
 
2621
- <code class="ruby"> resolve_configuration</code>
2896
+
2897
+ <code class="ruby"> end</code>
2622
2898
  </li>
2623
2899
 
2624
2900
  <li class="never" data-hits="" data-linenumber="22">
2625
2901
 
2626
2902
 
2627
- <code class="ruby"></code>
2903
+ <code class="ruby"> end</code>
2628
2904
  </li>
2629
2905
 
2630
- <li class="covered" data-hits="6" data-linenumber="23">
2631
- <span class="hits">6</span>
2906
+ <li class="never" data-hits="" data-linenumber="23">
2632
2907
 
2633
- <code class="ruby"> define</code>
2908
+
2909
+ <code class="ruby"></code>
2634
2910
  </li>
2635
2911
 
2636
- <li class="never" data-hits="" data-linenumber="24">
2637
-
2912
+ <li class="covered" data-hits="1" data-linenumber="24">
2913
+ <span class="hits">1</span>
2638
2914
 
2639
- <code class="ruby"> end</code>
2915
+ <code class="ruby"> def inspect</code>
2640
2916
  </li>
2641
2917
 
2642
- <li class="never" data-hits="" data-linenumber="25">
2918
+ <li class="missed" data-hits="0" data-linenumber="25">
2643
2919
 
2644
2920
 
2645
- <code class="ruby"></code>
2921
+ <code class="ruby"> &quot;Mattock::Task&quot;</code>
2646
2922
  </li>
2647
2923
 
2648
- <li class="covered" data-hits="1" data-linenumber="26">
2649
- <span class="hits">1</span>
2924
+ <li class="never" data-hits="" data-linenumber="26">
2650
2925
 
2651
- <code class="ruby"> attr_reader :tasks</code>
2926
+
2927
+ <code class="ruby"> end</code>
2652
2928
  </li>
2653
2929
 
2654
2930
  <li class="never" data-hits="" data-linenumber="27">
@@ -2660,292 +2936,406 @@
2660
2936
  <li class="covered" data-hits="1" data-linenumber="28">
2661
2937
  <span class="hits">1</span>
2662
2938
 
2663
- <code class="ruby"> def task(*args)</code>
2939
+ <code class="ruby"> def define</code>
2664
2940
  </li>
2665
2941
 
2666
- <li class="covered" data-hits="11" data-linenumber="29">
2667
- <span class="hits">11</span>
2942
+ <li class="covered" data-hits="1" data-linenumber="29">
2943
+ <span class="hits">1</span>
2668
2944
 
2669
- <code class="ruby"> a_task = super</code>
2945
+ <code class="ruby"> task =task_class.define_task(*task_args) do</code>
2670
2946
  </li>
2671
2947
 
2672
- <li class="covered" data-hits="11" data-linenumber="30">
2673
- <span class="hits">11</span>
2948
+ <li class="covered" data-hits="1" data-linenumber="30">
2949
+ <span class="hits">1</span>
2674
2950
 
2675
- <code class="ruby"> @tasks &lt;&lt; a_task</code>
2951
+ <code class="ruby"> action</code>
2676
2952
  </li>
2677
2953
 
2678
- <li class="covered" data-hits="11" data-linenumber="31">
2679
- <span class="hits">11</span>
2954
+ <li class="never" data-hits="" data-linenumber="31">
2680
2955
 
2681
- <code class="ruby"> return a_task</code>
2956
+
2957
+ <code class="ruby"> end</code>
2682
2958
  </li>
2683
2959
 
2684
- <li class="never" data-hits="" data-linenumber="32">
2685
-
2960
+ <li class="covered" data-hits="1" data-linenumber="32">
2961
+ <span class="hits">1</span>
2686
2962
 
2687
- <code class="ruby"> end</code>
2963
+ <code class="ruby"> copy_settings_to(task)</code>
2688
2964
  </li>
2689
2965
 
2690
2966
  <li class="never" data-hits="" data-linenumber="33">
2691
2967
 
2692
2968
 
2693
- <code class="ruby"></code>
2969
+ <code class="ruby"> end</code>
2694
2970
  </li>
2695
2971
 
2696
- <li class="covered" data-hits="1" data-linenumber="34">
2697
- <span class="hits">1</span>
2972
+ <li class="never" data-hits="" data-linenumber="34">
2698
2973
 
2699
- <code class="ruby"> def default_configuration(*tasklibs)</code>
2974
+
2975
+ <code class="ruby"> end</code>
2700
2976
  </li>
2701
2977
 
2702
- <li class="covered" data-hits="6" data-linenumber="35">
2703
- <span class="hits">6</span>
2978
+ <li class="never" data-hits="" data-linenumber="35">
2704
2979
 
2705
- <code class="ruby"> setup_defaults</code>
2980
+
2981
+ <code class="ruby">end</code>
2706
2982
  </li>
2707
2983
 
2708
- <li class="never" data-hits="" data-linenumber="36">
2984
+ </ol>
2985
+ </pre>
2986
+ </div>
2987
+
2988
+ <div class="source_table" id="a2c73f0ba96e60116ee8696673802b6ebaddc38c">
2989
+ <div class="header">
2990
+ <h3>lib/mattock/tasklib.rb</h3>
2991
+ <h4><span class="green">96.77 %</span> covered</h4>
2992
+ <div>
2993
+ <b>31</b> relevant lines.
2994
+ <span class="green"><b>30</b> lines covered</span> and
2995
+ <span class="red"><b>1</b> lines missed.</span>
2996
+ </div>
2997
+ </div>
2998
+
2999
+ <pre>
3000
+ <ol>
3001
+
3002
+ <li class="covered" data-hits="1" data-linenumber="1">
3003
+ <span class="hits">1</span>
2709
3004
 
3005
+ <code class="ruby">require 'rake/tasklib'</code>
3006
+ </li>
3007
+
3008
+ <li class="covered" data-hits="1" data-linenumber="2">
3009
+ <span class="hits">1</span>
2710
3010
 
2711
- <code class="ruby"> end</code>
3011
+ <code class="ruby">require 'mattock/cascading-definition'</code>
2712
3012
  </li>
2713
3013
 
2714
- <li class="never" data-hits="" data-linenumber="37">
3014
+ <li class="never" data-hits="" data-linenumber="3">
2715
3015
 
2716
3016
 
2717
3017
  <code class="ruby"></code>
2718
3018
  </li>
2719
3019
 
2720
- <li class="covered" data-hits="1" data-linenumber="38">
3020
+ <li class="covered" data-hits="1" data-linenumber="4">
2721
3021
  <span class="hits">1</span>
2722
3022
 
2723
- <code class="ruby"> def resolve_configuration</code>
3023
+ <code class="ruby">module Mattock</code>
2724
3024
  </li>
2725
3025
 
2726
- <li class="covered" data-hits="6" data-linenumber="39">
2727
- <span class="hits">6</span>
3026
+ <li class="covered" data-hits="1" data-linenumber="5">
3027
+ <span class="hits">1</span>
2728
3028
 
2729
- <code class="ruby"> check_required</code>
3029
+ <code class="ruby"> class TaskLib &lt; Rake::TaskLib</code>
2730
3030
  </li>
2731
3031
 
2732
- <li class="never" data-hits="" data-linenumber="40">
2733
-
3032
+ <li class="covered" data-hits="1" data-linenumber="6">
3033
+ <span class="hits">1</span>
2734
3034
 
2735
- <code class="ruby"> end</code>
3035
+ <code class="ruby"> include CascadingDefinition</code>
2736
3036
  </li>
2737
3037
 
2738
- <li class="never" data-hits="" data-linenumber="41">
3038
+ <li class="never" data-hits="" data-linenumber="7">
2739
3039
 
2740
3040
 
2741
3041
  <code class="ruby"></code>
2742
3042
  </li>
2743
3043
 
2744
- <li class="covered" data-hits="1" data-linenumber="42">
3044
+ <li class="covered" data-hits="1" data-linenumber="8">
2745
3045
  <span class="hits">1</span>
2746
3046
 
2747
- <code class="ruby"> def define</code>
3047
+ <code class="ruby"> attr_writer :namespace_name</code>
2748
3048
  </li>
2749
3049
 
2750
- <li class="never" data-hits="" data-linenumber="43">
3050
+ <li class="covered" data-hits="1" data-linenumber="9">
3051
+ <span class="hits">1</span>
3052
+
3053
+ <code class="ruby"> def self.default_namespace(name)</code>
3054
+ </li>
3055
+
3056
+ <li class="covered" data-hits="1" data-linenumber="10">
3057
+ <span class="hits">1</span>
3058
+
3059
+ <code class="ruby"> setting(:namespace_name, name)</code>
3060
+ </li>
3061
+
3062
+ <li class="never" data-hits="" data-linenumber="11">
2751
3063
 
2752
3064
 
2753
3065
  <code class="ruby"> end</code>
2754
3066
  </li>
2755
3067
 
2756
- <li class="never" data-hits="" data-linenumber="44">
3068
+ <li class="never" data-hits="" data-linenumber="12">
2757
3069
 
2758
3070
 
2759
3071
  <code class="ruby"></code>
2760
3072
  </li>
2761
3073
 
2762
- <li class="covered" data-hits="1" data-linenumber="45">
3074
+ <li class="covered" data-hits="1" data-linenumber="13">
3075
+ <span class="hits">1</span>
3076
+
3077
+ <code class="ruby"> attr_reader :tasks</code>
3078
+ </li>
3079
+
3080
+ <li class="never" data-hits="" data-linenumber="14">
3081
+
3082
+
3083
+ <code class="ruby"></code>
3084
+ </li>
3085
+
3086
+ <li class="covered" data-hits="1" data-linenumber="15">
3087
+ <span class="hits">1</span>
3088
+
3089
+ <code class="ruby"> def initialize(*toolkits)</code>
3090
+ </li>
3091
+
3092
+ <li class="covered" data-hits="5" data-linenumber="16">
3093
+ <span class="hits">5</span>
3094
+
3095
+ <code class="ruby"> @tasks = []</code>
3096
+ </li>
3097
+
3098
+ <li class="covered" data-hits="5" data-linenumber="17">
3099
+ <span class="hits">5</span>
3100
+
3101
+ <code class="ruby"> super</code>
3102
+ </li>
3103
+
3104
+ <li class="never" data-hits="" data-linenumber="18">
3105
+
3106
+
3107
+ <code class="ruby"> end</code>
3108
+ </li>
3109
+
3110
+ <li class="never" data-hits="" data-linenumber="19">
3111
+
3112
+
3113
+ <code class="ruby"></code>
3114
+ </li>
3115
+
3116
+ <li class="covered" data-hits="1" data-linenumber="20">
3117
+ <span class="hits">1</span>
3118
+
3119
+ <code class="ruby"> def task(*args)</code>
3120
+ </li>
3121
+
3122
+ <li class="covered" data-hits="10" data-linenumber="21">
3123
+ <span class="hits">10</span>
3124
+
3125
+ <code class="ruby"> a_task = super</code>
3126
+ </li>
3127
+
3128
+ <li class="covered" data-hits="10" data-linenumber="22">
3129
+ <span class="hits">10</span>
3130
+
3131
+ <code class="ruby"> @tasks &lt;&lt; a_task</code>
3132
+ </li>
3133
+
3134
+ <li class="covered" data-hits="10" data-linenumber="23">
3135
+ <span class="hits">10</span>
3136
+
3137
+ <code class="ruby"> return a_task</code>
3138
+ </li>
3139
+
3140
+ <li class="never" data-hits="" data-linenumber="24">
3141
+
3142
+
3143
+ <code class="ruby"> end</code>
3144
+ </li>
3145
+
3146
+ <li class="never" data-hits="" data-linenumber="25">
3147
+
3148
+
3149
+ <code class="ruby"></code>
3150
+ </li>
3151
+
3152
+ <li class="covered" data-hits="1" data-linenumber="26">
2763
3153
  <span class="hits">1</span>
2764
3154
 
2765
3155
  <code class="ruby"> def in_namespace(*tasknames)</code>
2766
3156
  </li>
2767
3157
 
2768
- <li class="covered" data-hits="11" data-linenumber="46">
2769
- <span class="hits">11</span>
3158
+ <li class="covered" data-hits="10" data-linenumber="27">
3159
+ <span class="hits">10</span>
2770
3160
 
2771
3161
  <code class="ruby"> if tasknames.empty?</code>
2772
3162
  </li>
2773
3163
 
2774
- <li class="covered" data-hits="6" data-linenumber="47">
2775
- <span class="hits">6</span>
3164
+ <li class="covered" data-hits="5" data-linenumber="28">
3165
+ <span class="hits">5</span>
2776
3166
 
2777
3167
  <code class="ruby"> if block_given?</code>
2778
3168
  </li>
2779
3169
 
2780
- <li class="covered" data-hits="6" data-linenumber="48">
2781
- <span class="hits">6</span>
3170
+ <li class="covered" data-hits="5" data-linenumber="29">
3171
+ <span class="hits">5</span>
2782
3172
 
2783
3173
  <code class="ruby"> if @namespace_name.nil?</code>
2784
3174
  </li>
2785
3175
 
2786
- <li class="missed" data-hits="0" data-linenumber="49">
3176
+ <li class="missed" data-hits="0" data-linenumber="30">
2787
3177
 
2788
3178
 
2789
3179
  <code class="ruby"> yield</code>
2790
3180
  </li>
2791
3181
 
2792
- <li class="never" data-hits="" data-linenumber="50">
3182
+ <li class="never" data-hits="" data-linenumber="31">
2793
3183
 
2794
3184
 
2795
3185
  <code class="ruby"> else</code>
2796
3186
  </li>
2797
3187
 
2798
- <li class="covered" data-hits="6" data-linenumber="51">
2799
- <span class="hits">6</span>
3188
+ <li class="covered" data-hits="5" data-linenumber="32">
3189
+ <span class="hits">5</span>
2800
3190
 
2801
3191
  <code class="ruby"> namespace @namespace_name do</code>
2802
3192
  </li>
2803
3193
 
2804
- <li class="covered" data-hits="6" data-linenumber="52">
2805
- <span class="hits">6</span>
3194
+ <li class="covered" data-hits="5" data-linenumber="33">
3195
+ <span class="hits">5</span>
2806
3196
 
2807
3197
  <code class="ruby"> yield</code>
2808
3198
  </li>
2809
3199
 
2810
- <li class="never" data-hits="" data-linenumber="53">
3200
+ <li class="never" data-hits="" data-linenumber="34">
2811
3201
 
2812
3202
 
2813
3203
  <code class="ruby"> end</code>
2814
3204
  </li>
2815
3205
 
2816
- <li class="never" data-hits="" data-linenumber="54">
3206
+ <li class="never" data-hits="" data-linenumber="35">
2817
3207
 
2818
3208
 
2819
3209
  <code class="ruby"> end</code>
2820
3210
  </li>
2821
3211
 
2822
- <li class="never" data-hits="" data-linenumber="55">
3212
+ <li class="never" data-hits="" data-linenumber="36">
2823
3213
 
2824
3214
 
2825
3215
  <code class="ruby"> end</code>
2826
3216
  </li>
2827
3217
 
2828
- <li class="never" data-hits="" data-linenumber="56">
3218
+ <li class="never" data-hits="" data-linenumber="37">
2829
3219
 
2830
3220
 
2831
3221
  <code class="ruby"> else</code>
2832
3222
  </li>
2833
3223
 
2834
- <li class="covered" data-hits="5" data-linenumber="57">
3224
+ <li class="covered" data-hits="5" data-linenumber="38">
2835
3225
  <span class="hits">5</span>
2836
3226
 
2837
3227
  <code class="ruby"> tasknames.map do |taskname|</code>
2838
3228
  </li>
2839
3229
 
2840
- <li class="covered" data-hits="5" data-linenumber="58">
3230
+ <li class="covered" data-hits="5" data-linenumber="39">
2841
3231
  <span class="hits">5</span>
2842
3232
 
2843
3233
  <code class="ruby"> [@namespace_name, taskname].compact.join(&quot;:&quot;)</code>
2844
3234
  </li>
2845
3235
 
2846
- <li class="never" data-hits="" data-linenumber="59">
3236
+ <li class="never" data-hits="" data-linenumber="40">
2847
3237
 
2848
3238
 
2849
3239
  <code class="ruby"> end</code>
2850
3240
  </li>
2851
3241
 
2852
- <li class="never" data-hits="" data-linenumber="60">
3242
+ <li class="never" data-hits="" data-linenumber="41">
2853
3243
 
2854
3244
 
2855
3245
  <code class="ruby"> end</code>
2856
3246
  </li>
2857
3247
 
2858
- <li class="never" data-hits="" data-linenumber="61">
3248
+ <li class="never" data-hits="" data-linenumber="42">
2859
3249
 
2860
3250
 
2861
3251
  <code class="ruby"> end</code>
2862
3252
  </li>
2863
3253
 
2864
- <li class="never" data-hits="" data-linenumber="62">
3254
+ <li class="never" data-hits="" data-linenumber="43">
2865
3255
 
2866
3256
 
2867
3257
  <code class="ruby"></code>
2868
3258
  </li>
2869
3259
 
2870
- <li class="covered" data-hits="1" data-linenumber="63">
3260
+ <li class="covered" data-hits="1" data-linenumber="44">
2871
3261
  <span class="hits">1</span>
2872
3262
 
2873
3263
  <code class="ruby"> def root_task</code>
2874
3264
  </li>
2875
3265
 
2876
- <li class="covered" data-hits="5" data-linenumber="64">
3266
+ <li class="covered" data-hits="5" data-linenumber="45">
2877
3267
  <span class="hits">5</span>
2878
3268
 
2879
3269
  <code class="ruby"> @namespace_name || :default</code>
2880
3270
  </li>
2881
3271
 
2882
- <li class="never" data-hits="" data-linenumber="65">
3272
+ <li class="never" data-hits="" data-linenumber="46">
2883
3273
 
2884
3274
 
2885
3275
  <code class="ruby"> end</code>
2886
3276
  </li>
2887
3277
 
2888
- <li class="never" data-hits="" data-linenumber="66">
3278
+ <li class="never" data-hits="" data-linenumber="47">
2889
3279
 
2890
3280
 
2891
3281
  <code class="ruby"></code>
2892
3282
  </li>
2893
3283
 
2894
- <li class="covered" data-hits="1" data-linenumber="67">
3284
+ <li class="covered" data-hits="1" data-linenumber="48">
2895
3285
  <span class="hits">1</span>
2896
3286
 
2897
3287
  <code class="ruby"> def default_namespace</code>
2898
3288
  </li>
2899
3289
 
2900
- <li class="never" data-hits="" data-linenumber="68">
3290
+ <li class="never" data-hits="" data-linenumber="49">
2901
3291
 
2902
3292
 
2903
3293
  <code class="ruby"> nil</code>
2904
3294
  </li>
2905
3295
 
2906
- <li class="never" data-hits="" data-linenumber="69">
3296
+ <li class="never" data-hits="" data-linenumber="50">
2907
3297
 
2908
3298
 
2909
3299
  <code class="ruby"> end</code>
2910
3300
  </li>
2911
3301
 
2912
- <li class="never" data-hits="" data-linenumber="70">
3302
+ <li class="never" data-hits="" data-linenumber="51">
2913
3303
 
2914
3304
 
2915
3305
  <code class="ruby"></code>
2916
3306
  </li>
2917
3307
 
2918
- <li class="covered" data-hits="1" data-linenumber="71">
3308
+ <li class="covered" data-hits="1" data-linenumber="52">
2919
3309
  <span class="hits">1</span>
2920
3310
 
2921
3311
  <code class="ruby"> def [](taskname)</code>
2922
3312
  </li>
2923
3313
 
2924
- <li class="covered" data-hits="5" data-linenumber="72">
3314
+ <li class="covered" data-hits="5" data-linenumber="53">
2925
3315
  <span class="hits">5</span>
2926
3316
 
2927
3317
  <code class="ruby"> in_namespace(taskname).first</code>
2928
3318
  </li>
2929
3319
 
2930
- <li class="never" data-hits="" data-linenumber="73">
3320
+ <li class="never" data-hits="" data-linenumber="54">
2931
3321
 
2932
3322
 
2933
3323
  <code class="ruby"> end</code>
2934
3324
  </li>
2935
3325
 
2936
- <li class="never" data-hits="" data-linenumber="74">
3326
+ <li class="never" data-hits="" data-linenumber="55">
2937
3327
 
2938
3328
 
2939
3329
  <code class="ruby"> end</code>
2940
3330
  </li>
2941
3331
 
2942
- <li class="covered" data-hits="1" data-linenumber="75">
3332
+ <li class="covered" data-hits="1" data-linenumber="56">
2943
3333
  <span class="hits">1</span>
2944
3334
 
2945
3335
  <code class="ruby"> Tasklib = TaskLib #Because I can never remember</code>
2946
3336
  </li>
2947
3337
 
2948
- <li class="never" data-hits="" data-linenumber="76">
3338
+ <li class="never" data-hits="" data-linenumber="57">
2949
3339
 
2950
3340
 
2951
3341
  <code class="ruby">end</code>
@@ -3300,11 +3690,11 @@
3300
3690
  <div class="source_table" id="d05b479afa4321ddf827a6b5af14020183ee07b9">
3301
3691
  <div class="header">
3302
3692
  <h3>lib/mattock/testing/mock-command-line.rb</h3>
3303
- <h4><span class="green">92.86 %</span> covered</h4>
3693
+ <h4><span class="green">94.44 %</span> covered</h4>
3304
3694
  <div>
3305
- <b>14</b> relevant lines.
3306
- <span class="green"><b>13</b> lines covered</span> and
3307
- <span class="red"><b>1</b> lines missed.</span>
3695
+ <b>36</b> relevant lines.
3696
+ <span class="green"><b>34</b> lines covered</span> and
3697
+ <span class="red"><b>2</b> lines missed.</span>
3308
3698
  </div>
3309
3699
  </div>
3310
3700
 
@@ -3464,166 +3854,412 @@
3464
3854
  <li class="never" data-hits="" data-linenumber="26">
3465
3855
 
3466
3856
 
3467
- <code class="ruby">end</code>
3468
- </li>
3469
-
3470
- </ol>
3471
- </pre>
3472
- </div>
3473
-
3474
- <div class="source_table" id="ba419266ded63c6767eeb8c594191949ebb1b061">
3475
- <div class="header">
3476
- <h3>lib/mattock/testing/rake-example-group.rb</h3>
3477
- <h4><span class="green">100.0 %</span> covered</h4>
3478
- <div>
3479
- <b>44</b> relevant lines.
3480
- <span class="green"><b>44</b> lines covered</span> and
3481
- <span class="red"><b>0</b> lines missed.</span>
3482
- </div>
3483
- </div>
3484
-
3485
- <pre>
3486
- <ol>
3487
-
3488
- <li class="covered" data-hits="1" data-linenumber="1">
3489
- <span class="hits">1</span>
3490
-
3491
- <code class="ruby">require 'rake'</code>
3492
- </li>
3493
-
3494
- <li class="never" data-hits="" data-linenumber="2">
3495
-
3496
-
3497
3857
  <code class="ruby"></code>
3498
3858
  </li>
3499
3859
 
3500
- <li class="covered" data-hits="1" data-linenumber="3">
3860
+ <li class="covered" data-hits="1" data-linenumber="27">
3501
3861
  <span class="hits">1</span>
3502
3862
 
3503
- <code class="ruby">module Mattock</code>
3863
+ <code class="ruby"> module CommandLineExampleGroup</code>
3504
3864
  </li>
3505
3865
 
3506
- <li class="covered" data-hits="1" data-linenumber="4">
3866
+ <li class="covered" data-hits="1" data-linenumber="28">
3507
3867
  <span class="hits">1</span>
3508
3868
 
3509
- <code class="ruby"> module RakeExampleGroup</code>
3869
+ <code class="ruby"> def self.included(group)</code>
3510
3870
  </li>
3511
3871
 
3512
- <li class="covered" data-hits="1" data-linenumber="5">
3872
+ <li class="covered" data-hits="1" data-linenumber="29">
3513
3873
  <span class="hits">1</span>
3514
3874
 
3515
- <code class="ruby"> SavedEnvironmentVariables = %w{APPDATA HOME HOMEDRIVE HOMEPATH RAKE_COLUMNS RAKE_SYSTEM RAKEOPT USERPROFILE}</code>
3875
+ <code class="ruby"> group.class_eval do</code>
3516
3876
  </li>
3517
3877
 
3518
- <li class="covered" data-hits="1" data-linenumber="6">
3878
+ <li class="covered" data-hits="1" data-linenumber="30">
3519
3879
  <span class="hits">1</span>
3520
3880
 
3521
- <code class="ruby"> DeletedEnvironmentVariables = %w{RAKE_COLUMNS RAKE_SYSTEM RAKEOPT}</code>
3881
+ <code class="ruby"> let :pairs do</code>
3522
3882
  </li>
3523
3883
 
3524
- <li class="covered" data-hits="1" data-linenumber="7">
3884
+ <li class="covered" data-hits="1" data-linenumber="31">
3525
3885
  <span class="hits">1</span>
3526
3886
 
3527
- <code class="ruby"> include Rake::DSL</code>
3887
+ <code class="ruby"> []</code>
3528
3888
  </li>
3529
3889
 
3530
- <li class="never" data-hits="" data-linenumber="8">
3890
+ <li class="never" data-hits="" data-linenumber="32">
3531
3891
 
3532
3892
 
3533
- <code class="ruby"> #include FileUtils</code>
3893
+ <code class="ruby"> end</code>
3534
3894
  </li>
3535
3895
 
3536
- <li class="never" data-hits="" data-linenumber="9">
3896
+ <li class="never" data-hits="" data-linenumber="33">
3537
3897
 
3538
3898
 
3539
3899
  <code class="ruby"></code>
3540
3900
  </li>
3541
3901
 
3542
- <li class="covered" data-hits="1" data-linenumber="10">
3902
+ <li class="covered" data-hits="1" data-linenumber="34">
3543
3903
  <span class="hits">1</span>
3544
3904
 
3545
- <code class="ruby"> class TaskManager</code>
3905
+ <code class="ruby"> before :each do</code>
3546
3906
  </li>
3547
3907
 
3548
- <li class="covered" data-hits="1" data-linenumber="11">
3908
+ <li class="covered" data-hits="1" data-linenumber="35">
3549
3909
  <span class="hits">1</span>
3550
3910
 
3551
- <code class="ruby"> include Rake::TaskManager</code>
3552
- </li>
3553
-
3554
- <li class="never" data-hits="" data-linenumber="12">
3555
-
3556
-
3557
- <code class="ruby"> end</code>
3911
+ <code class="ruby"> Mattock::CommandLine.should_receive(:execute) do |cmd|</code>
3558
3912
  </li>
3559
3913
 
3560
- <li class="never" data-hits="" data-linenumber="13">
3561
-
3914
+ <li class="covered" data-hits="2" data-linenumber="36">
3915
+ <span class="hits">2</span>
3562
3916
 
3563
- <code class="ruby"></code>
3917
+ <code class="ruby"> pattern, res = pairs.shift</code>
3564
3918
  </li>
3565
3919
 
3566
- <li class="covered" data-hits="1" data-linenumber="14">
3567
- <span class="hits">1</span>
3920
+ <li class="covered" data-hits="2" data-linenumber="37">
3921
+ <span class="hits">2</span>
3568
3922
 
3569
- <code class="ruby"> def self.included(mod)</code>
3923
+ <code class="ruby"> pattern =~ cmd</code>
3570
3924
  </li>
3571
3925
 
3572
- <li class="covered" data-hits="2" data-linenumber="15">
3926
+ <li class="covered" data-hits="2" data-linenumber="38">
3573
3927
  <span class="hits">2</span>
3574
3928
 
3575
- <code class="ruby"> mod.class_eval do</code>
3929
+ <code class="ruby"> Mattock::MockCommandResult.create(*res)</code>
3576
3930
  </li>
3577
3931
 
3578
- <li class="covered" data-hits="2" data-linenumber="16">
3579
- <span class="hits">2</span>
3932
+ <li class="never" data-hits="" data-linenumber="39">
3580
3933
 
3581
- <code class="ruby"> let! :rake do</code>
3934
+
3935
+ <code class="ruby"> end.any_number_of_times</code>
3582
3936
  </li>
3583
3937
 
3584
- <li class="covered" data-hits="6" data-linenumber="17">
3585
- <span class="hits">6</span>
3938
+ <li class="never" data-hits="" data-linenumber="40">
3586
3939
 
3587
- <code class="ruby"> Rake.application = Rake::Application.new</code>
3940
+
3941
+ <code class="ruby"> end</code>
3588
3942
  </li>
3589
3943
 
3590
- <li class="covered" data-hits="6" data-linenumber="18">
3591
- <span class="hits">6</span>
3944
+ <li class="never" data-hits="" data-linenumber="41">
3592
3945
 
3593
- <code class="ruby"> Rake::TaskManager.record_task_metadata = true</code>
3946
+
3947
+ <code class="ruby"></code>
3594
3948
  </li>
3595
3949
 
3596
- <li class="covered" data-hits="6" data-linenumber="19">
3597
- <span class="hits">6</span>
3950
+ <li class="covered" data-hits="1" data-linenumber="42">
3951
+ <span class="hits">1</span>
3598
3952
 
3599
- <code class="ruby"> RakeFileUtils.verbose_flag = false</code>
3953
+ <code class="ruby"> after :each do</code>
3600
3954
  </li>
3601
3955
 
3602
- <li class="covered" data-hits="6" data-linenumber="20">
3603
- <span class="hits">6</span>
3956
+ <li class="covered" data-hits="1" data-linenumber="43">
3957
+ <span class="hits">1</span>
3604
3958
 
3605
- <code class="ruby"> Rake.application</code>
3959
+ <code class="ruby"> pairs.should have_all_been_called</code>
3606
3960
  </li>
3607
3961
 
3608
- <li class="never" data-hits="" data-linenumber="21">
3962
+ <li class="never" data-hits="" data-linenumber="44">
3609
3963
 
3610
3964
 
3611
3965
  <code class="ruby"> end</code>
3612
3966
  </li>
3613
3967
 
3614
- <li class="never" data-hits="" data-linenumber="22">
3968
+ <li class="never" data-hits="" data-linenumber="45">
3615
3969
 
3616
3970
 
3617
- <code class="ruby"></code>
3971
+ <code class="ruby"> end</code>
3618
3972
  </li>
3619
3973
 
3620
- <li class="covered" data-hits="2" data-linenumber="23">
3621
- <span class="hits">2</span>
3974
+ <li class="never" data-hits="" data-linenumber="46">
3622
3975
 
3623
- <code class="ruby"> before :each do</code>
3976
+
3977
+ <code class="ruby"> end</code>
3624
3978
  </li>
3625
3979
 
3626
- <li class="covered" data-hits="6" data-linenumber="24">
3980
+ <li class="never" data-hits="" data-linenumber="47">
3981
+
3982
+
3983
+ <code class="ruby"></code>
3984
+ </li>
3985
+
3986
+ <li class="covered" data-hits="1" data-linenumber="48">
3987
+ <span class="hits">1</span>
3988
+
3989
+ <code class="ruby"> def expect_command(cmd, *result)</code>
3990
+ </li>
3991
+
3992
+ <li class="covered" data-hits="2" data-linenumber="49">
3993
+ <span class="hits">2</span>
3994
+
3995
+ <code class="ruby"> pairs &lt;&lt; [cmd, result]</code>
3996
+ </li>
3997
+
3998
+ <li class="never" data-hits="" data-linenumber="50">
3999
+
4000
+
4001
+ <code class="ruby"> end</code>
4002
+ </li>
4003
+
4004
+ <li class="never" data-hits="" data-linenumber="51">
4005
+
4006
+
4007
+ <code class="ruby"></code>
4008
+ </li>
4009
+
4010
+ <li class="covered" data-hits="1" data-linenumber="52">
4011
+ <span class="hits">1</span>
4012
+
4013
+ <code class="ruby"> module Matchers</code>
4014
+ </li>
4015
+
4016
+ <li class="covered" data-hits="1" data-linenumber="53">
4017
+ <span class="hits">1</span>
4018
+
4019
+ <code class="ruby"> extend RSpec::Matchers::DSL</code>
4020
+ </li>
4021
+
4022
+ <li class="never" data-hits="" data-linenumber="54">
4023
+
4024
+
4025
+ <code class="ruby"></code>
4026
+ </li>
4027
+
4028
+ <li class="covered" data-hits="1" data-linenumber="55">
4029
+ <span class="hits">1</span>
4030
+
4031
+ <code class="ruby"> define :have_all_been_called do</code>
4032
+ </li>
4033
+
4034
+ <li class="covered" data-hits="1" data-linenumber="56">
4035
+ <span class="hits">1</span>
4036
+
4037
+ <code class="ruby"> match do |list|</code>
4038
+ </li>
4039
+
4040
+ <li class="covered" data-hits="1" data-linenumber="57">
4041
+ <span class="hits">1</span>
4042
+
4043
+ <code class="ruby"> list.empty?</code>
4044
+ </li>
4045
+
4046
+ <li class="never" data-hits="" data-linenumber="58">
4047
+
4048
+
4049
+ <code class="ruby"> end</code>
4050
+ </li>
4051
+
4052
+ <li class="never" data-hits="" data-linenumber="59">
4053
+
4054
+
4055
+ <code class="ruby"></code>
4056
+ </li>
4057
+
4058
+ <li class="covered" data-hits="1" data-linenumber="60">
4059
+ <span class="hits">1</span>
4060
+
4061
+ <code class="ruby"> failure_message_for_should do |list|</code>
4062
+ </li>
4063
+
4064
+ <li class="missed" data-hits="0" data-linenumber="61">
4065
+
4066
+
4067
+ <code class="ruby"> &quot;Expected all commands to be run, but: #{list.map{|item| item[0].source.inspect}.join(&quot;, &quot;)} #{list.length &gt; 1 ? &quot;were&quot; : &quot;was&quot;} not.&quot;</code>
4068
+ </li>
4069
+
4070
+ <li class="never" data-hits="" data-linenumber="62">
4071
+
4072
+
4073
+ <code class="ruby"> end</code>
4074
+ </li>
4075
+
4076
+ <li class="never" data-hits="" data-linenumber="63">
4077
+
4078
+
4079
+ <code class="ruby"> end</code>
4080
+ </li>
4081
+
4082
+ <li class="never" data-hits="" data-linenumber="64">
4083
+
4084
+
4085
+ <code class="ruby"> end</code>
4086
+ </li>
4087
+
4088
+ <li class="covered" data-hits="1" data-linenumber="65">
4089
+ <span class="hits">1</span>
4090
+
4091
+ <code class="ruby"> include Matchers</code>
4092
+ </li>
4093
+
4094
+ <li class="never" data-hits="" data-linenumber="66">
4095
+
4096
+
4097
+ <code class="ruby"> end</code>
4098
+ </li>
4099
+
4100
+ <li class="never" data-hits="" data-linenumber="67">
4101
+
4102
+
4103
+ <code class="ruby">end</code>
4104
+ </li>
4105
+
4106
+ </ol>
4107
+ </pre>
4108
+ </div>
4109
+
4110
+ <div class="source_table" id="ba419266ded63c6767eeb8c594191949ebb1b061">
4111
+ <div class="header">
4112
+ <h3>lib/mattock/testing/rake-example-group.rb</h3>
4113
+ <h4><span class="green">100.0 %</span> covered</h4>
4114
+ <div>
4115
+ <b>44</b> relevant lines.
4116
+ <span class="green"><b>44</b> lines covered</span> and
4117
+ <span class="red"><b>0</b> lines missed.</span>
4118
+ </div>
4119
+ </div>
4120
+
4121
+ <pre>
4122
+ <ol>
4123
+
4124
+ <li class="covered" data-hits="1" data-linenumber="1">
4125
+ <span class="hits">1</span>
4126
+
4127
+ <code class="ruby">require 'rake'</code>
4128
+ </li>
4129
+
4130
+ <li class="never" data-hits="" data-linenumber="2">
4131
+
4132
+
4133
+ <code class="ruby"></code>
4134
+ </li>
4135
+
4136
+ <li class="covered" data-hits="1" data-linenumber="3">
4137
+ <span class="hits">1</span>
4138
+
4139
+ <code class="ruby">module Mattock</code>
4140
+ </li>
4141
+
4142
+ <li class="covered" data-hits="1" data-linenumber="4">
4143
+ <span class="hits">1</span>
4144
+
4145
+ <code class="ruby"> module RakeExampleGroup</code>
4146
+ </li>
4147
+
4148
+ <li class="covered" data-hits="1" data-linenumber="5">
4149
+ <span class="hits">1</span>
4150
+
4151
+ <code class="ruby"> SavedEnvironmentVariables = %w{APPDATA HOME HOMEDRIVE HOMEPATH RAKE_COLUMNS RAKE_SYSTEM RAKEOPT USERPROFILE}</code>
4152
+ </li>
4153
+
4154
+ <li class="covered" data-hits="1" data-linenumber="6">
4155
+ <span class="hits">1</span>
4156
+
4157
+ <code class="ruby"> DeletedEnvironmentVariables = %w{RAKE_COLUMNS RAKE_SYSTEM RAKEOPT}</code>
4158
+ </li>
4159
+
4160
+ <li class="covered" data-hits="1" data-linenumber="7">
4161
+ <span class="hits">1</span>
4162
+
4163
+ <code class="ruby"> include Rake::DSL</code>
4164
+ </li>
4165
+
4166
+ <li class="never" data-hits="" data-linenumber="8">
4167
+
4168
+
4169
+ <code class="ruby"> #include FileUtils</code>
4170
+ </li>
4171
+
4172
+ <li class="never" data-hits="" data-linenumber="9">
4173
+
4174
+
4175
+ <code class="ruby"></code>
4176
+ </li>
4177
+
4178
+ <li class="covered" data-hits="1" data-linenumber="10">
4179
+ <span class="hits">1</span>
4180
+
4181
+ <code class="ruby"> class TaskManager</code>
4182
+ </li>
4183
+
4184
+ <li class="covered" data-hits="1" data-linenumber="11">
4185
+ <span class="hits">1</span>
4186
+
4187
+ <code class="ruby"> include Rake::TaskManager</code>
4188
+ </li>
4189
+
4190
+ <li class="never" data-hits="" data-linenumber="12">
4191
+
4192
+
4193
+ <code class="ruby"> end</code>
4194
+ </li>
4195
+
4196
+ <li class="never" data-hits="" data-linenumber="13">
4197
+
4198
+
4199
+ <code class="ruby"></code>
4200
+ </li>
4201
+
4202
+ <li class="covered" data-hits="1" data-linenumber="14">
4203
+ <span class="hits">1</span>
4204
+
4205
+ <code class="ruby"> def self.included(mod)</code>
4206
+ </li>
4207
+
4208
+ <li class="covered" data-hits="2" data-linenumber="15">
4209
+ <span class="hits">2</span>
4210
+
4211
+ <code class="ruby"> mod.class_eval do</code>
4212
+ </li>
4213
+
4214
+ <li class="covered" data-hits="2" data-linenumber="16">
4215
+ <span class="hits">2</span>
4216
+
4217
+ <code class="ruby"> let! :rake do</code>
4218
+ </li>
4219
+
4220
+ <li class="covered" data-hits="6" data-linenumber="17">
4221
+ <span class="hits">6</span>
4222
+
4223
+ <code class="ruby"> Rake.application = Rake::Application.new</code>
4224
+ </li>
4225
+
4226
+ <li class="covered" data-hits="6" data-linenumber="18">
4227
+ <span class="hits">6</span>
4228
+
4229
+ <code class="ruby"> Rake::TaskManager.record_task_metadata = true</code>
4230
+ </li>
4231
+
4232
+ <li class="covered" data-hits="6" data-linenumber="19">
4233
+ <span class="hits">6</span>
4234
+
4235
+ <code class="ruby"> RakeFileUtils.verbose_flag = false</code>
4236
+ </li>
4237
+
4238
+ <li class="covered" data-hits="6" data-linenumber="20">
4239
+ <span class="hits">6</span>
4240
+
4241
+ <code class="ruby"> Rake.application</code>
4242
+ </li>
4243
+
4244
+ <li class="never" data-hits="" data-linenumber="21">
4245
+
4246
+
4247
+ <code class="ruby"> end</code>
4248
+ </li>
4249
+
4250
+ <li class="never" data-hits="" data-linenumber="22">
4251
+
4252
+
4253
+ <code class="ruby"></code>
4254
+ </li>
4255
+
4256
+ <li class="covered" data-hits="2" data-linenumber="23">
4257
+ <span class="hits">2</span>
4258
+
4259
+ <code class="ruby"> before :each do</code>
4260
+ </li>
4261
+
4262
+ <li class="covered" data-hits="6" data-linenumber="24">
3627
4263
  <span class="hits">6</span>
3628
4264
 
3629
4265
  <code class="ruby"> ARGV.clear</code>
@@ -3963,6 +4599,252 @@
3963
4599
  </pre>
3964
4600
  </div>
3965
4601
 
4602
+ <div class="source_table" id="b325ca10da29fcd26651ac26205d38639667a9a7">
4603
+ <div class="header">
4604
+ <h3>lib/mattock/testing/record-commands.rb</h3>
4605
+ <h4><span class="green">95.45 %</span> covered</h4>
4606
+ <div>
4607
+ <b>22</b> relevant lines.
4608
+ <span class="green"><b>21</b> lines covered</span> and
4609
+ <span class="red"><b>1</b> lines missed.</span>
4610
+ </div>
4611
+ </div>
4612
+
4613
+ <pre>
4614
+ <ol>
4615
+
4616
+ <li class="covered" data-hits="1" data-linenumber="1">
4617
+ <span class="hits">1</span>
4618
+
4619
+ <code class="ruby">require 'mattock/command-line'</code>
4620
+ </li>
4621
+
4622
+ <li class="never" data-hits="" data-linenumber="2">
4623
+
4624
+
4625
+ <code class="ruby"></code>
4626
+ </li>
4627
+
4628
+ <li class="covered" data-hits="1" data-linenumber="3">
4629
+ <span class="hits">1</span>
4630
+
4631
+ <code class="ruby">module Mattock</code>
4632
+ </li>
4633
+
4634
+ <li class="covered" data-hits="1" data-linenumber="4">
4635
+ <span class="hits">1</span>
4636
+
4637
+ <code class="ruby"> class CommandLine</code>
4638
+ </li>
4639
+
4640
+ <li class="covered" data-hits="1" data-linenumber="5">
4641
+ <span class="hits">1</span>
4642
+
4643
+ <code class="ruby"> @@commands = []</code>
4644
+ </li>
4645
+
4646
+ <li class="covered" data-hits="1" data-linenumber="6">
4647
+ <span class="hits">1</span>
4648
+
4649
+ <code class="ruby"> class &lt;&lt; self</code>
4650
+ </li>
4651
+
4652
+ <li class="covered" data-hits="1" data-linenumber="7">
4653
+ <span class="hits">1</span>
4654
+
4655
+ <code class="ruby"> alias original_execute execute</code>
4656
+ </li>
4657
+
4658
+ <li class="never" data-hits="" data-linenumber="8">
4659
+
4660
+
4661
+ <code class="ruby"></code>
4662
+ </li>
4663
+
4664
+ <li class="covered" data-hits="1" data-linenumber="9">
4665
+ <span class="hits">1</span>
4666
+
4667
+ <code class="ruby"> def execute(command)</code>
4668
+ </li>
4669
+
4670
+ <li class="covered" data-hits="5" data-linenumber="10">
4671
+ <span class="hits">5</span>
4672
+
4673
+ <code class="ruby"> result = original_execute(command)</code>
4674
+ </li>
4675
+
4676
+ <li class="covered" data-hits="5" data-linenumber="11">
4677
+ <span class="hits">5</span>
4678
+
4679
+ <code class="ruby"> @@commands &lt;&lt; [command, result]</code>
4680
+ </li>
4681
+
4682
+ <li class="covered" data-hits="5" data-linenumber="12">
4683
+ <span class="hits">5</span>
4684
+
4685
+ <code class="ruby"> return result</code>
4686
+ </li>
4687
+
4688
+ <li class="never" data-hits="" data-linenumber="13">
4689
+
4690
+
4691
+ <code class="ruby"> end</code>
4692
+ </li>
4693
+
4694
+ <li class="never" data-hits="" data-linenumber="14">
4695
+
4696
+
4697
+ <code class="ruby"></code>
4698
+ </li>
4699
+
4700
+ <li class="covered" data-hits="1" data-linenumber="15">
4701
+ <span class="hits">1</span>
4702
+
4703
+ <code class="ruby"> attr_accessor :command_recording_path</code>
4704
+ </li>
4705
+
4706
+ <li class="never" data-hits="" data-linenumber="16">
4707
+
4708
+
4709
+ <code class="ruby"></code>
4710
+ </li>
4711
+
4712
+ <li class="covered" data-hits="1" data-linenumber="17">
4713
+ <span class="hits">1</span>
4714
+
4715
+ <code class="ruby"> def command_recording_path</code>
4716
+ </li>
4717
+
4718
+ <li class="covered" data-hits="2" data-linenumber="18">
4719
+ <span class="hits">2</span>
4720
+
4721
+ <code class="ruby"> @command_recording_path ||= ENV['MATTOCK_CMDREC']</code>
4722
+ </li>
4723
+
4724
+ <li class="never" data-hits="" data-linenumber="19">
4725
+
4726
+
4727
+ <code class="ruby"> end</code>
4728
+ </li>
4729
+
4730
+ <li class="never" data-hits="" data-linenumber="20">
4731
+
4732
+
4733
+ <code class="ruby"></code>
4734
+ </li>
4735
+
4736
+ <li class="covered" data-hits="1" data-linenumber="21">
4737
+ <span class="hits">1</span>
4738
+
4739
+ <code class="ruby"> def emit_recording</code>
4740
+ </li>
4741
+
4742
+ <li class="covered" data-hits="1" data-linenumber="22">
4743
+ <span class="hits">1</span>
4744
+
4745
+ <code class="ruby"> io = $stderr</code>
4746
+ </li>
4747
+
4748
+ <li class="covered" data-hits="1" data-linenumber="23">
4749
+ <span class="hits">1</span>
4750
+
4751
+ <code class="ruby"> if command_recording_path</code>
4752
+ </li>
4753
+
4754
+ <li class="covered" data-hits="1" data-linenumber="24">
4755
+ <span class="hits">1</span>
4756
+
4757
+ <code class="ruby"> io = File.open(command_recording_path, &quot;w&quot;)</code>
4758
+ </li>
4759
+
4760
+ <li class="never" data-hits="" data-linenumber="25">
4761
+
4762
+
4763
+ <code class="ruby"> else</code>
4764
+ </li>
4765
+
4766
+ <li class="missed" data-hits="0" data-linenumber="26">
4767
+
4768
+
4769
+ <code class="ruby"> io.puts &quot;Set MATTOCK_CMDREC to write to a path&quot;</code>
4770
+ </li>
4771
+
4772
+ <li class="never" data-hits="" data-linenumber="27">
4773
+
4774
+
4775
+ <code class="ruby"> end</code>
4776
+ </li>
4777
+
4778
+ <li class="covered" data-hits="1" data-linenumber="28">
4779
+ <span class="hits">1</span>
4780
+
4781
+ <code class="ruby"> @@commands.each do |pair|</code>
4782
+ </li>
4783
+
4784
+ <li class="covered" data-hits="5" data-linenumber="29">
4785
+ <span class="hits">5</span>
4786
+
4787
+ <code class="ruby"> io.puts &quot;[/#{pair[0]}/, #{[pair[1].exit_code, pair[1].streams].inspect}]&quot;</code>
4788
+ </li>
4789
+
4790
+ <li class="never" data-hits="" data-linenumber="30">
4791
+
4792
+
4793
+ <code class="ruby"> end</code>
4794
+ </li>
4795
+
4796
+ <li class="never" data-hits="" data-linenumber="31">
4797
+
4798
+
4799
+ <code class="ruby"> end</code>
4800
+ </li>
4801
+
4802
+ <li class="never" data-hits="" data-linenumber="32">
4803
+
4804
+
4805
+ <code class="ruby"> end</code>
4806
+ </li>
4807
+
4808
+ <li class="never" data-hits="" data-linenumber="33">
4809
+
4810
+
4811
+ <code class="ruby"> end</code>
4812
+ </li>
4813
+
4814
+ <li class="never" data-hits="" data-linenumber="34">
4815
+
4816
+
4817
+ <code class="ruby">end</code>
4818
+ </li>
4819
+
4820
+ <li class="never" data-hits="" data-linenumber="35">
4821
+
4822
+
4823
+ <code class="ruby"></code>
4824
+ </li>
4825
+
4826
+ <li class="covered" data-hits="1" data-linenumber="36">
4827
+ <span class="hits">1</span>
4828
+
4829
+ <code class="ruby">at_exit do</code>
4830
+ </li>
4831
+
4832
+ <li class="covered" data-hits="1" data-linenumber="37">
4833
+ <span class="hits">1</span>
4834
+
4835
+ <code class="ruby"> Mattock::CommandLine.emit_recording</code>
4836
+ </li>
4837
+
4838
+ <li class="never" data-hits="" data-linenumber="38">
4839
+
4840
+
4841
+ <code class="ruby">end</code>
4842
+ </li>
4843
+
4844
+ </ol>
4845
+ </pre>
4846
+ </div>
4847
+
3966
4848
  </div>
3967
4849
  </div>
3968
4850
  </body>