tap 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. data/Basic Overview b/data/Basic → Overview +0 -0
  2. data/Command Reference b/data/Command → Reference +0 -0
  3. data/History +14 -4
  4. data/MIT-LICENSE +0 -0
  5. data/README +0 -0
  6. data/Rakefile +0 -0
  7. data/Tutorial +0 -0
  8. data/bin/tap +11 -14
  9. data/lib/tap.rb +10 -1
  10. data/lib/tap/app.rb +1 -1
  11. data/lib/tap/cmd/console.rb +2 -6
  12. data/lib/tap/cmd/destroy.rb +0 -0
  13. data/lib/tap/cmd/generate.rb +0 -0
  14. data/lib/tap/cmd/run.rb +72 -77
  15. data/lib/tap/constants.rb +33 -2
  16. data/lib/tap/dump.rb +0 -0
  17. data/lib/tap/env.rb +40 -21
  18. data/lib/tap/file_task.rb +0 -0
  19. data/lib/tap/generator.rb +0 -0
  20. data/lib/tap/generator/generators/command/USAGE +0 -0
  21. data/lib/tap/generator/generators/command/command_generator.rb +0 -0
  22. data/lib/tap/generator/generators/command/templates/command.erb +2 -6
  23. data/lib/tap/generator/generators/config/USAGE +0 -0
  24. data/lib/tap/generator/generators/config/config_generator.rb +0 -0
  25. data/lib/tap/generator/generators/config/templates/config.erb +0 -0
  26. data/lib/tap/generator/generators/file_task/USAGE +0 -0
  27. data/lib/tap/generator/generators/file_task/file_task_generator.rb +0 -0
  28. data/lib/tap/generator/generators/file_task/templates/file.txt +0 -0
  29. data/lib/tap/generator/generators/file_task/templates/file.yml +0 -0
  30. data/lib/tap/generator/generators/file_task/templates/task.erb +0 -0
  31. data/lib/tap/generator/generators/file_task/templates/test.erb +0 -0
  32. data/lib/tap/generator/generators/generator/USAGE +0 -0
  33. data/lib/tap/generator/generators/generator/generator_generator.rb +0 -0
  34. data/lib/tap/generator/generators/generator/templates/generator.erb +0 -0
  35. data/lib/tap/generator/generators/generator/templates/usage.erb +0 -0
  36. data/lib/tap/generator/generators/root/USAGE +0 -0
  37. data/lib/tap/generator/generators/root/root_generator.rb +0 -0
  38. data/lib/tap/generator/generators/root/templates/Rakefile +0 -0
  39. data/lib/tap/generator/generators/root/templates/ReadMe.txt +0 -0
  40. data/lib/tap/generator/generators/root/templates/tap.yml +1 -0
  41. data/lib/tap/generator/generators/root/templates/test/tap_test_helper.rb +0 -0
  42. data/lib/tap/generator/generators/root/templates/test/tap_test_suite.rb +0 -0
  43. data/lib/tap/generator/generators/task/USAGE +0 -0
  44. data/lib/tap/generator/generators/task/task_generator.rb +0 -0
  45. data/lib/tap/generator/generators/task/templates/task.erb +0 -0
  46. data/lib/tap/generator/generators/task/templates/test.erb +0 -0
  47. data/lib/tap/generator/generators/workflow/USAGE +0 -0
  48. data/lib/tap/generator/generators/workflow/templates/task.erb +0 -0
  49. data/lib/tap/generator/generators/workflow/templates/test.erb +0 -0
  50. data/lib/tap/generator/generators/workflow/workflow_generator.rb +0 -0
  51. data/lib/tap/generator/options.rb +0 -0
  52. data/lib/tap/generator/usage.rb +0 -0
  53. data/lib/tap/patches/rake/rake_test_loader.rb +0 -0
  54. data/lib/tap/patches/rake/testtask.rb +0 -0
  55. data/lib/tap/patches/ruby19/backtrace_filter.rb +0 -0
  56. data/lib/tap/patches/ruby19/parsedate.rb +0 -0
  57. data/lib/tap/root.rb +0 -0
  58. data/lib/tap/support/aggregator.rb +0 -0
  59. data/lib/tap/support/audit.rb +0 -0
  60. data/lib/tap/support/batchable.rb +2 -25
  61. data/lib/tap/support/batchable_methods.rb +34 -0
  62. data/lib/tap/support/class_configuration.rb +0 -0
  63. data/lib/tap/support/command_line.rb +103 -0
  64. data/lib/tap/support/command_line_methods.rb +76 -0
  65. data/lib/tap/support/configurable.rb +1 -0
  66. data/lib/tap/support/configurable_methods.rb +1 -73
  67. data/lib/tap/support/executable.rb +0 -0
  68. data/lib/tap/support/executable_queue.rb +0 -0
  69. data/lib/tap/support/logger.rb +0 -0
  70. data/lib/tap/support/rake.rb +0 -0
  71. data/lib/tap/support/run_error.rb +0 -0
  72. data/lib/tap/support/shell_utils.rb +0 -0
  73. data/lib/tap/support/tdoc.rb +0 -0
  74. data/lib/tap/support/tdoc/config_attr.rb +0 -0
  75. data/lib/tap/support/tdoc/tdoc_html_generator.rb +0 -0
  76. data/lib/tap/support/tdoc/tdoc_html_template.rb +0 -0
  77. data/lib/tap/support/validation.rb +0 -0
  78. data/lib/tap/support/versions.rb +0 -0
  79. data/lib/tap/task.rb +1 -0
  80. data/lib/tap/test.rb +0 -0
  81. data/lib/tap/test/env_vars.rb +0 -0
  82. data/lib/tap/test/file_methods.rb +1 -1
  83. data/lib/tap/test/subset_methods.rb +0 -0
  84. data/lib/tap/test/tap_methods.rb +0 -0
  85. data/lib/tap/workflow.rb +1 -0
  86. data/test/app/config/another/task.yml +0 -0
  87. data/test/app/config/batch.yml +0 -0
  88. data/test/app/config/empty.yml +0 -0
  89. data/test/app/config/erb.yml +0 -0
  90. data/test/app/config/some/task.yml +0 -0
  91. data/test/app/config/template.yml +0 -0
  92. data/test/app/config/version-0.1.yml +0 -0
  93. data/test/app/config/version.yml +0 -0
  94. data/test/app/lib/app_test_task.rb +0 -0
  95. data/test/app_test.rb +0 -0
  96. data/test/env/test_configure/recurse_a.yml +0 -0
  97. data/test/env/test_configure/recurse_b.yml +0 -0
  98. data/test/env/test_configure/tap.yml +0 -0
  99. data/test/env/test_load_env_config/dir/tap.yml +0 -0
  100. data/test/env/test_load_env_config/recurse_a.yml +0 -0
  101. data/test/env/test_load_env_config/recurse_b.yml +0 -0
  102. data/test/env/test_load_env_config/tap.yml +0 -0
  103. data/test/env_test.rb +0 -0
  104. data/test/file_task/config/batch.yml +0 -0
  105. data/test/file_task/config/configured.yml +0 -0
  106. data/test/file_task/old_file_one.txt +0 -0
  107. data/test/file_task/old_file_two.txt +0 -0
  108. data/test/file_task_test.rb +0 -0
  109. data/test/root/alt_lib/alt_module.rb +0 -0
  110. data/test/root/file.txt +0 -0
  111. data/test/root/glob/one.txt +0 -0
  112. data/test/root/glob/two.txt +0 -0
  113. data/test/root/lib/absolute_alt_filepath.rb +0 -0
  114. data/test/root/lib/alternative_filepath.rb +0 -0
  115. data/test/root/lib/another_module.rb +0 -0
  116. data/test/root/lib/nested/some_module.rb +0 -0
  117. data/test/root/lib/no_module_included.rb +0 -0
  118. data/test/root/lib/some/module.rb +0 -0
  119. data/test/root/lib/some_class.rb +0 -0
  120. data/test/root/lib/some_module.rb +0 -0
  121. data/test/root/load_path/load_path_module.rb +0 -0
  122. data/test/root/load_path/skip_module.rb +0 -0
  123. data/test/root/mtime/older.txt +0 -0
  124. data/test/root/unload/full_path.rb +0 -0
  125. data/test/root/unload/loaded_by_nested.rb +0 -0
  126. data/test/root/unload/nested/nested_load.rb +0 -0
  127. data/test/root/unload/nested/nested_with_ext.rb +0 -0
  128. data/test/root/unload/nested/relative_path.rb +0 -0
  129. data/test/root/unload/older.rb +0 -0
  130. data/test/root/unload/unload_base.rb +0 -0
  131. data/test/root/versions/another.yml +0 -0
  132. data/test/root/versions/file-0.1.2.yml +0 -0
  133. data/test/root/versions/file-0.1.yml +0 -0
  134. data/test/root/versions/file.yml +0 -0
  135. data/test/root_test.rb +0 -0
  136. data/test/support/aggregator_test.rb +0 -0
  137. data/test/support/audit_test.rb +0 -0
  138. data/test/support/batchable_test.rb +0 -0
  139. data/test/support/class_configuration_test.rb +0 -0
  140. data/test/{script_test.rb → support/command_line_test.rb} +21 -21
  141. data/test/support/configurable/config/configured.yml +0 -0
  142. data/test/support/configurable_test.rb +0 -0
  143. data/test/support/executable_queue_test.rb +0 -0
  144. data/test/support/executable_test.rb +0 -0
  145. data/test/support/logger_test.rb +0 -0
  146. data/test/support/rake_test.rb +0 -0
  147. data/test/support/shell_utils_test.rb +0 -0
  148. data/test/support/tdoc_test.rb +0 -0
  149. data/test/support/validation_test.rb +0 -0
  150. data/test/support/versions_test.rb +0 -0
  151. data/test/tap_test_helper.rb +0 -0
  152. data/test/tap_test_suite.rb +0 -0
  153. data/test/task/config/batch.yml +0 -0
  154. data/test/task/config/batched.yml +0 -0
  155. data/test/task/config/configured.yml +0 -0
  156. data/test/task/config/example.yml +0 -0
  157. data/test/task_base_test.rb +0 -0
  158. data/test/task_syntax_test.rb +0 -0
  159. data/test/task_test.rb +0 -0
  160. data/test/test/env_vars_test.rb +0 -0
  161. data/test/test/file_methods/test_assert_files/expected/one.txt +0 -0
  162. data/test/test/file_methods/test_assert_files/expected/two.txt +0 -0
  163. data/test/test/file_methods/test_assert_files/input/one.txt +0 -0
  164. data/test/test/file_methods/test_assert_files/input/two.txt +0 -0
  165. data/test/test/file_methods/test_assert_files_can_have_no_expected_files_if_specified/input/one.txt +0 -0
  166. data/test/test/file_methods/test_assert_files_can_have_no_expected_files_if_specified/input/two.txt +0 -0
  167. data/test/test/file_methods/test_assert_files_fails_for_different_content/expected/one.txt +0 -0
  168. data/test/test/file_methods/test_assert_files_fails_for_different_content/expected/two.txt +0 -0
  169. data/test/test/file_methods/test_assert_files_fails_for_different_content/input/one.txt +0 -0
  170. data/test/test/file_methods/test_assert_files_fails_for_different_content/input/two.txt +0 -0
  171. data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/expected/one.txt +0 -0
  172. data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/input/one.txt +0 -0
  173. data/test/test/file_methods/test_assert_files_fails_for_missing_expected_file/input/two.txt +0 -0
  174. data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/expected/one.txt +0 -0
  175. data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/expected/two.txt +0 -0
  176. data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/input/one.txt +0 -0
  177. data/test/test/file_methods/test_assert_files_fails_for_missing_output_file/input/two.txt +0 -0
  178. data/test/test/file_methods/test_assert_files_fails_for_no_expected_files/input/one.txt +0 -0
  179. data/test/test/file_methods/test_assert_files_fails_for_no_expected_files/input/two.txt +0 -0
  180. data/test/test/file_methods/test_method_glob/expected/file.yml +0 -0
  181. data/test/test/file_methods/test_method_glob/expected/file_1.txt +0 -0
  182. data/test/test/file_methods/test_method_glob/expected/file_2.txt +0 -0
  183. data/test/test/file_methods_doc/test_sub/expected/one.txt +0 -0
  184. data/test/test/file_methods_doc/test_sub/expected/two.txt +0 -0
  185. data/test/test/file_methods_doc/test_sub/input/one.txt +0 -0
  186. data/test/test/file_methods_doc/test_sub/input/two.txt +0 -0
  187. data/test/test/file_methods_doc_test.rb +0 -0
  188. data/test/test/file_methods_test.rb +0 -0
  189. data/test/test/subset_methods_test.rb +0 -0
  190. data/test/test/tap_methods/test_assert_files/expected/task/name/a.txt +0 -0
  191. data/test/test/tap_methods/test_assert_files/expected/task/name/b.txt +0 -0
  192. data/test/test/tap_methods/test_assert_files/input/a.txt +0 -0
  193. data/test/test/tap_methods/test_assert_files/input/b.txt +0 -0
  194. data/test/test/tap_methods_test.rb +0 -0
  195. data/test/workflow_test.rb +0 -0
  196. data/vendor/rails_generator.rb +0 -0
  197. data/vendor/rails_generator/base.rb +0 -0
  198. data/vendor/rails_generator/commands.rb +0 -0
  199. data/vendor/rails_generator/generated_attribute.rb +0 -0
  200. data/vendor/rails_generator/lookup.rb +0 -0
  201. data/vendor/rails_generator/manifest.rb +0 -0
  202. data/vendor/rails_generator/options.rb +0 -0
  203. data/vendor/rails_generator/scripts.rb +0 -0
  204. data/vendor/rails_generator/scripts/destroy.rb +0 -0
  205. data/vendor/rails_generator/scripts/generate.rb +0 -0
  206. data/vendor/rails_generator/scripts/update.rb +0 -0
  207. data/vendor/rails_generator/simple_logger.rb +0 -0
  208. data/vendor/rails_generator/spec.rb +0 -0
  209. metadata +7 -5
  210. data/lib/tap/script.rb +0 -96
data/lib/tap/file_task.rb CHANGED
File without changes
data/lib/tap/generator.rb CHANGED
File without changes
File without changes
@@ -7,7 +7,6 @@
7
7
  #
8
8
 
9
9
  require 'tap'
10
- require 'tap/script'
11
10
 
12
11
  app = Tap::App.instance
13
12
 
@@ -19,13 +18,10 @@ opts = [
19
18
  ['--help', '-h', GetoptLong::NO_ARGUMENT, "Print this help."],
20
19
  ['--debug', nil, GetoptLong::NO_ARGUMENT, "Specifies debug mode."]]
21
20
 
22
- Tap::Script.handle_options(*opts) do |opt, value|
21
+ Tap::Support::CommandLine.handle_options(*opts) do |opt, value|
23
22
  case opt
24
23
  when '--help'
25
- puts Tap::Script.usage(__FILE__, "Usage", "Description", "Information", :keep_headers => false)
26
- puts
27
- puts "Options:"
28
- puts Tap::Script.usage_options(opts)
24
+ puts Tap::Support::CommandLine.command_help(__FILE__, opts)
29
25
  exit
30
26
 
31
27
  when '--debug'
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -75,5 +75,6 @@
75
75
  # Specify code to execute before and after Tap executes
76
76
  #before: |
77
77
  # puts "beginning..."
78
+ # Tap::Env.instance.discover_gems
78
79
  #after: |
79
80
  # puts "done!"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
data/lib/tap/root.rb CHANGED
File without changes
File without changes
File without changes
@@ -1,35 +1,12 @@
1
1
  module Tap
2
2
  module Support
3
-
3
+
4
4
  # Batchable encapsulates the methods used to support batching
5
5
  # of tasks. See the 'Batches' section in the Tap::Task
6
6
  # documentation for more details on how Batchable works in
7
7
  # practice.
8
8
  module Batchable
9
-
10
- # Merges the batches for the specified objects. All objects
11
- # sharing the individual object batches will be affected, even
12
- # if they are not listed explicitly as an input.
13
- #
14
- # t1 = Tap::Task.new
15
- # t2 = Tap::Task.new
16
- # t3 = t2.initialize_batch_obj
17
- #
18
- # Batchable.batch(t1, t2)
19
- # t3.batch # => [t1,t2,t3]
20
- #
21
- # Returns the new batch.
22
- def self.batch(*tasks)
23
- merged = []
24
- batches = tasks.collect {|task| task.batch }.uniq
25
- batches.each do |batch|
26
- merged.concat(batch)
27
- batch.clear
28
- end
29
- merged.uniq!
30
- batches.each {|batch| batch.concat(merged) }
31
- merged
32
- end
9
+ extend Support::BatchableMethods
33
10
 
34
11
  # The object batch. (must be initializd by classes that
35
12
  # include Batchable)
@@ -0,0 +1,34 @@
1
+ module Tap
2
+ module Support
3
+
4
+ # BatchableMethods encapsulates class methods related to Batchable.
5
+ module BatchableMethods
6
+
7
+ # Merges the batches for the specified objects. All objects
8
+ # sharing the individual object batches will be affected, even
9
+ # if they are not listed explicitly as an input.
10
+ #
11
+ # t1 = Tap::Task.new
12
+ # t2 = Tap::Task.new
13
+ # t3 = t2.initialize_batch_obj
14
+ #
15
+ # Batchable.batch(t1, t2)
16
+ # t3.batch # => [t1,t2,t3]
17
+ #
18
+ # Returns the new batch.
19
+ def batch(*batchables)
20
+ merged = []
21
+ batches = batchables.collect {|batchable| batchable.batch }.uniq
22
+ batches.each do |batch|
23
+ merged.concat(batch)
24
+ batch.clear
25
+ end
26
+ merged.uniq!
27
+ batches.each {|batch| batch.concat(merged) }
28
+ merged
29
+ end
30
+
31
+ end
32
+
33
+ end
34
+ end
File without changes
@@ -0,0 +1,103 @@
1
+ module Tap
2
+ module Support
3
+
4
+ # Under Construction
5
+ module CommandLine
6
+ module_function
7
+
8
+ # Parses the input string as YAML, if the string matches the YAML document
9
+ # specifier (ie it begins with "---\s*\n"). Otherwise returns the string.
10
+ #
11
+ # str = {'key' => 'value'}.to_yaml # => "--- \nkey: value\n"
12
+ # Tap::Script.parse_yaml(str) # => {'key' => 'value'}
13
+ # Tap::Script.parse_yaml("str") # => "str"
14
+ def parse_yaml(str)
15
+ str =~ /\A---\s*\n/ ? YAML.load(str) : str
16
+ end
17
+
18
+ def split_argv(argv)
19
+ current = []
20
+ current_split = []
21
+ splits = [current_split]
22
+
23
+ argv.each do |arg|
24
+ if arg =~ /\A-{2}(\+*)\z/
25
+ current_split << current unless current.empty?
26
+ current = []
27
+ current_split = (splits[$1.length] ||= [])
28
+ else
29
+ current << arg
30
+ end
31
+ end
32
+
33
+ current_split << current unless current.empty?
34
+ splits.delete_if {|split| split.nil? || split.empty? }
35
+ splits
36
+ end
37
+
38
+ def next_arg(argv)
39
+ index = nil
40
+ argv.each_with_index do |arg, i|
41
+ if arg !~ /\A-/
42
+ index = i
43
+ break
44
+ end
45
+ end
46
+ index == nil ? nil : argv.delete_at(index)
47
+ end
48
+
49
+ # Handles options using GetoptLong, and passes each option and
50
+ # value in ARGV to the block.
51
+ #
52
+ #--
53
+ # expect [long, <short>, type, desc]
54
+ #++
55
+ def handle_options(*options)
56
+ options = options.collect do |opt|
57
+ opt = opt[0..-2]
58
+ opt.compact
59
+ end
60
+
61
+ opts = GetoptLong.new(*options)
62
+ opts.quiet = true
63
+ opts.each do |opt, value|
64
+ yield(opt, value)
65
+ end
66
+ end
67
+
68
+ def command_help(program_file, opts)
69
+ lines = []
70
+ lines << usage(program_file, "Usage", "Description", :keep_headers => false)
71
+ unless opts.empty?
72
+ lines.concat ["Options:", usage_options(opts)]
73
+ end
74
+ lines.join("\n")
75
+ end
76
+
77
+ def usage(program_file, *sections)
78
+ options = sections.last.kind_of?(Hash) ? sections.pop : {}
79
+ options = {:keep_headers => true}.merge(options)
80
+ comment = Tap::Support::TDoc.usage(program_file, sections, options[:keep_headers])
81
+ comment.rstrip + "\n"
82
+ end
83
+
84
+ def usage_options(opts)
85
+ opt_lines = []
86
+ opts.each do |long, short, mode, desc|
87
+
88
+ if desc.kind_of?(Class) && desc.include?(Tap::Support::Configurable)
89
+ key = desc.configurations.opt_map(long)
90
+ default = PP.singleline_pp(desc.configurations.default[key], "")
91
+ config_attr = desc.tdoc.find_configuration_named(key.to_s)
92
+ desc = config_attr.desc
93
+ end
94
+
95
+ short = short == nil ? " " : "(#{short})"
96
+ opt_lines << " %-25s %s %s" % [long, short, desc]
97
+ end
98
+ opt_lines.join("\n")
99
+ end
100
+
101
+ end
102
+ end
103
+ end
@@ -0,0 +1,76 @@
1
+ module Tap
2
+ module Support
3
+ autoload(:TDoc, 'tap/support/tdoc')
4
+ autoload(:CommandLine, 'tap/support/command_line')
5
+
6
+ # Under Construction
7
+ module CommandLineMethods
8
+
9
+ # Returns the TDoc documentation for self.
10
+ def tdoc
11
+ @tdoc ||= Tap::Support::TDoc[self]
12
+ end
13
+
14
+ # EXPERIMENTAL
15
+ def help(opts=configurations.to_opts)
16
+ return "could not find help for '#{self}'" if tdoc == nil
17
+
18
+ sections = tdoc.comment_sections(/Description|Usage/i, true)
19
+ %Q{#{self}
20
+ #{sections["Description"]}
21
+ Usage:
22
+ #{sections["Usage"]}
23
+ Options:
24
+ #{Tap::Support::CommandLine.usage_options(opts)}
25
+
26
+ }
27
+ end
28
+
29
+ # EXPERIMENTAL
30
+ def argv_enq(app=App.instance, &block)
31
+ if block_given?
32
+ @argv_enq_block = block
33
+ return
34
+ end
35
+ return @argv_enq_block.call(app) if @argv_enq_block ||= nil
36
+
37
+ config = {}
38
+ opts = configurations.to_opts
39
+ opts << ['--help', nil, GetoptLong::NO_ARGUMENT, "Print this help."]
40
+ opts << ['--debug', nil, GetoptLong::NO_ARGUMENT, "Trace execution and debug"]
41
+ opts << ['--use', nil, GetoptLong::REQUIRED_ARGUMENT, "Loads inputs from file."]
42
+ opts << ['--iterate', nil, GetoptLong::NO_ARGUMENT, "Iterates over inputs."]
43
+
44
+ iterate = false
45
+ Tap::Support::CommandLine.handle_options(*opts) do |opt, value|
46
+ case opt
47
+ when '--help'
48
+ puts help(opts)
49
+ exit
50
+
51
+ when '--debug'
52
+ app.options.debug = true
53
+
54
+ when '--use'
55
+ hash = YAML.load_file(value)
56
+ hash.values.each do |args|
57
+ ARGV.concat(args)
58
+ end
59
+
60
+ when '--iterate'
61
+ iterate = true
62
+
63
+ else
64
+ key = configurations.opt_map(opt)
65
+ config[key] = YAML.load(value)
66
+ end
67
+ end
68
+
69
+ # instantiate and configure task
70
+ task = new(ARGV.shift, config, app)
71
+ iterate ? ARGV.each {|input| task.enq(input) } : task.enq(*ARGV)
72
+ end
73
+ end
74
+
75
+ end
76
+ end
@@ -22,6 +22,7 @@ module Tap
22
22
  include Batchable
23
23
 
24
24
  def self.included(mod)
25
+ mod.extend Support::BatchableMethods
25
26
  mod.extend Support::ConfigurableMethods
26
27
  mod.instance_variable_set(:@configurations, Support::ClassConfiguration.new(mod))
27
28
  mod.instance_variable_set(:@source_files, [])
@@ -1,7 +1,6 @@
1
1
  module Tap
2
2
  module Support
3
- autoload(:TDoc, 'tap/support/tdoc')
4
-
3
+
5
4
  # ConfigurableMethods encapsulates all class methods used to declare
6
5
  # configurations in Tasks. ConfigurableMethods extends classes that
7
6
  # include Tap::Support::Configurable.
@@ -188,78 +187,7 @@ module Tap
188
187
  def default_name
189
188
  @default_name ||= to_s.underscore
190
189
  end
191
-
192
- # Alias for Batchable.batch
193
- def batch(*batchables)
194
- Batchable.batch(*batchables)
195
- end
196
-
197
- # Returns the TDoc documentation for self.
198
- def tdoc
199
- @tdoc ||= Tap::Support::TDoc[self]
200
- end
201
-
202
- # EXPERIMENTAL
203
- def help(opts=configurations.to_opts) # :nodoc:
204
- return "could not find help for '#{self}'" if tdoc == nil
205
-
206
- sections = tdoc.comment_sections(/Description|Usage/i, true)
207
- %Q{#{self}
208
-
209
- #{sections["Description"]}
210
- Usage:
211
- #{sections["Usage"]}
212
- Options:
213
- #{Tap::Script.usage_options(opts)}
214
-
215
- }
216
- end
217
190
 
218
- # EXPERIMENTAL
219
- def argv_enq(app=App.instance, &block) # :nodoc:
220
- if block_given?
221
- @argv_enq_block = block
222
- return
223
- end
224
- return @argv_enq_block.call(app) if @argv_enq_block ||= nil
225
-
226
- config = {}
227
- opts = configurations.to_opts
228
- opts << ['--help', nil, GetoptLong::NO_ARGUMENT, "Print this help."]
229
- opts << ['--debug', nil, GetoptLong::NO_ARGUMENT, "Trace execution and debug"]
230
- opts << ['--use', nil, GetoptLong::REQUIRED_ARGUMENT, "Loads inputs from file."]
231
- opts << ['--iterate', nil, GetoptLong::NO_ARGUMENT, "Iterates over inputs."]
232
-
233
- iterate = false
234
- Tap::Script.handle_options(*opts) do |opt, value|
235
- case opt
236
- when '--help'
237
- puts help(opts)
238
- exit
239
-
240
- when '--debug'
241
- app.options.debug = true
242
-
243
- when '--use'
244
- hash = YAML.load_file(value)
245
- hash.values.each do |args|
246
- ARGV.concat(args)
247
- end
248
-
249
- when '--iterate'
250
- iterate = true
251
-
252
- else
253
- key = configurations.opt_map(opt)
254
- config[key] = YAML.load(value)
255
- end
256
- end
257
-
258
- # configure task
259
- task = app.task(ARGV.shift, config)
260
- iterate ? ARGV.each {|input| task.enq(input) } : task.enq(*ARGV)
261
- end
262
-
263
191
  protected
264
192
 
265
193
  attr_writer :config_mode