cascadence 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 7b0563a2baa0f25d54d1058e0e64452bb8772c3f
4
- data.tar.gz: 80a6d6039436c7d6bebd7faf4e93e42321ed6c51
3
+ metadata.gz: 484371533ba42c1dc48ec816d80c158c4a5fd67f
4
+ data.tar.gz: 21c1e22cc2cb1212d76df06c68f3e9e906235727
5
5
  SHA512:
6
- metadata.gz: e5d96084e391ce29ff1c6df4e47941a641e30626f0cffa5927eaa067d2b3d6285896593027e876b8cfb6ce73ff77771bcbbe56f18cb6795273f794783e85f0f5
7
- data.tar.gz: babf4b7b6780fb97ad7e448f382cdd370320cf3ce2f29541fecb10947d10a82757db82ae4194dfd6a560be7d6d006e916481d3bec94f156b153a9755d97895c4
6
+ metadata.gz: 903c91fcf31762e9115849b8db6fc816339d0e2d9be2437409c742acf8dec9ce106901c3549ca7248ef04c67c02849f6963943049e33109d9a1ee50e0e2b6976
7
+ data.tar.gz: e934b7d1ef66b98e4156f01535c69a8d9f08a9e22d38502d89290ae6fd851e38b1019b3a94c5dc116d50144a9e2cd3351e0ee7c57022ca298f9a55f541287d8d
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.2.1
data/bin/cascadence CHANGED
@@ -1,4 +1,8 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
3
  require File.expand_path("../../lib/cascadence", __FILE__)
4
- Cascadence::Commander.start ARGV
4
+ if ["help", "version", "flow"].include? ARGV.first
5
+ Cascadence::Commander.start ARGV
6
+ else
7
+ Cascadence::Commander.start ARGV.unshift("flow")
8
+ end
data/cascadence.gemspec CHANGED
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "cascadence"
8
- s.version = "0.2.0"
8
+ s.version = "0.2.1"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Thomas Chen"]
@@ -470,6 +470,12 @@
470
470
  null,
471
471
  1,
472
472
  1,
473
+ 0,
474
+ null,
475
+ null,
476
+ 1,
477
+ 1,
478
+ 1,
473
479
  1,
474
480
  1,
475
481
  2,
@@ -483,7 +489,7 @@
483
489
  null,
484
490
  null,
485
491
  1,
486
- 4,
492
+ 5,
487
493
  2,
488
494
  1,
489
495
  null,
@@ -912,14 +918,6 @@
912
918
  null,
913
919
  10,
914
920
  10,
915
- 10,
916
- 0,
917
- null,
918
- 10,
919
- 10,
920
- null,
921
- null,
922
- 10,
923
921
  null,
924
922
  null,
925
923
  1,
@@ -1088,7 +1086,9 @@
1088
1086
  null
1089
1087
  ],
1090
1088
  "/home/shinka/Projects/cascadence/fixtures/flow_helper.rb": [
1091
- 1
1089
+ 1,
1090
+ null,
1091
+ 3
1092
1092
  ],
1093
1093
  "/home/shinka/Projects/cascadence/fixtures/amazon/madeira_flow.rb": [
1094
1094
  1,
@@ -1097,54 +1097,58 @@
1097
1097
  null,
1098
1098
  1,
1099
1099
  2,
1100
+ 2,
1100
1101
  null,
1101
1102
  null,
1102
1103
  1,
1103
1104
  2,
1105
+ 2,
1104
1106
  null,
1105
1107
  null,
1106
1108
  1,
1107
1109
  2,
1110
+ 2,
1108
1111
  null,
1109
1112
  null,
1110
1113
  1,
1111
1114
  2,
1115
+ 2,
1112
1116
  null,
1113
1117
  null,
1114
1118
  null,
1115
1119
  null
1116
1120
  ],
1117
- "/home/shinka/Projects/cascadence/lib/cascadence/task.rb": [
1121
+ "/home/shinka/Projects/cascadence/lib/cascadence/config.rb": [
1118
1122
  1,
1119
1123
  1,
1120
1124
  1,
1121
- 3,
1122
- 3,
1123
- 3,
1124
- null,
1125
- null,
1126
1125
  1,
1127
- 2,
1128
- null,
1129
- null,
1130
1126
  null,
1131
- null
1132
- ],
1133
- "/home/shinka/Projects/cascadence/lib/cascadence/config.rb": [
1134
1127
  1,
1135
1128
  1,
1136
1129
  1,
1137
1130
  1,
1138
1131
  null,
1132
+ null,
1133
+ null
1134
+ ],
1135
+ "/home/shinka/Projects/cascadence/lib/cascadence/task.rb": [
1139
1136
  1,
1140
1137
  1,
1141
1138
  1,
1139
+ 3,
1140
+ 3,
1141
+ 3,
1142
+ null,
1143
+ null,
1142
1144
  1,
1145
+ 2,
1146
+ null,
1143
1147
  null,
1144
1148
  null,
1145
1149
  null
1146
1150
  ]
1147
1151
  },
1148
- "timestamp": 1363885085
1152
+ "timestamp": 1363889718
1149
1153
  }
1150
1154
  }
data/coverage/index.html CHANGED
@@ -14,7 +14,7 @@
14
14
  <img src="./assets/0.7.1/loading.gif" alt="loading"/>
15
15
  </div>
16
16
  <div id="wrapper" style="display:none;">
17
- <div class="timestamp">Generated <abbr class="timeago" title="2013-03-21T09:58:05-07:00">2013-03-21T09:58:05-07:00</abbr></div>
17
+ <div class="timestamp">Generated <abbr class="timeago" title="2013-03-21T11:15:18-07:00">2013-03-21T11:15:18-07:00</abbr></div>
18
18
  <ul class="group_tabs"></ul>
19
19
 
20
20
  <div id="content">
@@ -25,15 +25,15 @@
25
25
  covered at
26
26
  <span class="covered_strength">
27
27
  <span class="green">
28
- 19.34
28
+ 19.31
29
29
  </span>
30
30
  </span> hits/line)
31
31
  </h2>
32
32
  <a name="AllFiles"></a>
33
33
  <div>
34
34
  <b>18</b> files in total.
35
- <b>588</b> relevant lines.
36
- <span class="green"><b>585</b> lines covered</span> and
35
+ <b>592</b> relevant lines.
36
+ <span class="green"><b>589</b> lines covered</span> and
37
37
  <span class="red"><b>3</b> lines missed </span>
38
38
  </div>
39
39
  <table class="file_list">
@@ -53,21 +53,21 @@
53
53
  <tr>
54
54
  <td class="strong"><a href="#b1ba7cefa93daa2aa8f6530241d74a3981c37f14" class="src_link" title="fixtures/amazon/madeira_flow.rb">fixtures/amazon/madeira_flow.rb</a></td>
55
55
  <td class="green strong">100.0 %</td>
56
- <td>22</td>
57
- <td>11</td>
58
- <td>11</td>
56
+ <td>26</td>
57
+ <td>15</td>
58
+ <td>15</td>
59
59
  <td>0</td>
60
- <td>1.4</td>
60
+ <td>1.5</td>
61
61
  </tr>
62
62
 
63
63
  <tr>
64
64
  <td class="strong"><a href="#58ce21bdfbda9a78427664cd5edbceb0fa60ab6a" class="src_link" title="fixtures/flow_helper.rb">fixtures/flow_helper.rb</a></td>
65
65
  <td class="green strong">100.0 %</td>
66
- <td>1</td>
67
- <td>1</td>
68
- <td>1</td>
66
+ <td>3</td>
67
+ <td>2</td>
68
+ <td>2</td>
69
69
  <td>0</td>
70
- <td>1.0</td>
70
+ <td>2.0</td>
71
71
  </tr>
72
72
 
73
73
  <tr>
@@ -82,12 +82,12 @@
82
82
 
83
83
  <tr>
84
84
  <td class="strong"><a href="#17381cb9777e012e473b92b725c93ba487dce7a9" class="src_link" title="lib/cascadence/commander.rb">lib/cascadence/commander.rb</a></td>
85
- <td class="green strong">100.0 %</td>
86
- <td>70</td>
87
- <td>41</td>
88
- <td>41</td>
89
- <td>0</td>
90
- <td>16.0</td>
85
+ <td class="green strong">97.78 %</td>
86
+ <td>76</td>
87
+ <td>45</td>
88
+ <td>44</td>
89
+ <td>1</td>
90
+ <td>14.6</td>
91
91
  </tr>
92
92
 
93
93
  <tr>
@@ -122,12 +122,12 @@
122
122
 
123
123
  <tr>
124
124
  <td class="strong"><a href="#e13c0d62c625f197c356e87d0ed9455382cdf6e6" class="src_link" title="lib/cascadence/runner.rb">lib/cascadence/runner.rb</a></td>
125
- <td class="green strong">90.91 %</td>
126
- <td>70</td>
127
- <td>33</td>
128
- <td>30</td>
129
- <td>3</td>
130
- <td>5.9</td>
125
+ <td class="green strong">92.86 %</td>
126
+ <td>62</td>
127
+ <td>28</td>
128
+ <td>26</td>
129
+ <td>2</td>
130
+ <td>5.6</td>
131
131
  </tr>
132
132
 
133
133
  <tr>
@@ -251,8 +251,8 @@
251
251
  <h3>fixtures/amazon/madeira_flow.rb</h3>
252
252
  <h4><span class="green">100.0 %</span> covered</h4>
253
253
  <div>
254
- <b>11</b> relevant lines.
255
- <span class="green"><b>11</b> lines covered</span> and
254
+ <b>15</b> relevant lines.
255
+ <span class="green"><b>15</b> lines covered</span> and
256
256
  <span class="red"><b>0</b> lines missed.</span>
257
257
  </div>
258
258
  </div>
@@ -296,97 +296,121 @@
296
296
  <code class="ruby"> self.state = state || &quot;initialized&quot;</code>
297
297
  </li>
298
298
 
299
- <li class="never" data-hits="" data-linenumber="7">
299
+ <li class="covered" data-hits="2" data-linenumber="7">
300
+ <span class="hits">2</span>
301
+
302
+ <code class="ruby"> puts state</code>
303
+ </li>
304
+
305
+ <li class="never" data-hits="" data-linenumber="8">
300
306
 
301
307
 
302
308
  <code class="ruby"> end</code>
303
309
  </li>
304
310
 
305
- <li class="never" data-hits="" data-linenumber="8">
311
+ <li class="never" data-hits="" data-linenumber="9">
306
312
 
307
313
 
308
314
  <code class="ruby"></code>
309
315
  </li>
310
316
 
311
- <li class="covered" data-hits="1" data-linenumber="9">
317
+ <li class="covered" data-hits="1" data-linenumber="10">
312
318
  <span class="hits">1</span>
313
319
 
314
320
  <code class="ruby"> def step1</code>
315
321
  </li>
316
322
 
317
- <li class="covered" data-hits="2" data-linenumber="10">
323
+ <li class="covered" data-hits="2" data-linenumber="11">
318
324
  <span class="hits">2</span>
319
325
 
320
326
  <code class="ruby"> self.state += &quot;1&quot;</code>
321
327
  </li>
322
328
 
323
- <li class="never" data-hits="" data-linenumber="11">
329
+ <li class="covered" data-hits="2" data-linenumber="12">
330
+ <span class="hits">2</span>
331
+
332
+ <code class="ruby"> puts state</code>
333
+ </li>
334
+
335
+ <li class="never" data-hits="" data-linenumber="13">
324
336
 
325
337
 
326
338
  <code class="ruby"> end</code>
327
339
  </li>
328
340
 
329
- <li class="never" data-hits="" data-linenumber="12">
341
+ <li class="never" data-hits="" data-linenumber="14">
330
342
 
331
343
 
332
344
  <code class="ruby"></code>
333
345
  </li>
334
346
 
335
- <li class="covered" data-hits="1" data-linenumber="13">
347
+ <li class="covered" data-hits="1" data-linenumber="15">
336
348
  <span class="hits">1</span>
337
349
 
338
350
  <code class="ruby"> def step2</code>
339
351
  </li>
340
352
 
341
- <li class="covered" data-hits="2" data-linenumber="14">
353
+ <li class="covered" data-hits="2" data-linenumber="16">
342
354
  <span class="hits">2</span>
343
355
 
344
356
  <code class="ruby"> self.state += &quot;2&quot;</code>
345
357
  </li>
346
358
 
347
- <li class="never" data-hits="" data-linenumber="15">
359
+ <li class="covered" data-hits="2" data-linenumber="17">
360
+ <span class="hits">2</span>
361
+
362
+ <code class="ruby"> puts state</code>
363
+ </li>
364
+
365
+ <li class="never" data-hits="" data-linenumber="18">
348
366
 
349
367
 
350
368
  <code class="ruby"> end</code>
351
369
  </li>
352
370
 
353
- <li class="never" data-hits="" data-linenumber="16">
371
+ <li class="never" data-hits="" data-linenumber="19">
354
372
 
355
373
 
356
374
  <code class="ruby"></code>
357
375
  </li>
358
376
 
359
- <li class="covered" data-hits="1" data-linenumber="17">
377
+ <li class="covered" data-hits="1" data-linenumber="20">
360
378
  <span class="hits">1</span>
361
379
 
362
380
  <code class="ruby"> def step3</code>
363
381
  </li>
364
382
 
365
- <li class="covered" data-hits="2" data-linenumber="18">
383
+ <li class="covered" data-hits="2" data-linenumber="21">
366
384
  <span class="hits">2</span>
367
385
 
368
386
  <code class="ruby"> self.state += &quot;3&quot;</code>
369
387
  </li>
370
388
 
371
- <li class="never" data-hits="" data-linenumber="19">
389
+ <li class="covered" data-hits="2" data-linenumber="22">
390
+ <span class="hits">2</span>
391
+
392
+ <code class="ruby"> puts state</code>
393
+ </li>
394
+
395
+ <li class="never" data-hits="" data-linenumber="23">
372
396
 
373
397
 
374
398
  <code class="ruby"> end</code>
375
399
  </li>
376
400
 
377
- <li class="never" data-hits="" data-linenumber="20">
401
+ <li class="never" data-hits="" data-linenumber="24">
378
402
 
379
403
 
380
404
  <code class="ruby"></code>
381
405
  </li>
382
406
 
383
- <li class="never" data-hits="" data-linenumber="21">
407
+ <li class="never" data-hits="" data-linenumber="25">
384
408
 
385
409
 
386
410
  <code class="ruby"> end</code>
387
411
  </li>
388
412
 
389
- <li class="never" data-hits="" data-linenumber="22">
413
+ <li class="never" data-hits="" data-linenumber="26">
390
414
 
391
415
 
392
416
  <code class="ruby">end</code>
@@ -401,8 +425,8 @@
401
425
  <h3>fixtures/flow_helper.rb</h3>
402
426
  <h4><span class="green">100.0 %</span> covered</h4>
403
427
  <div>
404
- <b>1</b> relevant lines.
405
- <span class="green"><b>1</b> lines covered</span> and
428
+ <b>2</b> relevant lines.
429
+ <span class="green"><b>2</b> lines covered</span> and
406
430
  <span class="red"><b>0</b> lines missed.</span>
407
431
  </div>
408
432
  </div>
@@ -416,6 +440,18 @@
416
440
  <code class="ruby">require File.join(File.dirname(__FILE__), &quot;amazon&quot;, &quot;madeira_flow&quot;)</code>
417
441
  </li>
418
442
 
443
+ <li class="never" data-hits="" data-linenumber="2">
444
+
445
+
446
+ <code class="ruby"></code>
447
+ </li>
448
+
449
+ <li class="covered" data-hits="3" data-linenumber="3">
450
+ <span class="hits">3</span>
451
+
452
+ <code class="ruby">Cascadence.config.zero_state_generator = lambda { &quot;zerostate&quot; }</code>
453
+ </li>
454
+
419
455
  </ol>
420
456
  </pre>
421
457
  </div>
@@ -675,11 +711,11 @@
675
711
  <div class="source_table" id="17381cb9777e012e473b92b725c93ba487dce7a9">
676
712
  <div class="header">
677
713
  <h3>lib/cascadence/commander.rb</h3>
678
- <h4><span class="green">100.0 %</span> covered</h4>
714
+ <h4><span class="green">97.78 %</span> covered</h4>
679
715
  <div>
680
- <b>41</b> relevant lines.
681
- <span class="green"><b>41</b> lines covered</span> and
682
- <span class="red"><b>0</b> lines missed.</span>
716
+ <b>45</b> relevant lines.
717
+ <span class="green"><b>44</b> lines covered</span> and
718
+ <span class="red"><b>1</b> lines missed.</span>
683
719
  </div>
684
720
  </div>
685
721
 
@@ -707,400 +743,436 @@
707
743
  <li class="covered" data-hits="1" data-linenumber="4">
708
744
  <span class="hits">1</span>
709
745
 
710
- <code class="ruby"> desc &quot;flow&quot;, &quot;Runs the flow specified in the given file. If given a directory, runs all the flows in the directory.&quot;</code>
746
+ <code class="ruby"> desc &quot;version&quot;, &quot;Not implemented yet. That&#39;s right, the command that tells you what version of cascadence you&#39;re running has not been implemented yet.&quot;</code>
711
747
  </li>
712
748
 
713
749
  <li class="covered" data-hits="1" data-linenumber="5">
714
750
  <span class="hits">1</span>
715
751
 
752
+ <code class="ruby"> def version</code>
753
+ </li>
754
+
755
+ <li class="missed" data-hits="0" data-linenumber="6">
756
+
757
+
758
+ <code class="ruby"> puts &quot;El Psy Congroo&quot;</code>
759
+ </li>
760
+
761
+ <li class="never" data-hits="" data-linenumber="7">
762
+
763
+
764
+ <code class="ruby"> end</code>
765
+ </li>
766
+
767
+ <li class="never" data-hits="" data-linenumber="8">
768
+
769
+
770
+ <code class="ruby"></code>
771
+ </li>
772
+
773
+ <li class="covered" data-hits="1" data-linenumber="9">
774
+ <span class="hits">1</span>
775
+
776
+ <code class="ruby"> desc &quot;flow [FILEPATH]&quot;, &quot;Runs the flow specified in the given file. If given a directory, runs all the flows in the directory.&quot;</code>
777
+ </li>
778
+
779
+ <li class="covered" data-hits="1" data-linenumber="10">
780
+ <span class="hits">1</span>
781
+
716
782
  <code class="ruby"> def flow(filepath=Dir.pwd)</code>
