tap 0.7.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (146) hide show
  1. data/MIT-LICENSE +21 -0
  2. data/README +71 -0
  3. data/Rakefile +117 -0
  4. data/bin/tap +63 -0
  5. data/lib/tap.rb +15 -0
  6. data/lib/tap/app.rb +739 -0
  7. data/lib/tap/file_task.rb +354 -0
  8. data/lib/tap/generator.rb +29 -0
  9. data/lib/tap/generator/generators/config/USAGE +0 -0
  10. data/lib/tap/generator/generators/config/config_generator.rb +23 -0
  11. data/lib/tap/generator/generators/config/templates/config.erb +2 -0
  12. data/lib/tap/generator/generators/file_task/USAGE +0 -0
  13. data/lib/tap/generator/generators/file_task/file_task_generator.rb +21 -0
  14. data/lib/tap/generator/generators/file_task/templates/task.erb +27 -0
  15. data/lib/tap/generator/generators/file_task/templates/test.erb +12 -0
  16. data/lib/tap/generator/generators/root/USAGE +0 -0
  17. data/lib/tap/generator/generators/root/root_generator.rb +36 -0
  18. data/lib/tap/generator/generators/root/templates/Rakefile +48 -0
  19. data/lib/tap/generator/generators/root/templates/app.yml +19 -0
  20. data/lib/tap/generator/generators/root/templates/config/process_tap_request.yml +4 -0
  21. data/lib/tap/generator/generators/root/templates/lib/process_tap_request.rb +26 -0
  22. data/lib/tap/generator/generators/root/templates/public/images/nav.jpg +0 -0
  23. data/lib/tap/generator/generators/root/templates/public/stylesheets/color.css +57 -0
  24. data/lib/tap/generator/generators/root/templates/public/stylesheets/layout.css +108 -0
  25. data/lib/tap/generator/generators/root/templates/public/stylesheets/normalize.css +40 -0
  26. data/lib/tap/generator/generators/root/templates/public/stylesheets/typography.css +21 -0
  27. data/lib/tap/generator/generators/root/templates/server/config/environment.rb +60 -0
  28. data/lib/tap/generator/generators/root/templates/server/lib/tasks/clear_database_prerequisites.rake +5 -0
  29. data/lib/tap/generator/generators/root/templates/server/test/test_helper.rb +53 -0
  30. data/lib/tap/generator/generators/root/templates/test/tap_test_helper.rb +3 -0
  31. data/lib/tap/generator/generators/root/templates/test/tap_test_suite.rb +4 -0
  32. data/lib/tap/generator/generators/task/USAGE +0 -0
  33. data/lib/tap/generator/generators/task/task_generator.rb +21 -0
  34. data/lib/tap/generator/generators/task/templates/task.erb +21 -0
  35. data/lib/tap/generator/generators/task/templates/test.erb +29 -0
  36. data/lib/tap/generator/generators/workflow/USAGE +0 -0
  37. data/lib/tap/generator/generators/workflow/templates/task.erb +16 -0
  38. data/lib/tap/generator/generators/workflow/templates/test.erb +7 -0
  39. data/lib/tap/generator/generators/workflow/workflow_generator.rb +21 -0
  40. data/lib/tap/generator/options.rb +26 -0
  41. data/lib/tap/generator/usage.rb +26 -0
  42. data/lib/tap/root.rb +275 -0
  43. data/lib/tap/script/console.rb +7 -0
  44. data/lib/tap/script/destroy.rb +8 -0
  45. data/lib/tap/script/generate.rb +8 -0
  46. data/lib/tap/script/run.rb +111 -0
  47. data/lib/tap/script/server.rb +12 -0
  48. data/lib/tap/support/audit.rb +415 -0
  49. data/lib/tap/support/batch_queue.rb +165 -0
  50. data/lib/tap/support/combinator.rb +114 -0
  51. data/lib/tap/support/logger.rb +91 -0
  52. data/lib/tap/support/rap.rb +38 -0
  53. data/lib/tap/support/run_error.rb +20 -0
  54. data/lib/tap/support/template.rb +81 -0
  55. data/lib/tap/support/templater.rb +155 -0
  56. data/lib/tap/support/versions.rb +63 -0
  57. data/lib/tap/task.rb +448 -0
  58. data/lib/tap/test.rb +320 -0
  59. data/lib/tap/test/env_vars.rb +16 -0
  60. data/lib/tap/test/inference_methods.rb +298 -0
  61. data/lib/tap/test/subset_methods.rb +260 -0
  62. data/lib/tap/version.rb +3 -0
  63. data/lib/tap/workflow.rb +73 -0
  64. data/test/app/config/addition_template.yml +6 -0
  65. data/test/app/config/batch.yml +2 -0
  66. data/test/app/config/empty.yml +0 -0
  67. data/test/app/config/erb.yml +1 -0
  68. data/test/app/config/template.yml +6 -0
  69. data/test/app/config/version-0.1.yml +1 -0
  70. data/test/app/config/version.yml +1 -0
  71. data/test/app/lib/app_test_task.rb +2 -0
  72. data/test/app_class_test.rb +33 -0
  73. data/test/app_test.rb +1372 -0
  74. data/test/file_task/config/batch.yml +2 -0
  75. data/test/file_task/config/configured.yml +1 -0
  76. data/test/file_task/old_file_one.txt +0 -0
  77. data/test/file_task/old_file_two.txt +0 -0
  78. data/test/file_task_test.rb +1041 -0
  79. data/test/root/alt_lib/alt_module.rb +4 -0
  80. data/test/root/lib/absolute_alt_filepath.rb +2 -0
  81. data/test/root/lib/alternative_filepath.rb +2 -0
  82. data/test/root/lib/another_module.rb +2 -0
  83. data/test/root/lib/nested/some_module.rb +4 -0
  84. data/test/root/lib/no_module_included.rb +0 -0
  85. data/test/root/lib/some/module.rb +4 -0
  86. data/test/root/lib/some_class.rb +2 -0
  87. data/test/root/lib/some_module.rb +3 -0
  88. data/test/root/load_path/load_path_module.rb +2 -0
  89. data/test/root/load_path/skip_module.rb +2 -0
  90. data/test/root/mtime/older.txt +0 -0
  91. data/test/root/unload/full_path.rb +2 -0
  92. data/test/root/unload/loaded_by_nested.rb +2 -0
  93. data/test/root/unload/nested/nested_load.rb +6 -0
  94. data/test/root/unload/nested/nested_with_ext.rb +4 -0
  95. data/test/root/unload/nested/relative_path.rb +4 -0
  96. data/test/root/unload/older.rb +2 -0
  97. data/test/root/unload/unload_base.rb +9 -0
  98. data/test/root/versions/another.yml +0 -0
  99. data/test/root/versions/file-0.1.2.yml +0 -0
  100. data/test/root/versions/file-0.1.yml +0 -0
  101. data/test/root/versions/file.yml +0 -0
  102. data/test/root_test.rb +483 -0
  103. data/test/support/audit_test.rb +449 -0
  104. data/test/support/batch_queue_test.rb +320 -0
  105. data/test/support/combinator_test.rb +249 -0
  106. data/test/support/logger_test.rb +31 -0
  107. data/test/support/template_test.rb +122 -0
  108. data/test/support/templater/erb.txt +2 -0
  109. data/test/support/templater/erb.yml +2 -0
  110. data/test/support/templater/somefile.txt +2 -0
  111. data/test/support/templater_test.rb +192 -0
  112. data/test/support/versions_test.rb +71 -0
  113. data/test/tap_test_helper.rb +4 -0
  114. data/test/tap_test_suite.rb +4 -0
  115. data/test/task/config/batch.yml +2 -0
  116. data/test/task/config/batched.yml +2 -0
  117. data/test/task/config/configured.yml +1 -0
  118. data/test/task/config/example.yml +1 -0
  119. data/test/task/config/overriding.yml +2 -0
  120. data/test/task/config/task_with_config.yml +1 -0
  121. data/test/task/config/template.yml +4 -0
  122. data/test/task_class_test.rb +118 -0
  123. data/test/task_execute_test.rb +233 -0
  124. data/test/task_test.rb +424 -0
  125. data/test/test/inference_methods/test_assert_expected/expected/file.txt +1 -0
  126. data/test/test/inference_methods/test_assert_expected/expected/folder/file.txt +1 -0
  127. data/test/test/inference_methods/test_assert_expected/input/file.txt +1 -0
  128. data/test/test/inference_methods/test_assert_expected/input/folder/file.txt +1 -0
  129. data/test/test/inference_methods/test_assert_files_exist/input/input_1.txt +0 -0
  130. data/test/test/inference_methods/test_assert_files_exist/input/input_2.txt +0 -0
  131. data/test/test/inference_methods/test_file_compare/expected/output_1.txt +3 -0
  132. data/test/test/inference_methods/test_file_compare/expected/output_2.txt +1 -0
  133. data/test/test/inference_methods/test_file_compare/input/input_1.txt +3 -0
  134. data/test/test/inference_methods/test_file_compare/input/input_2.txt +3 -0
  135. data/test/test/inference_methods/test_infer_glob/expected/file.yml +0 -0
  136. data/test/test/inference_methods/test_infer_glob/expected/file_1.txt +0 -0
  137. data/test/test/inference_methods/test_infer_glob/expected/file_2.txt +0 -0
  138. data/test/test/inference_methods/test_yml_compare/expected/output_1.yml +6 -0
  139. data/test/test/inference_methods/test_yml_compare/expected/output_2.yml +6 -0
  140. data/test/test/inference_methods/test_yml_compare/input/input_1.yml +4 -0
  141. data/test/test/inference_methods/test_yml_compare/input/input_2.yml +4 -0
  142. data/test/test/inference_methods_test.rb +311 -0
  143. data/test/test/subset_methods_test.rb +115 -0
  144. data/test/test_test.rb +233 -0
  145. data/test/workflow_test.rb +108 -0
  146. metadata +274 -0
data/test/test_test.rb ADDED
@@ -0,0 +1,233 @@
1
+ require File.dirname(__FILE__) + '/tap_test_helper'
2
+ require 'tap/test'
3
+
4
+ class TestSetupTest < Test::Unit::TestCase
5
+ acts_as_tap_test(
6
+ :root => "alt/root",
7
+ :directories => {:input => "alt/input"})
8
+
9
+ #
10
+ # basic tests
11
+ #
12
+
13
+ def test_setup_with_options
14
+ assert runlist.empty?
15
+ assert_equal @app, app
16
+ assert_equal Tap::App.instance, app
17
+ assert_equal File.expand_path("./alt/root"), File.expand_path(app[:root])
18
+ assert_equal File.expand_path("./alt/root/alt/input"), File.expand_path(app[:input])
19
+ end
20
+ end
21
+
22
+ class TestTest < Test::Unit::TestCase
23
+ acts_as_tap_test
24
+
25
+ #
26
+ # basic tests
27
+ #
28
+
29
+ def test_setup
30
+ assert runlist.empty?
31
+ assert_equal @app, app
32
+ assert_equal Tap::App.instance, app
33
+ assert_equal File.expand_path(File.dirname(__FILE__) + "/test"), File.expand_path(app[:root])
34
+ assert_equal File.expand_path(File.dirname(__FILE__) + "/test/input"), File.expand_path(app[:input])
35
+ end
36
+
37
+ def test_clear_runlist_empties_runlist
38
+ runlist << 1
39
+ assert !runlist.empty?
40
+
41
+ clear_runlist
42
+ assert runlist.empty?
43
+ end
44
+
45
+ def test_echo_procedure_adds_input_to_runlist_and_returns_input
46
+ input = "input"
47
+ output = echo.call(nil, input)
48
+ assert_equal input, output
49
+ assert_equal [input], runlist
50
+ end
51
+
52
+ def test_add_one_procedure_adds_input_to_runlist_and_returns_input_plus_one
53
+ input = 1
54
+ output = add_one.call(nil, input)
55
+ assert_equal 2, output
56
+ assert_equal [1], runlist
57
+ end
58
+
59
+ #
60
+ # input assertion tests
61
+ #
62
+
63
+ def test_assert_inputs_checks_inputs_for_each_task
64
+ t1 = Tap::Task.new
65
+ t1.execute(1,2)
66
+ t2 = Tap::Task.new
67
+ t2.execute(3,4)
68
+
69
+ assert_inputs(t1 => [1,2])
70
+ assert_inputs(t1 => [1,2], t2 => [3,4])
71
+ begin
72
+ # failure
73
+ assert_inputs(t1 => [2,3])
74
+ flunk
75
+ rescue
76
+ end
77
+ end
78
+
79
+ def test_assert_inputs_will_check_against_the_last_inputs_for_the_task
80
+ t1 = Tap::Task.new(&add_one)
81
+ results = t1.execute(1,2)
82
+
83
+ t2 = Tap::Task.new(&add_one)
84
+ results = t2.execute(*results)
85
+ results = t1.execute(*results)
86
+
87
+ assert_equal [4,5], results.collect {|r| r._current}
88
+
89
+ assert_inputs(t1 => [3,4])
90
+ assert_inputs(t1 => [3,4], t2 => [2,3])
91
+ begin
92
+ # failure
93
+ assert_inputs(t1 => [1,2])
94
+ flunk
95
+ rescue
96
+ end
97
+ end
98
+
99
+ def test_assert_inputs_by_index_checks_inputs_at_the_specified_index
100
+ t1 = Tap::Task.new(&add_one)
101
+ results = t1.execute(1,2)
102
+
103
+ t2 = Tap::Task.new(&add_one)
104
+ results = t2.execute(*results)
105
+ results = t1.execute(*results)
106
+
107
+ assert_inputs_by_index(
108
+ t1.results,
109
+ 0 => [1,2],
110
+ 1 => [2,3],
111
+ 2 => [3,4])
112
+
113
+ begin
114
+ # failure
115
+ assert_inputs_by_index(t1.results, 0 => [2,3])
116
+ flunk
117
+ rescue
118
+ end
119
+ end
120
+
121
+ #
122
+ # output assertion tests
123
+ #
124
+
125
+ def test_assert_outputs_checks_outputs_for_each_task
126
+ t1 = Tap::Task.new(&add_one)
127
+ t1.execute(1,2)
128
+ t2 = Tap::Task.new(&add_one)
129
+ t2.execute(3,4)
130
+
131
+ assert_outputs(t1 => [2,3])
132
+ assert_outputs(t1 => [2,3], t2 => [4,5])
133
+ begin
134
+ # failure
135
+ assert_outputs(t1 => [1,2])
136
+ flunk
137
+ rescue
138
+ end
139
+ end
140
+
141
+ def test_assert_outputs_will_check_against_the_last_outputs_for_the_task
142
+ t1 = Tap::Task.new(&add_one)
143
+ results = t1.execute(1,2)
144
+
145
+ t2 = Tap::Task.new(&add_one)
146
+ results = t2.execute(*results)
147
+ results = t1.execute(*results)
148
+
149
+ assert_outputs(t1 => [4,5])
150
+ assert_outputs(t1 => [4,5], t2 => [3,4])
151
+ begin
152
+ # failure
153
+ assert_outputs(t1 => [2,3])
154
+ flunk
155
+ rescue
156
+ end
157
+ end
158
+
159
+ def test_assert_outputs_by_index_checks_outputs_at_the_specified_index
160
+ t1 = Tap::Task.new(&add_one)
161
+ results = t1.execute(1,2)
162
+
163
+ t2 = Tap::Task.new(&add_one)
164
+ results = t2.execute(*results)
165
+ results = t1.execute(*results)
166
+
167
+ assert_outputs_by_index(
168
+ t1.results,
169
+ 0 => [2,3],
170
+ 1 => [3,4],
171
+ 2 => [4,5])
172
+
173
+ begin
174
+ # failure
175
+ assert_inputs_by_index(t1.results, 0 => [1,2])
176
+ flunk
177
+ rescue
178
+ end
179
+ end
180
+
181
+ #
182
+ # audit assertions
183
+ #
184
+
185
+ def test_assert_audits
186
+ a0 = Tap::Support::Audit.new('')
187
+ a1 = Tap::Support::Audit.new('')
188
+ a1._record(:a, 'a')
189
+ a1._record(:b, 'b')
190
+
191
+ assert_audits [a0, a1], 1 => [[nil, ''], [:a, 'a'], [:b, 'b']]
192
+
193
+ begin
194
+ # failure
195
+ assert_audits [a0, a1], 1 => [[nil, ''], [:a, 'a']]
196
+ flunk
197
+ rescue
198
+ end
199
+ end
200
+
201
+ def test_assert_audits_raises_error_if_audits_nil_at_provided_at_index
202
+ assert_raise(ArgumentError) { assert_audits [], 0 => [] }
203
+ assert_raise(ArgumentError) { assert_audits [nil], 0 => [] }
204
+ assert_raise(ArgumentError) { assert_audits [Tap::Support::Audit.new], 1 => [] }
205
+ end
206
+
207
+ def check_audit_setup
208
+ a = Tap::Support::Audit.new('')
209
+ a._record(:a, 'a')
210
+ a._record(:b, 'b')
211
+ a
212
+ end
213
+
214
+ def test_check_audits
215
+ a = check_audit_setup
216
+
217
+ check_audit(a) do
218
+ ''._from nil
219
+ 'a'._from :a
220
+ 'b'._from :b
221
+ end
222
+ end
223
+
224
+ #
225
+ # with options
226
+ #
227
+
228
+ def test_with_options_executes_block_having_set_options_for_app
229
+ #app
230
+ end
231
+
232
+ end
233
+
@@ -0,0 +1,108 @@
1
+ require File.join(File.dirname(__FILE__), 'tap_test_helper')
2
+ require 'tap/workflow'
3
+
4
+ class WorkflowTest < Test::Unit::TestCase
5
+ acts_as_tap_test
6
+
7
+ def test_workflow_raises_error_if_no_task_block_is_provided
8
+ assert_raise(Tap::Workflow::WorkflowError) { Tap::Workflow.new() }
9
+ end
10
+
11
+ def test_workflow_raises_error_if_no_entry_point_is_defined
12
+ assert_raise(Tap::Workflow::WorkflowError) do
13
+ Tap::Workflow.new {|wf| }
14
+ end
15
+ end
16
+
17
+ def test_workflow_sequences_execution_of_entry_point_if_entry_point_is_a_task
18
+ t1 = Tap::Task.new
19
+ t2 = Tap::Task.new
20
+ w = Tap::Workflow.new do |wf|
21
+ wf.entry_point = t1
22
+ wf.sequence(t1, t2)
23
+ end
24
+
25
+ assert_equal t1, w.entry_point
26
+
27
+ app.run(w, [1,2], 3)
28
+ assert_outputs(t2 => [[1,2], 3])
29
+ assert_audits(
30
+ t2.results,
31
+ 0 => [[nil, [1,2]], [w, [1,2]], [t1, [1,2]], [t2, [1,2]]],
32
+ 1 => [[nil, 3], [w, 3], [t1, 3], [t2, 3]])
33
+ end
34
+
35
+ def test_workflow_forks_entry_points_if_entry_point_is_a_hash
36
+ t1 = Tap::Task.new(&add_one)
37
+ t2 = Tap::Task.new(&add_one)
38
+ t3 = Tap::Task.new(&add_one)
39
+ w = Tap::Workflow.new do |wf|
40
+ wf.entry_point[:t1] = t1
41
+ wf.entry_point[:t2] = t2
42
+ wf.sequence(t2, t3)
43
+ end
44
+
45
+ assert_equal({:t1 => t1, :t2 => t2}, w.entry_point)
46
+
47
+ app.run(w, 1,2,3)
48
+ assert_outputs(t1 => [2,3,4], t3 => [3,4,5])
49
+ assert_audits(t1.results,
50
+ 0 => [[nil,1], [w,1], [t1,2]],
51
+ 1 => [[nil,2], [w,2], [t1,3]],
52
+ 2 => [[nil,3], [w,3], [t1,4]])
53
+ assert_audits(t3.results,
54
+ 0 => [[nil,1], [w,1], [t2,2], [t3,3]],
55
+ 1 => [[nil,2], [w,2], [t2,3], [t3,4]],
56
+ 2 => [[nil,3], [w,3], [t2,4], [t3,5]])
57
+ end
58
+
59
+ def test_workflow_forks_entry_points_if_entry_point_is_an_array
60
+ t1 = Tap::Task.new(&add_one)
61
+ t2 = Tap::Task.new(&add_one)
62
+ t3 = Tap::Task.new(&add_one)
63
+ w = Tap::Workflow.new do |wf|
64
+ wf.entry_point = [t1, t2]
65
+ wf.sequence(t2, t3)
66
+ end
67
+
68
+ app.run(w, 1,2,3)
69
+ assert_outputs(t1 => [2,3,4], t3 => [3,4,5])
70
+ assert_audits(t1.results,
71
+ 0 => [[nil,1], [w,1], [t1,2]],
72
+ 1 => [[nil,2], [w,2], [t1,3]],
73
+ 2 => [[nil,3], [w,3], [t1,4]])
74
+ assert_audits(t3.results,
75
+ 0 => [[nil,1], [w,1], [t2,2], [t3,3]],
76
+ 1 => [[nil,2], [w,2], [t2,3], [t3,4]],
77
+ 2 => [[nil,3], [w,3], [t2,4], [t3,5]])
78
+ end
79
+
80
+ class TestWorkflow < Tap::Workflow
81
+ def t1
82
+ @t1 ||= Tap::Task.new
83
+ end
84
+
85
+ def t2
86
+ @t2 ||= Tap::Task.new {|task, input| input.to_s}
87
+ end
88
+
89
+ def workflow
90
+ self.entry_point = t1
91
+ sequence(t1, t2)
92
+ self.exit_point[:t2] = t2
93
+ end
94
+ end
95
+
96
+ def test_workflow_method_defines_workflow
97
+ w = TestWorkflow.new
98
+
99
+ app.run(w, [1,2], 3)
100
+ assert_outputs(w.exit_point[:t2] => [[1,2].to_s, 3.to_s])
101
+ assert_audits(
102
+ w.exit_point[:t2].results,
103
+ 0 => [[nil, [1,2]], [w, [1,2]], [w.t1, [1,2]], [w.t2, [1,2].to_s]],
104
+ 1 => [[nil, 3], [w, 3], [w.t1, 3], [w.t2, 3.to_s]])
105
+ end
106
+
107
+ end
108
+
metadata ADDED
@@ -0,0 +1,274 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.9.4
3
+ specification_version: 1
4
+ name: tap
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.7.9
7
+ date: 2007-09-14 00:00:00 -06:00
8
+ summary: Framework for configurable, file-based applications.
9
+ require_paths:
10
+ - lib
11
+ email: simon.chiang@uchsc.edu
12
+ homepage: http://rubyforge.org/projects/tap/
13
+ rubyforge_project:
14
+ description:
15
+ autorequire: tap
16
+ default_executable: tap
17
+ bindir: bin
18
+ has_rdoc: true
19
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
20
+ requirements:
21
+ - - ">"
22
+ - !ruby/object:Gem::Version
23
+ version: 0.0.0
24
+ version:
25
+ platform: ruby
26
+ signing_key:
27
+ cert_chain:
28
+ post_install_message:
29
+ authors:
30
+ - Simon Chiang
31
+ files:
32
+ - bin/tap
33
+ - test/app
34
+ - test/app/config
35
+ - test/app/config/addition_template.yml
36
+ - test/app/config/batch.yml
37
+ - test/app/config/empty.yml
38
+ - test/app/config/erb.yml
39
+ - test/app/config/template.yml
40
+ - test/app/config/version-0.1.yml
41
+ - test/app/config/version.yml
42
+ - test/app/lib
43
+ - test/app/lib/app_test_task.rb
44
+ - test/app_class_test.rb
45
+ - test/app_test.rb
46
+ - test/file_task
47
+ - test/file_task/config
48
+ - test/file_task/config/batch.yml
49
+ - test/file_task/config/configured.yml
50
+ - test/file_task/old_file_one.txt
51
+ - test/file_task/old_file_two.txt
52
+ - test/file_task_test.rb
53
+ - test/root
54
+ - test/root/alt_lib
55
+ - test/root/alt_lib/alt_module.rb
56
+ - test/root/lib
57
+ - test/root/lib/absolute_alt_filepath.rb
58
+ - test/root/lib/alternative_filepath.rb
59
+ - test/root/lib/another_module.rb
60
+ - test/root/lib/nested
61
+ - test/root/lib/nested/some_module.rb
62
+ - test/root/lib/no_module_included.rb
63
+ - test/root/lib/some
64
+ - test/root/lib/some/module.rb
65
+ - test/root/lib/some_class.rb
66
+ - test/root/lib/some_module.rb
67
+ - test/root/load_path
68
+ - test/root/load_path/load_path_module.rb
69
+ - test/root/load_path/skip_module.rb
70
+ - test/root/mtime
71
+ - test/root/mtime/older.txt
72
+ - test/root/unload
73
+ - test/root/unload/full_path.rb
74
+ - test/root/unload/loaded_by_nested.rb
75
+ - test/root/unload/nested
76
+ - test/root/unload/nested/nested_load.rb
77
+ - test/root/unload/nested/nested_with_ext.rb
78
+ - test/root/unload/nested/relative_path.rb
79
+ - test/root/unload/older.rb
80
+ - test/root/unload/unload_base.rb
81
+ - test/root/versions
82
+ - test/root/versions/another.yml
83
+ - test/root/versions/file-0.1.2.yml
84
+ - test/root/versions/file-0.1.yml
85
+ - test/root/versions/file.yml
86
+ - test/root_test.rb
87
+ - test/support
88
+ - test/support/audit_test.rb
89
+ - test/support/batch_queue_test.rb
90
+ - test/support/combinator_test.rb
91
+ - test/support/logger_test.rb
92
+ - test/support/template_test.rb
93
+ - test/support/templater
94
+ - test/support/templater/erb.txt
95
+ - test/support/templater/erb.yml
96
+ - test/support/templater/somefile.txt
97
+ - test/support/templater_test.rb
98
+ - test/support/versions_test.rb
99
+ - test/tap_test_helper.rb
100
+ - test/tap_test_suite.rb
101
+ - test/task
102
+ - test/task/config
103
+ - test/task/config/batch.yml
104
+ - test/task/config/batched.yml
105
+ - test/task/config/configured.yml
106
+ - test/task/config/example.yml
107
+ - test/task/config/overriding.yml
108
+ - test/task/config/task_with_config.yml
109
+ - test/task/config/template.yml
110
+ - test/task_class_test.rb
111
+ - test/task_execute_test.rb
112
+ - test/task_test.rb
113
+ - test/test
114
+ - test/test/inference_methods
115
+ - test/test/inference_methods/test_assert_expected
116
+ - test/test/inference_methods/test_assert_expected/expected
117
+ - test/test/inference_methods/test_assert_expected/expected/file.txt
118
+ - test/test/inference_methods/test_assert_expected/expected/folder
119
+ - test/test/inference_methods/test_assert_expected/expected/folder/file.txt
120
+ - test/test/inference_methods/test_assert_expected/input
121
+ - test/test/inference_methods/test_assert_expected/input/file.txt
122
+ - test/test/inference_methods/test_assert_expected/input/folder
123
+ - test/test/inference_methods/test_assert_expected/input/folder/file.txt
124
+ - test/test/inference_methods/test_assert_files_exist
125
+ - test/test/inference_methods/test_assert_files_exist/input
126
+ - test/test/inference_methods/test_assert_files_exist/input/input_1.txt
127
+ - test/test/inference_methods/test_assert_files_exist/input/input_2.txt
128
+ - test/test/inference_methods/test_file_compare
129
+ - test/test/inference_methods/test_file_compare/expected
130
+ - test/test/inference_methods/test_file_compare/expected/output_1.txt
131
+ - test/test/inference_methods/test_file_compare/expected/output_2.txt
132
+ - test/test/inference_methods/test_file_compare/input
133
+ - test/test/inference_methods/test_file_compare/input/input_1.txt
134
+ - test/test/inference_methods/test_file_compare/input/input_2.txt
135
+ - test/test/inference_methods/test_infer_glob
136
+ - test/test/inference_methods/test_infer_glob/expected
137
+ - test/test/inference_methods/test_infer_glob/expected/file.yml
138
+ - test/test/inference_methods/test_infer_glob/expected/file_1.txt
139
+ - test/test/inference_methods/test_infer_glob/expected/file_2.txt
140
+ - test/test/inference_methods/test_yml_compare
141
+ - test/test/inference_methods/test_yml_compare/expected
142
+ - test/test/inference_methods/test_yml_compare/expected/output_1.yml
143
+ - test/test/inference_methods/test_yml_compare/expected/output_2.yml
144
+ - test/test/inference_methods/test_yml_compare/input
145
+ - test/test/inference_methods/test_yml_compare/input/input_1.yml
146
+ - test/test/inference_methods/test_yml_compare/input/input_2.yml
147
+ - test/test/inference_methods_test.rb
148
+ - test/test/subset_methods_test.rb
149
+ - test/test_test.rb
150
+ - test/workflow_test.rb
151
+ - lib/tap
152
+ - lib/tap/app.rb
153
+ - lib/tap/file_task.rb
154
+ - lib/tap/generator
155
+ - lib/tap/generator/generators
156
+ - lib/tap/generator/generators/config
157
+ - lib/tap/generator/generators/config/config_generator.rb
158
+ - lib/tap/generator/generators/config/templates
159
+ - lib/tap/generator/generators/config/templates/config.erb
160
+ - lib/tap/generator/generators/config/USAGE
161
+ - lib/tap/generator/generators/file_task
162
+ - lib/tap/generator/generators/file_task/file_task_generator.rb
163
+ - lib/tap/generator/generators/file_task/templates
164
+ - lib/tap/generator/generators/file_task/templates/task.erb
165
+ - lib/tap/generator/generators/file_task/templates/test.erb
166
+ - lib/tap/generator/generators/file_task/USAGE
167
+ - lib/tap/generator/generators/root
168
+ - lib/tap/generator/generators/root/root_generator.rb
169
+ - lib/tap/generator/generators/root/templates
170
+ - lib/tap/generator/generators/root/templates/app.yml
171
+ - lib/tap/generator/generators/root/templates/config
172
+ - lib/tap/generator/generators/root/templates/config/process_tap_request.yml
173
+ - lib/tap/generator/generators/root/templates/lib
174
+ - lib/tap/generator/generators/root/templates/lib/process_tap_request.rb
175
+ - lib/tap/generator/generators/root/templates/public
176
+ - lib/tap/generator/generators/root/templates/public/images
177
+ - lib/tap/generator/generators/root/templates/public/images/nav.jpg
178
+ - lib/tap/generator/generators/root/templates/public/stylesheets
179
+ - lib/tap/generator/generators/root/templates/public/stylesheets/color.css
180
+ - lib/tap/generator/generators/root/templates/public/stylesheets/layout.css
181
+ - lib/tap/generator/generators/root/templates/public/stylesheets/normalize.css
182
+ - lib/tap/generator/generators/root/templates/public/stylesheets/typography.css
183
+ - lib/tap/generator/generators/root/templates/Rakefile
184
+ - lib/tap/generator/generators/root/templates/server
185
+ - lib/tap/generator/generators/root/templates/server/config
186
+ - lib/tap/generator/generators/root/templates/server/config/environment.rb
187
+ - lib/tap/generator/generators/root/templates/server/lib
188
+ - lib/tap/generator/generators/root/templates/server/lib/tasks
189
+ - lib/tap/generator/generators/root/templates/server/lib/tasks/clear_database_prerequisites.rake
190
+ - lib/tap/generator/generators/root/templates/server/test
191
+ - lib/tap/generator/generators/root/templates/server/test/test_helper.rb
192
+ - lib/tap/generator/generators/root/templates/test
193
+ - lib/tap/generator/generators/root/templates/test/tap_test_helper.rb
194
+ - lib/tap/generator/generators/root/templates/test/tap_test_suite.rb
195
+ - lib/tap/generator/generators/root/USAGE
196
+ - lib/tap/generator/generators/task
197
+ - lib/tap/generator/generators/task/task_generator.rb
198
+ - lib/tap/generator/generators/task/templates
199
+ - lib/tap/generator/generators/task/templates/task.erb
200
+ - lib/tap/generator/generators/task/templates/test.erb
201
+ - lib/tap/generator/generators/task/USAGE
202
+ - lib/tap/generator/generators/workflow
203
+ - lib/tap/generator/generators/workflow/templates
204
+ - lib/tap/generator/generators/workflow/templates/task.erb
205
+ - lib/tap/generator/generators/workflow/templates/test.erb
206
+ - lib/tap/generator/generators/workflow/USAGE
207
+ - lib/tap/generator/generators/workflow/workflow_generator.rb
208
+ - lib/tap/generator/options.rb
209
+ - lib/tap/generator/usage.rb
210
+ - lib/tap/generator.rb
211
+ - lib/tap/root.rb
212
+ - lib/tap/script
213
+ - lib/tap/script/console.rb
214
+ - lib/tap/script/destroy.rb
215
+ - lib/tap/script/generate.rb
216
+ - lib/tap/script/run.rb
217
+ - lib/tap/script/server.rb
218
+ - lib/tap/support
219
+ - lib/tap/support/audit.rb
220
+ - lib/tap/support/batch_queue.rb
221
+ - lib/tap/support/combinator.rb
222
+ - lib/tap/support/logger.rb
223
+ - lib/tap/support/rap.rb
224
+ - lib/tap/support/run_error.rb
225
+ - lib/tap/support/template.rb
226
+ - lib/tap/support/templater.rb
227
+ - lib/tap/support/versions.rb
228
+ - lib/tap/task.rb
229
+ - lib/tap/test
230
+ - lib/tap/test/env_vars.rb
231
+ - lib/tap/test/inference_methods.rb
232
+ - lib/tap/test/subset_methods.rb
233
+ - lib/tap/test.rb
234
+ - lib/tap/version.rb
235
+ - lib/tap/workflow.rb
236
+ - lib/tap.rb
237
+ - MIT-LICENSE
238
+ - README
239
+ - Rakefile
240
+ test_files:
241
+ - test/tap_test_suite.rb
242
+ rdoc_options:
243
+ - --title
244
+ - Tap - Task Application
245
+ - --main
246
+ - README
247
+ extra_rdoc_files:
248
+ - README
249
+ - MIT-LICENSE
250
+ executables:
251
+ - tap
252
+ extensions: []
253
+
254
+ requirements: []
255
+
256
+ dependencies:
257
+ - !ruby/object:Gem::Dependency
258
+ name: rails
259
+ version_requirement:
260
+ version_requirements: !ruby/object:Gem::Version::Requirement
261
+ requirements:
262
+ - - ">="
263
+ - !ruby/object:Gem::Version
264
+ version: 1.2.3
265
+ version:
266
+ - !ruby/object:Gem::Dependency
267
+ name: activesupport
268
+ version_requirement:
269
+ version_requirements: !ruby/object:Gem::Version::Requirement
270
+ requirements:
271
+ - - ">="
272
+ - !ruby/object:Gem::Version
273
+ version: 1.4.2
274
+ version: