sprout 1.0.32.pre → 1.0.35.pre

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of sprout might be problematic. Click here for more details.

Files changed (208) hide show
  1. data/Gemfile +2 -1
  2. data/Gemfile.lock +4 -2
  3. data/README.textile +12 -13
  4. data/VERSION +1 -0
  5. data/doc/Dir.html +288 -0
  6. data/doc/Rake/Task.html +184 -0
  7. data/doc/Sprout.html +144 -0
  8. data/doc/Sprout/ArchiveUnpacker.html +1246 -0
  9. data/doc/Sprout/Base.html +126 -0
  10. data/doc/Sprout/Base/ClassMethods.html +434 -0
  11. data/doc/Sprout/Concern.html +353 -0
  12. data/doc/Sprout/Daemon.html +166 -0
  13. data/doc/Sprout/Daemon/ClassMethods.html +244 -0
  14. data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
  15. data/doc/Sprout/Errors.html +101 -0
  16. data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
  17. data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
  18. data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
  19. data/doc/Sprout/Errors/ExecutableError.html +125 -0
  20. data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
  21. data/doc/Sprout/Errors/ExecutionError.html +121 -0
  22. data/doc/Sprout/Errors/GeneratorError.html +125 -0
  23. data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
  24. data/doc/Sprout/Errors/LoadError.html +121 -0
  25. data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
  26. data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
  27. data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
  28. data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
  29. data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
  30. data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
  31. data/doc/Sprout/Errors/SproutError.html +114 -0
  32. data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
  33. data/doc/Sprout/Errors/UsageError.html +121 -0
  34. data/doc/Sprout/Errors/ValidationError.html +121 -0
  35. data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
  36. data/doc/Sprout/Executable.html +173 -0
  37. data/doc/Sprout/Executable/Boolean.html +483 -0
  38. data/doc/Sprout/Executable/ClassMethods.html +417 -0
  39. data/doc/Sprout/Executable/CollectionParam.html +483 -0
  40. data/doc/Sprout/Executable/FileParam.html +484 -0
  41. data/doc/Sprout/Executable/Files.html +292 -0
  42. data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
  43. data/doc/Sprout/Executable/Number.html +141 -0
  44. data/doc/Sprout/Executable/Param.html +2818 -0
  45. data/doc/Sprout/Executable/ParameterFactory.html +232 -0
  46. data/doc/Sprout/Executable/Path.html +223 -0
  47. data/doc/Sprout/Executable/Paths.html +253 -0
  48. data/doc/Sprout/Executable/StringParam.html +213 -0
  49. data/doc/Sprout/Executable/Strings.html +167 -0
  50. data/doc/Sprout/Executable/Url.html +160 -0
  51. data/doc/Sprout/Executable/Urls.html +170 -0
  52. data/doc/Sprout/FileTarget.html +1109 -0
  53. data/doc/Sprout/Generator.html +689 -0
  54. data/doc/Sprout/Generator/Base.html +1626 -0
  55. data/doc/Sprout/Generator/Command.html +690 -0
  56. data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
  57. data/doc/Sprout/Generator/FileManifest.html +572 -0
  58. data/doc/Sprout/Generator/Manifest.html +377 -0
  59. data/doc/Sprout/Generator/TemplateManifest.html +196 -0
  60. data/doc/Sprout/GeneratorGenerator.html +1018 -0
  61. data/doc/Sprout/Library.html +1141 -0
  62. data/doc/Sprout/LibraryGenerator.html +309 -0
  63. data/doc/Sprout/Log.html +496 -0
  64. data/doc/Sprout/MXMLC.html +6373 -0
  65. data/doc/Sprout/Platform.html +714 -0
  66. data/doc/Sprout/ProcessRunner.html +1352 -0
  67. data/doc/Sprout/ProgressBar.html +376 -0
  68. data/doc/Sprout/ProgressBarImpl.html +2119 -0
  69. data/doc/Sprout/ProgressBarManager.html +434 -0
  70. data/doc/Sprout/ProgressBarOutputStream.html +416 -0
  71. data/doc/Sprout/RDocParser.html +211 -0
  72. data/doc/Sprout/RemoteFileLoader.html +172 -0
  73. data/doc/Sprout/RemoteFileTarget.html +679 -0
  74. data/doc/Sprout/ReversedProgressBar.html +194 -0
  75. data/doc/Sprout/RubyFeature.html +155 -0
  76. data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
  77. data/doc/Sprout/RubyGenerator.html +764 -0
  78. data/doc/Sprout/Specification.html +767 -0
  79. data/doc/Sprout/System.html +191 -0
  80. data/doc/Sprout/System/BaseSystem.html +1455 -0
  81. data/doc/Sprout/System/JavaSystem.html +122 -0
  82. data/doc/Sprout/System/OSXSystem.html +335 -0
  83. data/doc/Sprout/System/ThreadMock.html +193 -0
  84. data/doc/Sprout/System/UnixSystem.html +584 -0
  85. data/doc/Sprout/System/VistaSystem.html +251 -0
  86. data/doc/Sprout/System/WinNixSystem.html +325 -0
  87. data/doc/Sprout/System/WinSystem.html +571 -0
  88. data/doc/Sprout/ToolGenerator.html +931 -0
  89. data/doc/Sprout/VERSION.html +128 -0
  90. data/doc/SproutTestCase.html +1412 -0
  91. data/doc/String.html +286 -0
  92. data/doc/_index.html +1035 -0
  93. data/doc/class_list.html +36 -0
  94. data/doc/css/common.css +1 -0
  95. data/doc/css/full_list.css +53 -0
  96. data/doc/css/style.css +310 -0
  97. data/doc/file.README.html +96 -0
  98. data/doc/file.archive_unpacker.html +288 -0
  99. data/doc/file.base.html +208 -0
  100. data/doc/file.base_system.html +278 -0
  101. data/doc/file.boolean.html +135 -0
  102. data/doc/file.collection_param.html +139 -0
  103. data/doc/file.command.html +126 -0
  104. data/doc/file.concern.html +136 -0
  105. data/doc/file.daemon.html +309 -0
  106. data/doc/file.dir.html +76 -0
  107. data/doc/file.directory_manifest.html +122 -0
  108. data/doc/file.errors.html +147 -0
  109. data/doc/file.executable.html +638 -0
  110. data/doc/file.file_manifest.html +109 -0
  111. data/doc/file.file_param.html +120 -0
  112. data/doc/file.file_target.html +140 -0
  113. data/doc/file.files.html +85 -0
  114. data/doc/file.generator.html +296 -0
  115. data/doc/file.generator_class.html +72 -0
  116. data/doc/file.generator_generator.html +137 -0
  117. data/doc/file.generator_test.html +92 -0
  118. data/doc/file.generator_test_helper.html +67 -0
  119. data/doc/file.java_system.html +62 -0
  120. data/doc/file.library.html +291 -0
  121. data/doc/file.library_generator.html +74 -0
  122. data/doc/file.log.html +100 -0
  123. data/doc/file.manifest.html +67 -0
  124. data/doc/file.mxmlc.html +740 -0
  125. data/doc/file.number.html +67 -0
  126. data/doc/file.osx_system.html +79 -0
  127. data/doc/file.param.html +491 -0
  128. data/doc/file.parameter_factory.html +119 -0
  129. data/doc/file.path.html +81 -0
  130. data/doc/file.paths.html +80 -0
  131. data/doc/file.platform.html +124 -0
  132. data/doc/file.process_runner.html +224 -0
  133. data/doc/file.progress_bar.html +390 -0
  134. data/doc/file.rdoc_parser.html +145 -0
  135. data/doc/file.remote_file_loader.html +117 -0
  136. data/doc/file.remote_file_target.html +176 -0
  137. data/doc/file.ruby_base.html +64 -0
  138. data/doc/file.ruby_feature.html +244 -0
  139. data/doc/file.ruby_generator.html +118 -0
  140. data/doc/file.ruby_input.html +62 -0
  141. data/doc/file.ruby_test_case.html +78 -0
  142. data/doc/file.ruby_test_helper.html +61 -0
  143. data/doc/file.specification.html +248 -0
  144. data/doc/file.sprout.html +64 -0
  145. data/doc/file.sprout_test_case.html +280 -0
  146. data/doc/file.string.html +72 -0
  147. data/doc/file.string_param.html +76 -0
  148. data/doc/file.strings.html +71 -0
  149. data/doc/file.system.html +86 -0
  150. data/doc/file.template_manifest.html +67 -0
  151. data/doc/file.tool.html +92 -0
  152. data/doc/file.tool_generator.html +90 -0
  153. data/doc/file.unix_system.html +128 -0
  154. data/doc/file.url.html +71 -0
  155. data/doc/file.urls.html +70 -0
  156. data/doc/file.version.html +71 -0
  157. data/doc/file.vista_system.html +69 -0
  158. data/doc/file.win_nix_system.html +88 -0
  159. data/doc/file.win_system.html +129 -0
  160. data/doc/file_list.html +230 -0
  161. data/doc/frames.html +13 -0
  162. data/doc/index.html +96 -0
  163. data/doc/js/app.js +202 -0
  164. data/doc/js/full_list.js +149 -0
  165. data/doc/js/jquery.js +154 -0
  166. data/doc/method_list.html +3355 -0
  167. data/doc/top-level-namespace.html +192 -0
  168. data/lib/sprout/archive_unpacker.rb +203 -137
  169. data/lib/sprout/base.rb +38 -11
  170. data/lib/sprout/concern.rb +51 -0
  171. data/lib/sprout/daemon.rb +256 -0
  172. data/lib/sprout/executable.rb +40 -11
  173. data/lib/sprout/executable/boolean.rb +47 -1
  174. data/lib/sprout/executable/collection_param.rb +33 -1
  175. data/lib/sprout/executable/file_param.rb +16 -3
  176. data/lib/sprout/executable/files.rb +5 -0
  177. data/lib/sprout/executable/number.rb +5 -1
  178. data/lib/sprout/executable/param.rb +232 -16
  179. data/lib/sprout/executable/parameter_factory.rb +39 -1
  180. data/lib/sprout/executable/path.rb +7 -1
  181. data/lib/sprout/executable/paths.rb +6 -1
  182. data/lib/sprout/executable/string_param.rb +8 -1
  183. data/lib/sprout/executable/strings.rb +7 -1
  184. data/lib/sprout/executable/url.rb +8 -1
  185. data/lib/sprout/executable/urls.rb +7 -1
  186. data/lib/sprout/file_target.rb +11 -11
  187. data/lib/sprout/generator.rb +244 -0
  188. data/lib/sprout/generator/base.rb +0 -94
  189. data/lib/sprout/generators/generator/generator_generator.rb +35 -1
  190. data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
  191. data/lib/sprout/library.rb +75 -0
  192. data/lib/sprout/log.rb +11 -12
  193. data/lib/sprout/process_runner.rb +29 -9
  194. data/lib/sprout/remote_file_target.rb +20 -9
  195. data/lib/sprout/system/base_system.rb +11 -3
  196. data/lib/sprout/test/sprout_test_case.rb +1 -0
  197. data/lib/sprout/version.rb +7 -11
  198. data/rakefile.rb +7 -12
  199. data/script/add_param_handler.rb +43 -0
  200. data/sprout.gemspec +2 -3
  201. data/test/fixtures/executable/fdb.rb +764 -0
  202. data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
  203. data/test/fixtures/executable/mxmlc.rb +9 -11
  204. data/test/unit/daemon_test.rb +61 -0
  205. data/test/unit/process_runner_test.rb +21 -0
  206. data/test/unit/remote_file_target_test.rb +45 -11
  207. data/test/unit/sprout_test_helper.rb +1 -1
  208. metadata +210 -29
@@ -0,0 +1,64 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: sprout</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: sprout</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>lib = File.expand_path File.dirname(__FILE__) $:.unshift lib unless
46
+ $:.include?(lib)</p>
47
+
48
+ <p>require ‘sprout/base’</p>
49
+
50
+ <p>module Sprout</p>
51
+
52
+ <pre class="code"><span class='id include'>include</span> <span class='const'>Base</span></pre>
53
+
54
+ <p>end</p>
55
+ </div></div>
56
+
57
+ <div id="footer">
58
+ Generated on Wed Dec 22 11:58:32 2010 by
59
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
60
+ 0.6.3 (ruby-1.9.2).
61
+ </div>
62
+
63
+ </body>
64
+ </html>
@@ -0,0 +1,280 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: sprout_test_case</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: sprout_test_case</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p># Had to make this a module instead of a base class # because the ruby test
46
+ suite kept complaining that # the abstract test case didn’t have any test
47
+ mehods # or assertions module SproutTestCase # :nodoc:[all]</p>
48
+
49
+ <pre class="code"><span class='const'>FIXTURES_NAME</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>fixtures</span><span class='tstring_end'>'</span></span>
50
+
51
+ <span class='comment'># Gives us the ability to hide RubyGem output from
52
+ </span><span class='comment'># our test results...
53
+ </span><span class='id include'>include</span> <span class='const'>Gem</span><span class='op'>::</span><span class='const'>DefaultUserInteraction</span>
54
+
55
+ <span class='kw'>def</span> <span class='id fixtures'>fixtures</span> <span class='id from'>from</span><span class='op'>=</span><span class='kw'>nil</span>
56
+ <span class='ivar'>@fixtures</span> <span class='op'>||=</span> <span class='id find_fixtures'>find_fixtures</span><span class='lparen'>(</span><span class='id from'>from</span> <span class='op'>||</span> <span class='const'>Sprout</span><span class='period'>.</span><span class='id file_from_caller'>file_from_caller</span><span class='lparen'>(</span><span class='id caller'>caller</span><span class='period'>.</span><span class='id first'>first</span><span class='rparen'>)</span><span class='rparen'>)</span>
57
+ <span class='kw'>end</span>
58
+
59
+ <span class='kw'>def</span> <span class='id setup'>setup</span>
60
+ <span class='kw'>super</span>
61
+ <span class='ivar'>@start_path</span> <span class='op'>=</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id pwd'>pwd</span>
62
+ <span class='kw'>end</span>
63
+
64
+ <span class='kw'>def</span> <span class='id teardown'>teardown</span>
65
+ <span class='kw'>super</span>
66
+ <span class='id clear_tasks'>clear_tasks</span>
67
+
68
+ <span class='id remove_file'>remove_file</span> <span class='ivar'>@temp_path</span>
69
+ <span class='id remove_file'>remove_file</span> <span class='ivar'>@temp_cache</span>
70
+
71
+ <span class='ivar'>@temp_path</span> <span class='op'>=</span> <span class='kw'>nil</span>
72
+ <span class='ivar'>@temp_cache</span> <span class='op'>=</span> <span class='kw'>nil</span>
73
+
74
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='ivar'>@start_path</span> <span class='op'>&amp;&amp;</span> <span class='const'>Dir</span><span class='period'>.</span><span class='id pwd'>pwd</span> <span class='op'>!=</span> <span class='ivar'>@start_path</span><span class='rparen'>)</span>
75
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[WARNING] &gt;&gt; SproutTestCase changing dir from </span><span class='embexpr_beg'>#{</span><span class='const'>Dir</span><span class='period'>.</span><span class='id pwd'>pwd</span><span class='rbrace'>}</span><span class='tstring_content'> back to: </span><span class='embexpr_beg'>#{</span><span class='ivar'>@start_path</span><span class='rbrace'>}</span><span class='tstring_content'> - Did you mean to leave your working directory in a new place?</span><span class='tstring_end'>&quot;</span></span>
76
+ <span class='const'>Dir</span><span class='period'>.</span><span class='id chdir'>chdir</span> <span class='ivar'>@start_path</span>
77
+ <span class='kw'>end</span>
78
+ <span class='kw'>end</span>
79
+
80
+ <span class='kw'>def</span> <span class='id temp_path'>temp_path</span>
81
+ <span class='id caller_file'>caller_file</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='period'>.</span><span class='id file_from_caller'>file_from_caller</span> <span class='id caller'>caller</span><span class='period'>.</span><span class='id first'>first</span>
82
+ <span class='ivar'>@temp_path</span> <span class='op'>||=</span> <span class='id make_temp_folder'>make_temp_folder</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id caller_file'>caller_file</span><span class='rparen'>)</span>
83
+ <span class='kw'>end</span>
84
+
85
+ <span class='kw'>def</span> <span class='id make_temp_folder'>make_temp_folder</span> <span class='id from'>from</span>
86
+ <span class='id dir'>dir</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id fixtures'>fixtures</span><span class='lparen'>(</span><span class='id from'>from</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tmp</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
87
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id mkdir_p'>mkdir_p</span> <span class='id dir'>dir</span>
88
+ <span class='id dir'>dir</span>
89
+ <span class='kw'>end</span>
90
+
91
+ <span class='kw'>def</span> <span class='id run_task'>run_task</span><span class='lparen'>(</span><span class='id name'>name</span><span class='rparen'>)</span>
92
+ <span class='id t'>t</span> <span class='op'>=</span> <span class='const'>Rake</span><span class='period'>.</span><span class='id application'>application</span><span class='lbracket'>[</span><span class='id name'>name</span><span class='rbracket'>]</span>
93
+ <span class='id t'>t</span><span class='period'>.</span><span class='id invoke'>invoke</span>
94
+ <span class='kw'>return</span> <span class='id t'>t</span>
95
+ <span class='kw'>end</span>
96
+
97
+ <span class='kw'>def</span> <span class='id get_task'>get_task</span><span class='lparen'>(</span><span class='id name'>name</span><span class='rparen'>)</span>
98
+ <span class='kw'>return</span> <span class='const'>Rake</span><span class='period'>.</span><span class='id application'>application</span><span class='lbracket'>[</span><span class='id name'>name</span><span class='rbracket'>]</span>
99
+ <span class='kw'>end</span>
100
+
101
+ <span class='kw'>def</span> <span class='id clear_tasks'>clear_tasks</span>
102
+ <span class='const'>CLEAN</span><span class='period'>.</span><span class='id delete_if'>delete_if</span> <span class='lbrace'>{</span><span class='op'>|</span><span class='id a'>a</span><span class='op'>|</span> <span class='kw'>true</span> <span class='rbrace'>}</span>
103
+ <span class='const'>Rake</span><span class='op'>::</span><span class='const'>Task</span><span class='period'>.</span><span class='id clear'>clear</span>
104
+ <span class='const'>Rake</span><span class='period'>.</span><span class='id application'>application</span><span class='period'>.</span><span class='id clear'>clear</span>
105
+ <span class='kw'>end</span>
106
+
107
+ <span class='kw'>def</span> <span class='id create_file'>create_file</span> <span class='id path'>path</span>
108
+ <span class='id dir'>dir</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span> <span class='id path'>path</span>
109
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id mkdir_p'>mkdir_p</span> <span class='id dir'>dir</span>
110
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id touch'>touch</span> <span class='id path'>path</span>
111
+ <span class='kw'>end</span>
112
+
113
+ <span class='kw'>def</span> <span class='id remove_file'>remove_file</span><span class='lparen'>(</span><span class='id path'>path</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
114
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id path'>path</span> <span class='op'>&amp;&amp;</span> <span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='rparen'>)</span>
115
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id rm_rf'>rm_rf</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
116
+ <span class='kw'>end</span>
117
+ <span class='kw'>end</span>
118
+
119
+ <span class='kw'>def</span> <span class='id assert_file'>assert_file</span><span class='lparen'>(</span><span class='id path'>path</span><span class='comma'>,</span> <span class='id message'>message</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
120
+ <span class='id message'>message</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Expected file not found at </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
121
+ <span class='id assert'>assert</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id message'>message</span><span class='rparen'>)</span>
122
+ <span class='kw'>yield</span> <span class='const'>File</span><span class='period'>.</span><span class='id read'>read</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
123
+ <span class='kw'>end</span>
124
+
125
+ <span class='kw'>def</span> <span class='id assert_directory'>assert_directory</span><span class='lparen'>(</span><span class='id path'>path</span><span class='comma'>,</span> <span class='id message'>message</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
126
+ <span class='id message'>message</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Expected directory not found at </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
127
+ <span class='id assert'>assert</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id message'>message</span><span class='rparen'>)</span>
128
+ <span class='kw'>end</span>
129
+
130
+ <span class='kw'>def</span> <span class='id assert_not_empty'>assert_not_empty</span><span class='lparen'>(</span><span class='id path'>path</span><span class='comma'>,</span> <span class='id message'>message</span><span class='op'>=</span><span class='kw'>nil</span><span class='rparen'>)</span>
131
+ <span class='id assert_file'>assert_file</span> <span class='id path'>path</span><span class='comma'>,</span> <span class='id message'>message</span>
132
+ <span class='id files'>files</span> <span class='op'>=</span> <span class='const'>FileList</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_content'>/*</span><span class='tstring_end'>&quot;</span></span><span class='rbracket'>]</span>
133
+ <span class='id message'>message</span> <span class='op'>||=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'> - Expected </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_content'> to not be empty, but it was</span><span class='tstring_end'>&quot;</span></span>
134
+ <span class='id assert'>assert</span> <span class='id files'>files</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id message'>message</span>
135
+ <span class='kw'>end</span>
136
+
137
+ <span class='kw'>def</span> <span class='id assert_matches'>assert_matches</span><span class='lparen'>(</span><span class='id expression'>expression</span><span class='comma'>,</span> <span class='id string'>string</span><span class='comma'>,</span> <span class='id message'>message</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
138
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id expression'>expression</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>String</span><span class='rparen'>)</span><span class='rparen'>)</span>
139
+ <span class='id expresion'>expresion</span> <span class='op'>=</span> <span class='tstring'><span class='regexp_beg'>/</span><span class='embexpr_beg'>#{</span><span class='id expression'>expression</span><span class='rbrace'>}</span><span class='regexp_end'>/</span></span>
140
+ <span class='kw'>end</span>
141
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='op'>!</span><span class='id string'>string</span><span class='period'>.</span><span class='id match'>match</span><span class='lparen'>(</span><span class='id expression'>expression</span><span class='rparen'>)</span><span class='rparen'>)</span>
142
+ <span class='id fail'>fail</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id message'>message</span><span class='rbrace'>}</span><span class='tstring_content'> - '</span><span class='embexpr_beg'>#{</span><span class='id string'>string</span><span class='rbrace'>}</span><span class='tstring_content'>' should include '</span><span class='embexpr_beg'>#{</span><span class='id expression'>expression</span><span class='rbrace'>}</span><span class='tstring_content'>'</span><span class='tstring_end'>&quot;</span></span>
143
+ <span class='kw'>end</span>
144
+ <span class='kw'>end</span>
145
+
146
+ <span class='comment'>##
147
+ </span><span class='comment'># Add the skip method that was introduced in Ruby 1.9.1 Test::Unit
148
+ </span><span class='comment'># This doesn't really work all that well...
149
+ </span><span class='kw'>if</span><span class='lparen'>(</span><span class='const'>RUBY_VERSION</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1.8.7</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
150
+ <span class='kw'>def</span> <span class='id skip'>skip</span> <span class='id message'>message</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_end'>&quot;</span></span>
151
+ <span class='id puts'>puts</span>
152
+ <span class='id puts'>puts</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>&gt;&gt; SproutTestCase.skip called from: </span><span class='embexpr_beg'>#{</span><span class='id caller'>caller</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span><span class='rbrace'>}</span><span class='tstring_content'> ( </span><span class='embexpr_beg'>#{</span><span class='id message'>message</span><span class='rbrace'>}</span><span class='tstring_content'> )</span><span class='tstring_end'>&quot;</span></span>
153
+ <span class='kw'>end</span>
154
+ <span class='kw'>end</span>
155
+
156
+ <span class='kw'>def</span> <span class='id temp_cache'>temp_cache</span>
157
+ <span class='id dir'>dir</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='const'>Sprout</span><span class='period'>.</span><span class='id file_from_caller'>file_from_caller</span><span class='lparen'>(</span><span class='id caller'>caller</span><span class='period'>.</span><span class='id first'>first</span><span class='rparen'>)</span><span class='rparen'>)</span>
158
+ <span class='ivar'>@temp_cache</span> <span class='op'>||=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id fixtures'>fixtures</span><span class='lparen'>(</span><span class='id dir'>dir</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>sprout</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>cache</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
159
+ <span class='kw'>end</span>
160
+
161
+ <span class='kw'>def</span> <span class='id as_each_system'>as_each_system</span>
162
+ <span class='lbracket'>[</span>
163
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>VistaSystem</span><span class='period'>.</span><span class='id new'>new</span><span class='comma'>,</span>
164
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>WinNixSystem</span><span class='period'>.</span><span class='id new'>new</span><span class='comma'>,</span>
165
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>WinSystem</span><span class='period'>.</span><span class='id new'>new</span><span class='comma'>,</span>
166
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>JavaSystem</span><span class='period'>.</span><span class='id new'>new</span><span class='comma'>,</span>
167
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>OSXSystem</span><span class='period'>.</span><span class='id new'>new</span><span class='comma'>,</span>
168
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>UnixSystem</span><span class='period'>.</span><span class='id new'>new</span>
169
+ <span class='rbracket'>]</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id sys'>sys</span><span class='op'>|</span>
170
+ <span class='id expectation'>expectation</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='period'>.</span><span class='id stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:create</span><span class='rparen'>)</span><span class='period'>.</span><span class='id returns'>returns</span> <span class='id sys'>sys</span>
171
+ <span class='kw'>yield</span> <span class='id sys'>sys</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
172
+ <span class='comment'># Ugh - This is way too greedy... We're killing all mocks in here
173
+ </span> <span class='comment'># Doing it anyway b/c we need to get Windows support in place...
174
+ </span> <span class='comment'># TODO: Implement this feature without clobbering all stubs/mocks
175
+ </span> <span class='const'>Mocha</span><span class='op'>::</span><span class='const'>Mockery</span><span class='period'>.</span><span class='id instance'>instance</span><span class='period'>.</span><span class='id teardown'>teardown</span>
176
+ <span class='kw'>end</span>
177
+ <span class='kw'>end</span>
178
+
179
+ <span class='kw'>def</span> <span class='id as_a_unix_system'>as_a_unix_system</span>
180
+ <span class='id sys'>sys</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>UnixSystem</span><span class='period'>.</span><span class='id new'>new</span>
181
+ <span class='id expectation'>expectation</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='period'>.</span><span class='id stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:create</span><span class='rparen'>)</span><span class='period'>.</span><span class='id returns'>returns</span> <span class='id sys'>sys</span>
182
+ <span class='kw'>yield</span> <span class='id sys'>sys</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
183
+ <span class='comment'># Ugh - This is way too greedy... We're killing all mocks in here
184
+ </span> <span class='comment'># Doing it anyway b/c we need to get Windows support in place...
185
+ </span> <span class='comment'># TODO: Implement this feature without clobbering all stubs/mocks
186
+ </span> <span class='comment'>#Mocha::Mockery.instance.teardown
187
+ </span><span class='kw'>end</span>
188
+
189
+ <span class='kw'>def</span> <span class='id as_a_mac_system'>as_a_mac_system</span>
190
+ <span class='id sys'>sys</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>OSXSystem</span><span class='period'>.</span><span class='id new'>new</span>
191
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='period'>.</span><span class='id stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:create</span><span class='rparen'>)</span><span class='period'>.</span><span class='id returns'>returns</span> <span class='id sys'>sys</span>
192
+ <span class='kw'>yield</span> <span class='id sys'>sys</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
193
+ <span class='comment'># Ugh - This is way too greedy... We're killing all mocks in here
194
+ </span> <span class='comment'># Doing it anyway b/c we need to get Windows support in place...
195
+ </span> <span class='comment'># TODO: Implement this feature without clobbering all stubs/mocks
196
+ </span> <span class='comment'>#Mocha::Mockery.instance.teardown
197
+ </span><span class='kw'>end</span>
198
+
199
+ <span class='kw'>def</span> <span class='id as_a_windows_system'>as_a_windows_system</span>
200
+ <span class='id sys'>sys</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>WinSystem</span><span class='period'>.</span><span class='id new'>new</span>
201
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='period'>.</span><span class='id stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:create</span><span class='rparen'>)</span><span class='period'>.</span><span class='id returns'>returns</span> <span class='id sys'>sys</span>
202
+ <span class='kw'>yield</span> <span class='id sys'>sys</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
203
+ <span class='comment'># Ugh - This is way too greedy... We're killing all mocks in here
204
+ </span> <span class='comment'># Doing it anyway b/c we need to get Windows support in place...
205
+ </span> <span class='comment'># TODO: Implement this feature without clobbering all stubs/mocks
206
+ </span> <span class='comment'>#Mocha::Mockery.instance.teardown
207
+ </span><span class='kw'>end</span>
208
+
209
+ <span class='kw'>def</span> <span class='id as_a_win_nix_system'>as_a_win_nix_system</span>
210
+ <span class='id sys'>sys</span> <span class='op'>=</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='op'>::</span><span class='const'>WinNixSystem</span><span class='period'>.</span><span class='id new'>new</span>
211
+ <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>System</span><span class='period'>.</span><span class='id stubs'>stubs</span><span class='lparen'>(</span><span class='symbol'>:create</span><span class='rparen'>)</span><span class='period'>.</span><span class='id returns'>returns</span> <span class='id sys'>sys</span>
212
+ <span class='kw'>yield</span> <span class='id sys'>sys</span> <span class='kw'>if</span> <span class='id block_given?'>block_given?</span>
213
+ <span class='comment'># Ugh - This is way too greedy... We're killing all mocks in here
214
+ </span> <span class='comment'># Doing it anyway b/c we need to get Windows support in place...
215
+ </span> <span class='comment'># TODO: Implement this feature without clobbering all stubs/mocks
216
+ </span> <span class='comment'>#Mocha::Mockery.instance.teardown
217
+ </span><span class='kw'>end</span>
218
+
219
+ <span class='id private'>private</span>
220
+
221
+ <span class='comment'># Find the nearest fixtures folder to the provided
222
+ </span><span class='comment'># path by checking each parent directory.
223
+ </span><span class='kw'>def</span> <span class='id find_fixtures'>find_fixtures</span> <span class='id path'>path</span>
224
+ <span class='comment'># Return nil if path is nil or is not a file:
225
+ </span> <span class='id find_fixtures_error'>find_fixtures_error</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='kw'>if</span><span class='lparen'>(</span><span class='id find_reached_root?'>find_reached_root?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='rparen'>)</span>
226
+ <span class='comment'># Get the parent directory if path is a file:
227
+ </span> <span class='id path'>path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span> <span class='id path'>path</span>
228
+ <span class='kw'>if</span><span class='lparen'>(</span><span class='id should_create_fixtures_for?'>should_create_fixtures_for?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span><span class='rparen'>)</span>
229
+ <span class='const'>FileUtils</span><span class='period'>.</span><span class='id makedirs'>makedirs</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id path'>path</span><span class='comma'>,</span> <span class='const'>FIXTURES_NAME</span><span class='rparen'>)</span>
230
+ <span class='kw'>end</span>
231
+ <span class='comment'># Check for a folder at &quot;#{path}/fixtures&quot;:
232
+ </span> <span class='id fixture_path'>fixture_path</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id path'>path</span><span class='comma'>,</span> <span class='const'>FIXTURES_NAME</span><span class='rparen'>)</span>
233
+ <span class='comment'># Return the fixtures folder if found:
234
+ </span> <span class='kw'>return</span> <span class='id fixture_path'>fixture_path</span> <span class='kw'>if</span> <span class='const'>File</span><span class='period'>.</span><span class='id directory?'>directory?</span> <span class='id fixture_path'>fixture_path</span>
235
+ <span class='comment'># Move up one directory and try again:
236
+ </span> <span class='kw'>return</span> <span class='id find_fixtures'>find_fixtures</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='id path'>path</span>
237
+ <span class='kw'>end</span>
238
+
239
+ <span class='kw'>def</span> <span class='id should_create_fixtures_for?'>should_create_fixtures_for?</span> <span class='id path'>path</span>
240
+ <span class='id basename'>basename</span> <span class='op'>=</span> <span class='const'>File</span><span class='period'>.</span><span class='id basename'>basename</span> <span class='id path'>path</span>
241
+ <span class='kw'>return</span> <span class='id basename'>basename</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>test</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='id basename'>basename</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>tests</span><span class='tstring_end'>'</span></span>
242
+ <span class='kw'>end</span>
243
+
244
+ <span class='kw'>def</span> <span class='id find_fixtures_error'>find_fixtures_error</span> <span class='id path'>path</span>
245
+ <span class='id raise'>raise</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Errors</span><span class='op'>::</span><span class='const'>UsageError</span><span class='period'>.</span><span class='id new'>new</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>Request to find a fixtures folder failed at: </span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
246
+ <span class='kw'>end</span>
247
+
248
+ <span class='kw'>def</span> <span class='id find_reached_root?'>find_reached_root?</span> <span class='id path'>path</span>
249
+ <span class='kw'>return</span> <span class='lparen'>(</span><span class='id path'>path</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='op'>||</span> <span class='op'>!</span><span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='op'>||</span> <span class='const'>File</span><span class='period'>.</span><span class='id dirname'>dirname</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span> <span class='op'>==</span> <span class='id path'>path</span><span class='rparen'>)</span>
250
+ <span class='kw'>end</span></pre>
251
+
252
+ <p>end</p>
253
+
254
+ <pre class="code"><span class='comment'># TODO: Consider adding these:
255
+ </span><span class='comment'># Some generator-related assertions:
256
+ </span><span class='comment'># assert_generated_file(name, &amp;block) # block passed the file contents
257
+ </span><span class='comment'># assert_directory_exists(name)
258
+ </span><span class='comment'># assert_generated_class(name, &amp;block)
259
+ </span><span class='comment'># assert_generated_module(name, &amp;block)
260
+ </span><span class='comment'># assert_generated_test_for(name, &amp;block)
261
+ </span><span class='comment'># The assert_generated_(class|module|test_for) &amp;block is passed the body of the class/module within the file
262
+ </span><span class='comment'># assert_has_method(body, *methods) # check that the body has a list of methods (methods with parentheses not supported yet)
263
+ </span><span class='comment'>#
264
+ </span><span class='comment'># Other helper methods are:
265
+ </span><span class='comment'># app_root_files - put this in teardown to show files generated by the test method (e.g. p app_root_files)
266
+ </span><span class='comment'># bare_setup - place this in setup method to create the app_root folder for each test
267
+ </span><span class='comment'># bare_teardown - place this in teardown method to destroy the TMP_ROOT or app_root folder after each test</span></pre>
268
+
269
+ <p># Prevent log messages from interrupting the test output: Sprout::Log.debug
270
+ = true #Sprout::ProgressBar.debug = true</p>
271
+ </div></div>
272
+
273
+ <div id="footer">
274
+ Generated on Wed Dec 22 11:58:32 2010 by
275
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
276
+ 0.6.3 (ruby-1.9.2).
277
+ </div>
278
+
279
+ </body>
280
+ </html>
@@ -0,0 +1,72 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: string</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: string</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>class String</p>
46
+
47
+ <pre class="code"><span class='comment'># &quot;FooBar&quot;.snake_case #=&gt; &quot;foo_bar&quot;
48
+ </span><span class='kw'>def</span> <span class='id snake_case'>snake_case</span>
49
+ <span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>\B[A-Z]</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>_\&amp;</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span><span class='period'>.</span><span class='id downcase'>downcase</span>
50
+ <span class='kw'>end</span>
51
+
52
+ <span class='comment'># &quot;foo_bar&quot;.camel_case #=&gt; &quot;FooBar&quot;
53
+ </span><span class='kw'>def</span> <span class='id camel_case'>camel_case</span>
54
+ <span class='id str'>str</span> <span class='op'>=</span> <span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>^[a-z]|_+[a-z]</span><span class='regexp_end'>/</span></span><span class='rparen'>)</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id a'>a</span><span class='op'>|</span> <span class='id a'>a</span><span class='period'>.</span><span class='id upcase'>upcase</span> <span class='rbrace'>}</span>
55
+ <span class='id str'>str</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>_</span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
56
+ <span class='kw'>end</span>
57
+
58
+ <span class='kw'>def</span> <span class='id dash_case'>dash_case</span>
59
+ <span class='kw'>self</span><span class='period'>.</span><span class='id snake_case'>snake_case</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>_</span><span class='tstring_end'>'</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>-</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
60
+ <span class='kw'>end</span></pre>
61
+
62
+ <p>end</p>
63
+ </div></div>
64
+
65
+ <div id="footer">
66
+ Generated on Wed Dec 22 11:58:32 2010 by
67
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
68
+ 0.6.3 (ruby-1.9.2).
69
+ </div>
70
+
71
+ </body>
72
+ </html>
@@ -0,0 +1,76 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=utf-8" />
6
+ <title>File: string_param</title>
7
+ <link rel="stylesheet" href="css/style.css" type="text/css" media="screen" charset="utf-8" />
8
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
9
+
10
+ <script type="text/javascript" charset="utf-8">
11
+ relpath = '';
12
+ if (relpath != '') relpath += '/';
13
+ </script>
14
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
15
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
16
+
17
+ </head>
18
+ <body>
19
+ <script type="text/javascript" charset="utf-8">
20
+ if (window.top.frames.main) document.body.className = 'frames';
21
+ </script>
22
+
23
+ <div id="header">
24
+ <div id="menu">
25
+
26
+ <a href="_index.html" title="Index">Index</a> &raquo;
27
+ <span class="title">File: string_param</span>
28
+
29
+
30
+ <div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
31
+ </div>
32
+
33
+ <div id="search">
34
+ <a id="class_list_link" href="#">Class List</a>
35
+ <a id="method_list_link" href="#">Method List</a>
36
+ <a id ="file_list_link" href="#">File List</a>
37
+ </div>
38
+
39
+ <div class="clear"></div>
40
+ </div>
41
+
42
+ <iframe id="search_frame"></iframe>
43
+
44
+ <div id="content"><div id='filecontents'>
45
+ <p>module Sprout</p>
46
+
47
+ <pre class="code"><span class='kw'>module</span> <span class='const'>Executable</span>
48
+
49
+ <span class='comment'>##
50
+ </span> <span class='comment'># A parameter with a String value.
51
+ </span> <span class='comment'>#
52
+ </span> <span class='comment'># Any spaces in the value will be escaped when
53
+ </span> <span class='comment'># returned to a shell.
54
+ </span> <span class='comment'>#
55
+ </span> <span class='comment'># @see Sprout::Executable::Param
56
+ </span> <span class='comment'>#
57
+ </span> <span class='kw'>class</span> <span class='const'>StringParam</span> <span class='op'>&lt;</span> <span class='const'>Executable</span><span class='op'>::</span><span class='const'>Param</span>
58
+
59
+ <span class='kw'>def</span> <span class='id shell_value'>shell_value</span>
60
+ <span class='id value'>value</span><span class='period'>.</span><span class='id gsub'>gsub</span><span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'> </span><span class='regexp_end'>/</span></span><span class='comma'>,</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>\ </span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
61
+ <span class='kw'>end</span>
62
+
63
+ <span class='kw'>end</span>
64
+ <span class='kw'>end</span></pre>
65
+
66
+ <p>end</p>
67
+ </div></div>
68
+
69
+ <div id="footer">
70
+ Generated on Wed Dec 22 11:58:32 2010 by
71
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
72
+ 0.6.3 (ruby-1.9.2).
73
+ </div>
74
+
75
+ </body>
76
+ </html>