717
783
  </li>
718
784
 
719
- <li class="covered" data-hits="1" data-linenumber="6">
785
+ <li class="covered" data-hits="1" data-linenumber="11">
720
786
  <span class="hits">1</span>
721
787
 
722
- <code class="ruby"> files = _get_files_from_filepath _absolutize_filepath filepath </code>
788
+ <code class="ruby"> abs_file_path = _absolutize_filepath filepath</code>
723
789
  </li>
724
790
 
725
- <li class="covered" data-hits="1" data-linenumber="7">
791
+ <li class="covered" data-hits="1" data-linenumber="12">
726
792
  <span class="hits">1</span>
727
793
 
728
- <code class="ruby"> _setup_environment_from_filepath!(filepath)</code>
794
+ <code class="ruby"> files = _get_files_from_filepath abs_file_path</code>
729
795
  </li>
730
796
 
731
- <li class="covered" data-hits="2" data-linenumber="8">
797
+ <li class="covered" data-hits="1" data-linenumber="13">
798
+ <span class="hits">1</span>
799
+
800
+ <code class="ruby"> _setup_environment_from_filepath!(_absolutize_filepath filepath)</code>
801
+ </li>
802
+
803
+ <li class="covered" data-hits="2" data-linenumber="14">
732
804
  <span class="hits">2</span>
733
805
 
734
806
  <code class="ruby"> tasks = files.map { |file| _get_task_from_file file }</code>
735
807
  </li>
736
808
 
737
- <li class="covered" data-hits="1" data-linenumber="9">
809
+ <li class="covered" data-hits="1" data-linenumber="15">
738
810
  <span class="hits">1</span>
739
811
 
740
812
  <code class="ruby"> _run_tasks tasks</code>
741
813
  </li>
742
814
 
743
- <li class="never" data-hits="" data-linenumber="10">
815
+ <li class="never" data-hits="" data-linenumber="16">
744
816
 
745
817
 
746
818
  <code class="ruby"> end</code>
747
819
  </li>
748
820
 
749
- <li class="never" data-hits="" data-linenumber="11">
821
+ <li class="never" data-hits="" data-linenumber="17">
750
822
 
751
823
 
752
824
  <code class="ruby"></code>
753
825
  </li>
754
826
 
755
- <li class="covered" data-hits="1" data-linenumber="12">
827
+ <li class="covered" data-hits="1" data-linenumber="18">
756
828
  <span class="hits">1</span>
757
829
 
758
830
  <code class="ruby"> private</code>
759
831
  </li>
760
832
 
761
- <li class="never" data-hits="" data-linenumber="13">
833
+ <li class="never" data-hits="" data-linenumber="19">
762
834
 
763
835
 
764
836
  <code class="ruby"></code>
765
837
  </li>
766
838
 
767
- <li class="covered" data-hits="1" data-linenumber="14">
839
+ <li class="covered" data-hits="1" data-linenumber="20">
768
840
  <span class="hits">1</span>
769
841
 
770
842
  <code class="ruby"> def _run_tasks(tasks)</code>
771
843
  </li>
772
844
 
773
- <li class="covered" data-hits="1" data-linenumber="15">
845
+ <li class="covered" data-hits="1" data-linenumber="21">
774
846
  <span class="hits">1</span>
775
847
 
776
848
  <code class="ruby"> Cascadence.runner.run_tasks tasks</code>
777
849
  </li>
778
850
 
779
- <li class="never" data-hits="" data-linenumber="16">
851
+ <li class="never" data-hits="" data-linenumber="22">
780
852
 
781
853
 
782
854
  <code class="ruby"> end</code>
783
855
  </li>
784
856
 
785
- <li class="never" data-hits="" data-linenumber="17">
857
+ <li class="never" data-hits="" data-linenumber="23">
786
858
 
787
859
 
788
860
  <code class="ruby"></code>
789
861
  </li>
790
862
 
791
- <li class="covered" data-hits="1" data-linenumber="18">
863
+ <li class="covered" data-hits="1" data-linenumber="24">
792
864
  <span class="hits">1</span>
793
865
 
794
866
  <code class="ruby"> def _absolutize_filepath(filepath)</code>
795
867
  </li>
796
868
 
797
- <li class="covered" data-hits="4" data-linenumber="19">
798
- <span class="hits">4</span>
869
+ <li class="covered" data-hits="5" data-linenumber="25">
870
+ <span class="hits">5</span>
799
871
 
800
872
  <code class="ruby"> return filepath if filepath =~ /^\//</code>
801
873
  </li>
802
874
 
803
- <li class="covered" data-hits="2" data-linenumber="20">
875
+ <li class="covered" data-hits="2" data-linenumber="26">
804
876
  <span class="hits">2</span>
805
877
 
806
878
  <code class="ruby"> return File.expand_path(filepath) if filepath =~ /^~/</code>
807
879
  </li>
808
880
 
809
- <li class="covered" data-hits="1" data-linenumber="21">
881
+ <li class="covered" data-hits="1" data-linenumber="27">
810
882
  <span class="hits">1</span>
811
883
 
812
884
  <code class="ruby"> return File.join(Dir.pwd, filepath)</code>
813
885
  </li>
814
886
 
815
- <li class="never" data-hits="" data-linenumber="22">
887
+ <li class="never" data-hits="" data-linenumber="28">
816
888
 
817
889
 
818
890
  <code class="ruby"> end</code>
819
891
  </li>
820
892
 
821
- <li class="never" data-hits="" data-linenumber="23">
893
+ <li class="never" data-hits="" data-linenumber="29">
822
894
 
823
895
 
824
896
  <code class="ruby"></code>
825
897
  </li>
826
898
 
827
- <li class="covered" data-hits="1" data-linenumber="24">
899
+ <li class="covered" data-hits="1" data-linenumber="30">
828
900
  <span class="hits">1</span>
829
901
 
830
902
  <code class="ruby"> def _get_files_from_filepath(filepath)</code>
831
903
  </li>
832
904
 
833
- <li class="covered" data-hits="19" data-linenumber="25">
905
+ <li class="covered" data-hits="19" data-linenumber="31">
834
906
  <span class="hits">19</span>
835
907
 
836
908
  <code class="ruby"> return [filepath] if _flow_file? filepath</code>
837
909
  </li>
838
910
 
839
- <li class="covered" data-hits="11" data-linenumber="26">
911
+ <li class="covered" data-hits="11" data-linenumber="32">
840
912
  <span class="hits">11</span>
841
913
 
842
914
  <code class="ruby"> return [] unless File.exists? filepath</code>
843
915
  </li>
844
916
 
845
- <li class="covered" data-hits="26" data-linenumber="27">
917
+ <li class="covered" data-hits="26" data-linenumber="33">
846
918
  <span class="hits">26</span>
847
919
 
848
920
  <code class="ruby"> Dir[File.join(filepath, &quot;*&quot;)].map { |file_or_dir| _get_files_from_filepath file_or_dir }.flatten</code>
849
921
  </li>
850
922
 
851
- <li class="never" data-hits="" data-linenumber="28">
923
+ <li class="never" data-hits="" data-linenumber="34">
852
924
 
853
925
 
854
926
  <code class="ruby"> end</code>
855
927
  </li>
856
928
 
857
- <li class="never" data-hits="" data-linenumber="29">
929
+ <li class="never" data-hits="" data-linenumber="35">
858
930
 
859
931
 
860
932
  <code class="ruby"></code>
861
933
  </li>
862
934
 
863
- <li class="covered" data-hits="1" data-linenumber="30">
935
+ <li class="covered" data-hits="1" data-linenumber="36">
864
936
  <span class="hits">1</span>
865
937
 
866
938
  <code class="ruby"> def _flow_file?(filepath)</code>
867
939
  </li>
868
940
 
869
- <li class="covered" data-hits="19" data-linenumber="31">
941
+ <li class="covered" data-hits="19" data-linenumber="37">
870
942
  <span class="hits">19</span>
871
943
 
872
944
  <code class="ruby"> (filepath =~ /_flow\.rb$/) &amp;&amp; File.file?(filepath)</code>
873
945
  </li>
874
946
 
875
- <li class="never" data-hits="" data-linenumber="32">
947
+ <li class="never" data-hits="" data-linenumber="38">
876
948
 
877
949
 
878
950
  <code class="ruby"> end</code>
879
951
  </li>
880
952
 
881
- <li class="never" data-hits="" data-linenumber="33">
953
+ <li class="never" data-hits="" data-linenumber="39">
882
954
 
883
955
 
884
956
  <code class="ruby"></code>
885
957
  </li>
886
958
 
887
- <li class="covered" data-hits="1" data-linenumber="34">
959
+ <li class="covered" data-hits="1" data-linenumber="40">
888
960
  <span class="hits">1</span>
889
961
 
890
962
  <code class="ruby"> def _setup_environment_from_filepath!(filepath)</code>
891
963
  </li>
892
964
 
893
- <li class="covered" data-hits="1" data-linenumber="35">
965
+ <li class="covered" data-hits="1" data-linenumber="41">
894
966
  <span class="hits">1</span>
895
967
 
896
968
  <code class="ruby"> require _find_flow_helper_from_filepath filepath</code>
897
969
  </li>
898
970
 
899
- <li class="never" data-hits="" data-linenumber="36">
971
+ <li class="never" data-hits="" data-linenumber="42">
900
972
 
901
973
 
902
974
  <code class="ruby"> end</code>
903
975
  </li>
904
976
 
905
- <li class="never" data-hits="" data-linenumber="37">
977
+ <li class="never" data-hits="" data-linenumber="43">
906
978
 
907
979
 
908
980
  <code class="ruby"></code>
909
981
  </li>
910
982
 
911
- <li class="covered" data-hits="1" data-linenumber="38">
983
+ <li class="covered" data-hits="1" data-linenumber="44">
912
984
  <span class="hits">1</span>
913
985
 
914
986
  <code class="ruby"> def _find_flow_helper_from_filepath( filepath )</code>
915
987
  </li>
916
988
 
917
- <li class="covered" data-hits="19" data-linenumber="39">
989
+ <li class="covered" data-hits="19" data-linenumber="45">
918
990
  <span class="hits">19</span>
919
991
 
920
992
  <code class="ruby"> _find_flow_helper_from_filepath File.expand_path(&quot;..&quot;, filepath) unless File.directory? filepath</code>
921
993
  </li>
922
994
 
923
- <li class="covered" data-hits="18" data-linenumber="40">
995
+ <li class="covered" data-hits="18" data-linenumber="46">
924
996
  <span class="hits">18</span>
925
997
 
926
998
  <code class="ruby"> throw :NoFlowHelperFound if filepath == &quot;/&quot;</code>
927
999
  </li>
928
1000
 
929
- <li class="covered" data-hits="146" data-linenumber="41">
1001
+ <li class="covered" data-hits="146" data-linenumber="47">
930
1002
  <span class="hits">146</span>
931
1003
 
932
1004
  <code class="ruby"> Dir[File.join(filepath, &quot;*&quot;)].select { |file| _flow_helper? file }.first || _find_flow_helper_from_filepath( File.expand_path(&quot;..&quot;, filepath) )</code>
933
1005
  </li>
934
1006
 
935
- <li class="never" data-hits="" data-linenumber="42">
1007
+ <li class="never" data-hits="" data-linenumber="48">
936
1008
 
937
1009
 
938
1010
  <code class="ruby"> end</code>
939
1011
  </li>
940
1012
 
941
- <li class="never" data-hits="" data-linenumber="43">
1013
+ <li class="never" data-hits="" data-linenumber="49">
942
1014
 
943
1015
 
944
1016
  <code class="ruby"></code>
945
1017
  </li>
946
1018
 
947
- <li class="covered" data-hits="1" data-linenumber="44">
1019
+ <li class="covered" data-hits="1" data-linenumber="50">
948
1020
  <span class="hits">1</span>
949
1021
 
950
1022
  <code class="ruby"> def _flow_helper?(filepath)</code>
951
1023
  </li>
952
1024
 
953
- <li class="covered" data-hits="129" data-linenumber="45">
1025
+ <li class="covered" data-hits="129" data-linenumber="51">
954
1026
  <span class="hits">129</span>
955
1027
 
956
1028
  <code class="ruby"> (filepath =~ /\/flow_helper\.rb$/) &amp;&amp; File.file?(filepath)</code>
957
1029
  </li>
958
1030
 
959
- <li class="never" data-hits="" data-linenumber="46">
1031
+ <li class="never" data-hits="" data-linenumber="52">
960
1032
 
961
1033
 
962
1034
  <code class="ruby"> end</code>
963
1035
  </li>
964
1036
 
965
- <li class="never" data-hits="" data-linenumber="47">
1037
+ <li class="never" data-hits="" data-linenumber="53">
966
1038
 
967
1039
 
968
1040
  <code class="ruby"></code>
969
1041
  </li>
970
1042
 
971
- <li class="covered" data-hits="1" data-linenumber="48">
1043
+ <li class="covered" data-hits="1" data-linenumber="54">
972
1044
  <span class="hits">1</span>
973
1045
 
974
1046
  <code class="ruby"> def _get_task_from_file(file)</code>
975
1047
  </li>
976
1048
 
977
- <li class="covered" data-hits="3" data-linenumber="49">
1049
+ <li class="covered" data-hits="3" data-linenumber="55">
978
1050
  <span class="hits">3</span>
979
1051
 
980
1052
  <code class="ruby"> flow = _get_flow_from_file file</code>
981
1053
  </li>
982
1054
 
983
- <li class="covered" data-hits="3" data-linenumber="50">
1055
+ <li class="covered" data-hits="3" data-linenumber="56">
984
1056
  <span class="hits">3</span>
985
1057
 
986
1058
  <code class="ruby"> Cascadence::Task.new(_get_zero_state_generator_from_flow flow) do |state=nil|</code>
987
1059
  </li>
988
1060
 
989
- <li class="covered" data-hits="2" data-linenumber="51">
1061
+ <li class="covered" data-hits="2" data-linenumber="57">
990
1062
  <span class="hits">2</span>
991
1063
 
992
1064
  <code class="ruby"> flow.new(state).run_states</code>
993
1065
  </li>
994
1066
 
995
- <li class="never" data-hits="" data-linenumber="52">
1067
+ <li class="never" data-hits="" data-linenumber="58">
996
1068
 
997
1069
 
998
1070
  <code class="ruby"> end</code>
999
1071
  </li>
1000
1072
 
1001
- <li class="never" data-hits="" data-linenumber="53">
1073
+ <li class="never" data-hits="" data-linenumber="59">
1002
1074
 
1003
1075
 
1004
1076
  <code class="ruby"> end</code>
1005
1077
  </li>
1006
1078
 
1007
- <li class="never" data-hits="" data-linenumber="54">
1079
+ <li class="never" data-hits="" data-linenumber="60">
1008
1080
 
1009
1081
 
1010
1082
  <code class="ruby"></code>
1011
1083
  </li>
1012
1084
 
1013
- <li class="covered" data-hits="1" data-linenumber="55">
1085
+ <li class="covered" data-hits="1" data-linenumber="61">
1014
1086
  <span class="hits">1</span>
1015
1087
 
1016
1088
  <code class="ruby"> def _get_zero_state_generator_from_flow(flow)</code>
1017
1089
  </li>
1018
1090
 
1019
- <li class="covered" data-hits="14" data-linenumber="56">
1091
+ <li class="covered" data-hits="14" data-linenumber="62">
1020
1092
  <span class="hits">14</span>
1021
1093
 
1022
1094
  <code class="ruby"> return flow.zero_state_generator if flow.respond_to? :zero_state_generator</code>
1023
1095
  </li>
1024
1096
 
1025
- <li class="covered" data-hits="12" data-linenumber="57">
1097
+ <li class="covered" data-hits="12" data-linenumber="63">
1026
1098
  <span class="hits">12</span>
1027
1099
 
1028
1100
  <code class="ruby"> return Cascadence.config.zero_state_generator if flow == Object</code>
1029
1101
  </li>
1030
1102
 
1031
- <li class="covered" data-hits="9" data-linenumber="58">
1103
+ <li class="covered" data-hits="9" data-linenumber="64">
1032
1104
  <span class="hits">9</span>
1033
1105
 
1034
1106
  <code class="ruby"> _get_zero_state_generator_from_flow(flow.parent)</code>
1035
1107
  </li>
1036
1108
 
1037
- <li class="never" data-hits="" data-linenumber="59">
1109
+ <li class="never" data-hits="" data-linenumber="65">
1038
1110
 
1039
1111
 
1040
1112
  <code class="ruby"> end</code>
1041
1113
  </li>
1042
1114
 
1043
- <li class="never" data-hits="" data-linenumber="60">
1115
+ <li class="never" data-hits="" data-linenumber="66">
1044
1116
 
1045
1117
 
1046
1118
  <code class="ruby"></code>
1047
1119
  </li>
1048
1120
 
1049
- <li class="covered" data-hits="1" data-linenumber="61">
1121
+ <li class="covered" data-hits="1" data-linenumber="67">
1050
1122
  <span class="hits">1</span>
1051
1123
 
1052
1124
  <code class="ruby"> def _get_flow_from_file(file)</code>
1053
1125
  </li>
1054
1126
 
1055
- <li class="covered" data-hits="96" data-linenumber="62">
1127
+ <li class="covered" data-hits="96" data-linenumber="68">
1056
1128
  <span class="hits">96</span>
1057
1129
 
1058
1130
  <code class="ruby"> Cascadence::Flow.subclasses.select { |subclass| _reasonably_matched?(subclass.to_s, file.chomp(&quot;.rb&quot;)) }.first</code>
1059
1131
  </li>
1060
1132
 
1061
- <li class="never" data-hits="" data-linenumber="63">
1133
+ <li class="never" data-hits="" data-linenumber="69">
1062
1134
 
1063
1135
 
1064
1136
  <code class="ruby"> end</code>
1065
1137
  </li>
1066
1138
 
1067
- <li class="never" data-hits="" data-linenumber="64">
1139
+ <li class="never" data-hits="" data-linenumber="70">
1068
1140
 
1069
1141
 
1070
1142
  <code class="ruby"></code>
1071
1143
  </li>
1072
1144
 
1073
- <li class="covered" data-hits="1" data-linenumber="65">
1145
+ <li class="covered" data-hits="1" data-linenumber="71">
1074
1146
  <span class="hits">1</span>
1075
1147
 
1076
1148
  <code class="ruby"> def _reasonably_matched?(str1, str2)</code>
1077
1149
  </li>
1078
1150
 
1079
- <li class="covered" data-hits="99" data-linenumber="66">
1151
+ <li class="covered" data-hits="99" data-linenumber="72">
1080
1152
  <span class="hits">99</span>
1081
1153
 
1082
1154
  <code class="ruby"> !(str2.to_s.gsub(/^\/?/, &quot;/&quot;) =~ Regexp.new(&quot;\/&quot; + str1.to_s.split(&quot;::&quot;).map(&amp;:underscore).join(&quot;/&quot;) + &quot;$&quot;)).nil?</code>
1083
1155
  </li>
1084
1156
 
1085
- <li class="never" data-hits="" data-linenumber="67">
1157
+ <li class="never" data-hits="" data-linenumber="73">
1086
1158
 
1087
1159
 
1088
1160
  <code class="ruby"> end</code>
1089
1161
  </li>
1090
1162
 
1091
- <li class="never" data-hits="" data-linenumber="68">
1163
+ <li class="never" data-hits="" data-linenumber="74">
1092
1164
 
1093
1165
 
1094
1166
  <code class="ruby"></code>
1095
1167
  </li>
1096
1168
 
1097
- <li class="never" data-hits="" data-linenumber="69">
1169
+ <li class="never" data-hits="" data-linenumber="75">
1098
1170
 
1099
1171
 
1100
1172
  <code class="ruby"> end</code>
1101
1173
  </li>
1102
1174
 
1103
- <li class="never" data-hits="" data-linenumber="70">
1175
+ <li class="never" data-hits="" data-linenumber="76">
1104
1176
 
1105
1177
 
1106
1178
  <code class="ruby">end</code>
@@ -1491,11 +1563,11 @@
1491
1563
  <div class="source_table" id="e13c0d62c625f197c356e87d0ed9455382cdf6e6">
1492
1564
  <div class="header">
1493
1565
  <h3>lib/cascadence/runner.rb</h3>
1494
- <h4><span class="green">90.91 %</span> covered</h4>
1566
+ <h4><span class="green">92.86 %</span> covered</h4>
1495
1567
  <div>
1496
- <b>33</b> relevant lines.
1497
- <span class="green"><b>30</b> lines covered</span> and
1498
- <span class="red"><b>3</b> lines missed.</span>
1568
+ <b>28</b> relevant lines.
1569
+ <span class="green"><b>26</b> lines covered</span> and
1570
+ <span class="red"><b>2</b> lines missed.</span>
1499
1571
  </div>
1500
1572
  </div>
1501
1573
 
@@ -1793,130 +1865,82 @@
1793
1865
  <li class="covered" data-hits="10" data-linenumber="49">
1794
1866
  <span class="hits">10</span>
1795
1867
 
1796
- <code class="ruby"> alive_threads = new_threads.select do |thread|</code>
1797
- </li>
1798
-
1799
- <li class="covered" data-hits="10" data-linenumber="50">
1800
- <span class="hits">10</span>
1801
-
1802
- <code class="ruby"> if thread.alive?</code>
1803
- </li>
1804
-
1805
- <li class="missed" data-hits="0" data-linenumber="51">
1806
-
1807
-
1808
- <code class="ruby"> true</code>
1809
- </li>
1810
-
1811
- <li class="never" data-hits="" data-linenumber="52">
1812
-
1813
-
1814
- <code class="ruby"> else</code>
1815
- </li>
1816
-
1817
- <li class="covered" data-hits="10" data-linenumber="53">
1818
- <span class="hits">10</span>
1819
-
1820
- <code class="ruby"> puts &quot;Thread finished&quot;</code>
1821
- </li>
1822
-
1823
- <li class="covered" data-hits="10" data-linenumber="54">
1824
- <span class="hits">10</span>
1825
-
1826
- <code class="ruby"> false</code>
1827
- </li>
1828
-
1829
- <li class="never" data-hits="" data-linenumber="55">
1830
-
1831
-
1832
- <code class="ruby"> end</code>
1833
- </li>
1834
-
1835
- <li class="never" data-hits="" data-linenumber="56">
1836
-
1837
-
1838
- <code class="ruby"> end</code>
1839
- </li>
1840
-
1841
- <li class="covered" data-hits="10" data-linenumber="57">
1842
- <span class="hits">10</span>
1843
-
1844
- <code class="ruby"> return [new_tasks, alive_threads]</code>
1868
+ <code class="ruby"> return [new_tasks, new_threads.select(&amp;:alive?)]</code>
1845
1869
  </li>
1846
1870
 
1847
- <li class="never" data-hits="" data-linenumber="58">
1871
+ <li class="never" data-hits="" data-linenumber="50">
1848
1872
 
1849
1873
 
1850
1874
  <code class="ruby"> end</code>
1851
1875
  </li>
1852
1876
 
1853
- <li class="never" data-hits="" data-linenumber="59">
1877
+ <li class="never" data-hits="" data-linenumber="51">
1854
1878
 
1855
1879
 
1856
1880
  <code class="ruby"></code>
1857
1881
  </li>
1858
1882
 
1859
- <li class="covered" data-hits="1" data-linenumber="60">
1883
+ <li class="covered" data-hits="1" data-linenumber="52">
1860
1884
  <span class="hits">1</span>
1861
1885
 
1862
1886
  <code class="ruby"> def _spin_up_task(task, threads=[])</code>
1863
1887
  </li>
1864
1888
 
1865
- <li class="covered" data-hits="10" data-linenumber="61">
1889
+ <li class="covered" data-hits="10" data-linenumber="53">
1866
1890
  <span class="hits">10</span>
1867
1891
 
1868
1892
  <code class="ruby"> puts &quot;Spinning up thread no.#{threads.count} out of #{Cascadence.config.max_thread_count}&quot;</code>
1869
1893
  </li>
1870
1894
 
1871
- <li class="covered" data-hits="20" data-linenumber="62">
1895
+ <li class="covered" data-hits="20" data-linenumber="54">
1872
1896
  <span class="hits">20</span>
1873
1897
 
1874
1898
  <code class="ruby"> thread = Thread.new { task.call } unless task.nil?</code>
1875
1899
  </li>
1876
1900
 
1877
- <li class="covered" data-hits="10" data-linenumber="63">
1901
+ <li class="covered" data-hits="10" data-linenumber="55">
1878
1902
  <span class="hits">10</span>
1879
1903
 
1880
1904
  <code class="ruby"> threads.push thread unless thread.nil?</code>
1881
1905
  </li>
1882
1906
 
1883
- <li class="never" data-hits="" data-linenumber="64">
1907
+ <li class="never" data-hits="" data-linenumber="56">
1884
1908
 
1885
1909
 
1886
1910
  <code class="ruby"> end</code>
1887
1911
  </li>
1888
1912
 
1889
- <li class="never" data-hits="" data-linenumber="65">
1913
+ <li class="never" data-hits="" data-linenumber="57">
1890
1914
 
1891
1915
 
1892
1916
  <code class="ruby"></code>
1893
1917
  </li>
1894
1918
 
1895
- <li class="covered" data-hits="1" data-linenumber="66">
1919
+ <li class="covered" data-hits="1" data-linenumber="58">
1896
1920
  <span class="hits">1</span>
1897
1921
 
1898
1922
  <code class="ruby"> def _run_sequential(tasks)</code>
1899
1923
  </li>
1900
1924
 
1901
- <li class="covered" data-hits="1" data-linenumber="67">
1925
+ <li class="covered" data-hits="1" data-linenumber="59">
1902
1926
  <span class="hits">1</span>
1903
1927
 
1904
1928
  <code class="ruby"> tasks.map(&amp;:call).map(&amp;:state)</code>
1905
1929
  </li>
1906
1930
 
1907
- <li class="never" data-hits="" data-linenumber="68">
1931
+ <li class="never" data-hits="" data-linenumber="60">
1908
1932
 
1909
1933
 
1910
1934
  <code class="ruby"> end</code>
1911
1935
  </li>
1912
1936
 
1913
- <li class="never" data-hits="" data-linenumber="69">
1937
+ <li class="never" data-hits="" data-linenumber="61">
1914
1938
 
1915
1939
 
1916
1940
  <code class="ruby"> end</code>
1917
1941
  </li>
1918
1942
 
1919
- <li class="never" data-hits="" data-linenumber="70">
1943
+ <li class="never" data-hits="" data-linenumber="62">
1920
1944
 
1921
1945
 
1922
1946
  <code class="ruby">end</code>
@@ -3389,7 +3413,7 @@
3389
3413
  <li class="covered" data-hits="1" data-linenumber="10">
3390
3414
  <span class="hits">1</span>
3391
3415
 
3392
- <code class="ruby"> result.should eq [&quot;initialized123&quot;]</code>
3416
+ <code class="ruby"> result.should eq [&quot;zerostate123&quot;]</code>
3393
3417
  </li>
3394
3418
 
3395
3419
  <li class="never" data-hits="" data-linenumber="11">
@@ -4103,7 +4127,7 @@
4103
4127
  <li class="covered" data-hits="1" data-linenumber="129">
4104
4128
  <span class="hits">1</span>
4105
4129
 
4106
- <code class="ruby"> task.call.state.should eq &quot;initialized123&quot;</code>
4130
+ <code class="ruby"> task.call.state.should eq &quot;zerostate123&quot;</code>
4107
4131
  </li>
4108
4132
 
4109
4133
  <li class="never" data-hits="" data-linenumber="130">
@@ -6,10 +6,11 @@ module Cascadence
6
6
  puts "El Psy Congroo"
7
7
  end
8
8
 
9
- desc "flow", "Runs the flow specified in the given file. If given a directory, runs all the flows in the directory."
9
+ desc "flow [FILEPATH]", "Runs the flow specified in the given file. If given a directory, runs all the flows in the directory."
10
10
  def flow(filepath=Dir.pwd)
11
- files = _get_files_from_filepath _absolutize_filepath filepath
12
- _setup_environment_from_filepath!(filepath)
11
+ abs_file_path = _absolutize_filepath filepath
12
+ files = _get_files_from_filepath abs_file_path
13
+ _setup_environment_from_filepath!(_absolutize_filepath filepath)
13
14
  tasks = files.map { |file| _get_task_from_file file }
14
15
  _run_tasks tasks
15
16
  end
data/lib/cascadence.rb CHANGED
@@ -11,8 +11,12 @@ module Cascadence
11
11
  autoload :Runner, File.join( File.dirname(__FILE__), "cascadence", "runner")
12
12
  autoload :Config, File.join( File.dirname(__FILE__), "cascadence", "config")
13
13
  autoload :Task, File.join( File.dirname(__FILE__), "cascadence", "task")
14
- def self.config
15
- Config.instance
14
+ def self.config(&block)
15
+ if block_given?
16
+ yield Config.instance
17
+ else
18
+ Config.instance
19
+ end
16
20
  end
17
21
 
18
22
  def self.runner
@@ -7,7 +7,7 @@ describe Cascadence::Commander do
7
7
  describe "#flow" do
8
8
  let(:result) { lolcat.flow File.join(RSpec::FixturePath, "amazon", "madeira_flow.rb") }
9
9
  it "should run the flow stated" do
10
- result.should eq ["initialized123"]
10
+ result.should eq ["zerostate123"]
11
11
  end
12
12
  end
13
13
  end
@@ -126,7 +126,7 @@ describe Cascadence::Commander do
126
126
  end
127
127
 
128
128
  it "should run and give me the correct result" do
129
- task.call.state.should eq "initialized123"
129
+ task.call.state.should eq "zerostate123"
130
130
  end
131
131
  end
132
132
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cascadence
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Chen