tap 0.7.9

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.
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: