sprout 1.0.35.pre → 1.1.2.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 (234) hide show
  1. data/Gemfile +1 -1
  2. data/Gemfile.lock +0 -2
  3. data/README.textile +1 -1
  4. data/VERSION +1 -1
  5. data/lib/sprout/concern.rb +5 -7
  6. data/lib/sprout/daemon.rb +183 -143
  7. data/lib/sprout/executable/base.rb +564 -0
  8. data/lib/sprout/executable.rb +1 -550
  9. data/lib/sprout/generator/base.rb +2 -3
  10. data/lib/sprout/generator.rb +2 -1
  11. data/lib/sprout/generators/ruby/templates/ruby_base.rb +1 -2
  12. data/lib/sprout/library.rb +3 -3
  13. data/lib/sprout/output_buffer.rb +35 -0
  14. data/lib/sprout/process_runner.rb +68 -17
  15. data/lib/sprout/progress_bar.rb +5 -5
  16. data/lib/sprout/remote_file_target.rb +1 -1
  17. data/lib/sprout/system/base_system.rb +3 -3
  18. data/lib/sprout/system/unix_system.rb +1 -1
  19. data/lib/sprout/{test/sprout_test_case.rb → test_helper.rb} +214 -14
  20. data/lib/sprout/version.rb +1 -1
  21. data/lib/sprout.rb +133 -2
  22. data/rakefile.rb +2 -0
  23. data/test/fixtures/examples/echo_inputs.rb +1 -2
  24. data/test/fixtures/executable/fdb.rb +7 -9
  25. data/test/fixtures/executable/flex3sdk_gem/fdb +49 -18
  26. data/test/fixtures/executable/mxmlc.rb +1 -2
  27. data/test/fixtures/executable/subclass/executable_subclass.rb +0 -1
  28. data/test/fixtures/executable/subclass/executable_superclass.rb +1 -2
  29. data/test/fixtures/specification/flex4sdk.rb +35 -24
  30. data/test/unit/archive_unpacker_test.rb +1 -1
  31. data/test/unit/boolean_param_test.rb +1 -1
  32. data/test/unit/daemon_test.rb +35 -3
  33. data/test/unit/executable_option_parser_test.rb +2 -3
  34. data/test/unit/executable_param_test.rb +1 -1
  35. data/test/unit/executable_test.rb +8 -15
  36. data/test/unit/fake_other_executable.rb +1 -2
  37. data/test/unit/file_param_test.rb +1 -1
  38. data/test/unit/file_target_test.rb +1 -1
  39. data/test/unit/files_param_test.rb +1 -1
  40. data/test/unit/generator_generator_test.rb +1 -1
  41. data/test/unit/generator_test.rb +1 -1
  42. data/test/unit/library_generator_test.rb +1 -1
  43. data/test/unit/library_test.rb +1 -1
  44. data/test/unit/osx_system_test.rb +1 -1
  45. data/test/unit/path_param_test.rb +1 -1
  46. data/test/unit/paths_param_test.rb +1 -1
  47. data/test/unit/platform_test.rb +1 -1
  48. data/test/unit/process_runner_test.rb +1 -1
  49. data/test/unit/rdoc_parser_test.rb +1 -1
  50. data/test/unit/remote_file_loader_test.rb +1 -1
  51. data/test/unit/remote_file_target_test.rb +1 -1
  52. data/test/unit/ruby_feature_test.rb +1 -1
  53. data/test/unit/ruby_generator_test.rb +1 -1
  54. data/test/unit/specification_test.rb +8 -1
  55. data/test/unit/sprout_test.rb +2 -2
  56. data/test/unit/string_param_test.rb +1 -1
  57. data/test/unit/string_test.rb +1 -1
  58. data/test/unit/strings_param_test.rb +1 -1
  59. data/test/unit/test_helper.rb +33 -1
  60. data/test/unit/tool_generator_test.rb +1 -1
  61. data/test/unit/unix_system_test.rb +1 -1
  62. data/test/unit/user_test.rb +1 -1
  63. data/test/unit/vista_system_test.rb +1 -1
  64. data/test/unit/win_nix_system_test.rb +1 -1
  65. data/test/unit/win_system_test.rb +1 -1
  66. data/test-stderr.log +1 -0
  67. data/test-stdout.log +237 -0
  68. metadata +15 -190
  69. data/doc/Dir.html +0 -288
  70. data/doc/Rake/Task.html +0 -184
  71. data/doc/Sprout/ArchiveUnpacker.html +0 -1246
  72. data/doc/Sprout/Base/ClassMethods.html +0 -434
  73. data/doc/Sprout/Base.html +0 -126
  74. data/doc/Sprout/Concern.html +0 -353
  75. data/doc/Sprout/Daemon/ClassMethods.html +0 -244
  76. data/doc/Sprout/Daemon/InstanceMethods.html +0 -601
  77. data/doc/Sprout/Daemon.html +0 -166
  78. data/doc/Sprout/Errors/ArchiveUnpackerError.html +0 -125
  79. data/doc/Sprout/Errors/DestinationExistsError.html +0 -133
  80. data/doc/Sprout/Errors/DuplicateMemberError.html +0 -132
  81. data/doc/Sprout/Errors/ExecutableError.html +0 -125
  82. data/doc/Sprout/Errors/ExecutableRegistrationError.html +0 -132
  83. data/doc/Sprout/Errors/ExecutionError.html +0 -121
  84. data/doc/Sprout/Errors/GeneratorError.html +0 -125
  85. data/doc/Sprout/Errors/InvalidArgumentError.html +0 -132
  86. data/doc/Sprout/Errors/LoadError.html +0 -121
  87. data/doc/Sprout/Errors/MissingArgumentError.html +0 -132
  88. data/doc/Sprout/Errors/MissingExecutableError.html +0 -132
  89. data/doc/Sprout/Errors/MissingGeneratorError.html +0 -132
  90. data/doc/Sprout/Errors/MissingTemplateError.html +0 -132
  91. data/doc/Sprout/Errors/ProcessRunnerError.html +0 -121
  92. data/doc/Sprout/Errors/RemoteFileLoaderError.html +0 -110
  93. data/doc/Sprout/Errors/SproutError.html +0 -114
  94. data/doc/Sprout/Errors/UnknownArchiveType.html +0 -122
  95. data/doc/Sprout/Errors/UsageError.html +0 -121
  96. data/doc/Sprout/Errors/ValidationError.html +0 -121
  97. data/doc/Sprout/Errors/VersionRequirementNotMetError.html +0 -121
  98. data/doc/Sprout/Errors.html +0 -101
  99. data/doc/Sprout/Executable/Boolean.html +0 -483
  100. data/doc/Sprout/Executable/ClassMethods.html +0 -417
  101. data/doc/Sprout/Executable/CollectionParam.html +0 -483
  102. data/doc/Sprout/Executable/FileParam.html +0 -484
  103. data/doc/Sprout/Executable/Files.html +0 -292
  104. data/doc/Sprout/Executable/InstanceMethods.html +0 -2006
  105. data/doc/Sprout/Executable/Number.html +0 -141
  106. data/doc/Sprout/Executable/Param.html +0 -2818
  107. data/doc/Sprout/Executable/ParameterFactory.html +0 -232
  108. data/doc/Sprout/Executable/Path.html +0 -223
  109. data/doc/Sprout/Executable/Paths.html +0 -253
  110. data/doc/Sprout/Executable/StringParam.html +0 -213
  111. data/doc/Sprout/Executable/Strings.html +0 -167
  112. data/doc/Sprout/Executable/Url.html +0 -160
  113. data/doc/Sprout/Executable/Urls.html +0 -170
  114. data/doc/Sprout/Executable.html +0 -173
  115. data/doc/Sprout/FileTarget.html +0 -1109
  116. data/doc/Sprout/Generator/Base.html +0 -1626
  117. data/doc/Sprout/Generator/Command.html +0 -690
  118. data/doc/Sprout/Generator/DirectoryManifest.html +0 -476
  119. data/doc/Sprout/Generator/FileManifest.html +0 -572
  120. data/doc/Sprout/Generator/Manifest.html +0 -377
  121. data/doc/Sprout/Generator/TemplateManifest.html +0 -196
  122. data/doc/Sprout/Generator.html +0 -689
  123. data/doc/Sprout/GeneratorGenerator.html +0 -1018
  124. data/doc/Sprout/Library.html +0 -1141
  125. data/doc/Sprout/LibraryGenerator.html +0 -309
  126. data/doc/Sprout/Log.html +0 -496
  127. data/doc/Sprout/MXMLC.html +0 -6373
  128. data/doc/Sprout/Platform.html +0 -714
  129. data/doc/Sprout/ProcessRunner.html +0 -1352
  130. data/doc/Sprout/ProgressBar.html +0 -376
  131. data/doc/Sprout/ProgressBarImpl.html +0 -2119
  132. data/doc/Sprout/ProgressBarManager.html +0 -434
  133. data/doc/Sprout/ProgressBarOutputStream.html +0 -416
  134. data/doc/Sprout/RDocParser.html +0 -211
  135. data/doc/Sprout/RemoteFileLoader.html +0 -172
  136. data/doc/Sprout/RemoteFileTarget.html +0 -679
  137. data/doc/Sprout/ReversedProgressBar.html +0 -194
  138. data/doc/Sprout/RubyFeature/ClassMethods.html +0 -1065
  139. data/doc/Sprout/RubyFeature.html +0 -155
  140. data/doc/Sprout/RubyGenerator.html +0 -764
  141. data/doc/Sprout/Specification.html +0 -767
  142. data/doc/Sprout/System/BaseSystem.html +0 -1455
  143. data/doc/Sprout/System/JavaSystem.html +0 -122
  144. data/doc/Sprout/System/OSXSystem.html +0 -335
  145. data/doc/Sprout/System/ThreadMock.html +0 -193
  146. data/doc/Sprout/System/UnixSystem.html +0 -584
  147. data/doc/Sprout/System/VistaSystem.html +0 -251
  148. data/doc/Sprout/System/WinNixSystem.html +0 -325
  149. data/doc/Sprout/System/WinSystem.html +0 -571
  150. data/doc/Sprout/System.html +0 -191
  151. data/doc/Sprout/ToolGenerator.html +0 -931
  152. data/doc/Sprout/VERSION.html +0 -128
  153. data/doc/Sprout.html +0 -144
  154. data/doc/SproutTestCase.html +0 -1412
  155. data/doc/String.html +0 -286
  156. data/doc/_index.html +0 -1035
  157. data/doc/class_list.html +0 -36
  158. data/doc/css/common.css +0 -1
  159. data/doc/css/full_list.css +0 -53
  160. data/doc/css/style.css +0 -310
  161. data/doc/file.README.html +0 -96
  162. data/doc/file.archive_unpacker.html +0 -288
  163. data/doc/file.base.html +0 -208
  164. data/doc/file.base_system.html +0 -278
  165. data/doc/file.boolean.html +0 -135
  166. data/doc/file.collection_param.html +0 -139
  167. data/doc/file.command.html +0 -126
  168. data/doc/file.concern.html +0 -136
  169. data/doc/file.daemon.html +0 -309
  170. data/doc/file.dir.html +0 -76
  171. data/doc/file.directory_manifest.html +0 -122
  172. data/doc/file.errors.html +0 -147
  173. data/doc/file.executable.html +0 -638
  174. data/doc/file.file_manifest.html +0 -109
  175. data/doc/file.file_param.html +0 -120
  176. data/doc/file.file_target.html +0 -140
  177. data/doc/file.files.html +0 -85
  178. data/doc/file.generator.html +0 -296
  179. data/doc/file.generator_class.html +0 -72
  180. data/doc/file.generator_generator.html +0 -137
  181. data/doc/file.generator_test.html +0 -92
  182. data/doc/file.generator_test_helper.html +0 -67
  183. data/doc/file.java_system.html +0 -62
  184. data/doc/file.library.html +0 -291
  185. data/doc/file.library_generator.html +0 -74
  186. data/doc/file.log.html +0 -100
  187. data/doc/file.manifest.html +0 -67
  188. data/doc/file.mxmlc.html +0 -740
  189. data/doc/file.number.html +0 -67
  190. data/doc/file.osx_system.html +0 -79
  191. data/doc/file.param.html +0 -491
  192. data/doc/file.parameter_factory.html +0 -119
  193. data/doc/file.path.html +0 -81
  194. data/doc/file.paths.html +0 -80
  195. data/doc/file.platform.html +0 -124
  196. data/doc/file.process_runner.html +0 -224
  197. data/doc/file.progress_bar.html +0 -390
  198. data/doc/file.rdoc_parser.html +0 -145
  199. data/doc/file.remote_file_loader.html +0 -117
  200. data/doc/file.remote_file_target.html +0 -176
  201. data/doc/file.ruby_base.html +0 -64
  202. data/doc/file.ruby_feature.html +0 -244
  203. data/doc/file.ruby_generator.html +0 -118
  204. data/doc/file.ruby_input.html +0 -62
  205. data/doc/file.ruby_test_case.html +0 -78
  206. data/doc/file.ruby_test_helper.html +0 -61
  207. data/doc/file.specification.html +0 -248
  208. data/doc/file.sprout.html +0 -64
  209. data/doc/file.sprout_test_case.html +0 -280
  210. data/doc/file.string.html +0 -72
  211. data/doc/file.string_param.html +0 -76
  212. data/doc/file.strings.html +0 -71
  213. data/doc/file.system.html +0 -86
  214. data/doc/file.template_manifest.html +0 -67
  215. data/doc/file.tool.html +0 -92
  216. data/doc/file.tool_generator.html +0 -90
  217. data/doc/file.unix_system.html +0 -128
  218. data/doc/file.url.html +0 -71
  219. data/doc/file.urls.html +0 -70
  220. data/doc/file.version.html +0 -71
  221. data/doc/file.vista_system.html +0 -69
  222. data/doc/file.win_nix_system.html +0 -88
  223. data/doc/file.win_system.html +0 -129
  224. data/doc/file_list.html +0 -230
  225. data/doc/frames.html +0 -13
  226. data/doc/index.html +0 -96
  227. data/doc/js/app.js +0 -202
  228. data/doc/js/full_list.js +0 -149
  229. data/doc/js/jquery.js +0 -154
  230. data/doc/method_list.html +0 -3355
  231. data/doc/top-level-namespace.html +0 -192
  232. data/lib/sprout/base.rb +0 -121
  233. data/lib/sprout/log.rb +0 -46
  234. data/test/unit/sprout_test_helper.rb +0 -33
@@ -1,278 +0,0 @@
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: base_system</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: base_system</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::System</p>
46
-
47
- <pre class="code"><span class='comment'># The abstract base class for all supported system/platform types.
48
- </span><span class='comment'># In general, users are created by calling the +create+ factory method
49
- </span><span class='comment'># on the +System+ module.
50
- </span><span class='comment'>#
51
- </span><span class='comment'># System.create
52
- </span><span class='comment'>#
53
- </span><span class='comment'># Assuming you call the create method, you should wind up with
54
- </span><span class='comment'># a concrete system that matches your system, and these concrete
55
- </span><span class='comment'># users will generally be derived from this base class.
56
- </span><span class='comment'>#
57
- </span><span class='kw'>class</span> <span class='const'>BaseSystem</span>
58
-
59
- <span class='comment'>##
60
- </span> <span class='comment'># Get the home path for a system on a particular operating system.
61
- </span> <span class='comment'>#
62
- </span> <span class='comment'># This path will be different, depending on which system owns
63
- </span> <span class='comment'># the curren process, and which operating system they are on.
64
- </span> <span class='comment'>#
65
- </span> <span class='kw'>def</span> <span class='id home'>home</span>
66
- <span class='ivar'>@home</span> <span class='op'>||=</span> <span class='id find_home'>find_home</span>
67
- <span class='kw'>end</span>
68
-
69
- <span class='comment'>##
70
- </span> <span class='comment'># Set the home path for a system on a particular operating system.
71
- </span> <span class='comment'>#
72
- </span> <span class='comment'># If you request the home path before setting it, we will
73
- </span> <span class='comment'># attempt to determine the home path of the current system for
74
- </span> <span class='comment'># the current operating system.
75
- </span> <span class='comment'>#
76
- </span> <span class='comment'># This is just a simple way to override the default behavior.
77
- </span> <span class='comment'>#
78
- </span> <span class='kw'>def</span> <span class='id home='>home=</span><span class='lparen'>(</span><span class='id home'>home</span><span class='rparen'>)</span>
79
- <span class='ivar'>@home</span> <span class='op'>=</span> <span class='id home'>home</span>
80
- <span class='kw'>end</span>
81
-
82
- <span class='comment'>##
83
- </span> <span class='comment'># Some operating systems (like OS X and Windows) have a
84
- </span> <span class='comment'># specific location where applications are expected to store
85
- </span> <span class='comment'># files for a particular system. This location is generally
86
- </span> <span class='comment'># a subdirectory of +home+.
87
- </span> <span class='comment'>#
88
- </span> <span class='comment'># The value of this location will usually be overridden in
89
- </span> <span class='comment'># concrete System classes.
90
- </span> <span class='comment'>#
91
- </span> <span class='kw'>def</span> <span class='id library'>library</span>
92
- <span class='kw'>return</span> <span class='id home'>home</span>
93
- <span class='kw'>end</span>
94
-
95
- <span class='comment'>##
96
- </span> <span class='comment'># Instantiate and return a new Sprout::ProcessRunner so
97
- </span> <span class='comment'># that we can execute it.
98
- </span> <span class='comment'>#
99
- </span> <span class='kw'>def</span> <span class='id get_process_runner'>get_process_runner</span>
100
- <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>ProcessRunner</span><span class='period'>.</span><span class='id new'>new</span>
101
- <span class='kw'>end</span>
102
-
103
- <span class='kw'>def</span> <span class='id can_execute?'>can_execute?</span> <span class='id platform'>platform</span>
104
- <span class='id platform'>platform</span> <span class='op'>==</span> <span class='symbol'>:universal</span>
105
- <span class='kw'>end</span>
106
-
107
- <span class='comment'>##
108
- </span> <span class='comment'># Creates a new process, executes the command
109
- </span> <span class='comment'># and returns whatever the process wrote to stdout, or stderr.
110
- </span> <span class='comment'>#
111
- </span> <span class='comment'># Raises a +Sprout::Errors::ExecutionError+ if the process writes to stderr
112
- </span> <span class='comment'>#
113
- </span> <span class='kw'>def</span> <span class='id execute'>execute</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
114
- <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Log</span><span class='period'>.</span><span class='id puts'>puts</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id tool'>tool</span><span class='rbrace'>}</span><span class='tstring_content'> </span><span class='embexpr_beg'>#{</span><span class='id options'>options</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
115
- <span class='id runner'>runner</span> <span class='op'>=</span> <span class='id get_and_execute_process_runner'>get_and_execute_process_runner</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
116
- <span class='id error'>error</span> <span class='op'>=</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id read_err'>read_err</span>
117
- <span class='id result'>result</span> <span class='op'>=</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id read'>read</span>
118
-
119
- <span class='kw'>if</span><span class='lparen'>(</span><span class='id result'>result</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='rparen'>)</span>
120
- <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Log</span><span class='period'>.</span><span class='id puts'>puts</span> <span class='id result'>result</span>
121
- <span class='kw'>end</span>
122
-
123
- <span class='kw'>if</span><span class='lparen'>(</span><span class='id error'>error</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='rparen'>)</span>
124
- <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'>ExecutionError</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>[ERROR] </span><span class='embexpr_beg'>#{</span><span class='id error'>error</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
125
- <span class='kw'>end</span>
126
-
127
- <span class='id result'>result</span> <span class='op'>||</span> <span class='id error'>error</span>
128
- <span class='kw'>end</span>
129
-
130
- <span class='comment'>##
131
- </span> <span class='comment'># Creates and returns the process without
132
- </span> <span class='comment'># attempting to read or write to the stream.
133
- </span> <span class='comment'># This is useful for interacting with
134
- </span> <span class='comment'># long-lived CLI processes like FCSH or FDB.
135
- </span> <span class='comment'>#
136
- </span> <span class='kw'>def</span> <span class='id execute_silent'>execute_silent</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
137
- <span class='id get_and_execute_process_runner'>get_and_execute_process_runner</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
138
- <span class='kw'>end</span>
139
-
140
- <span class='comment'>##
141
- </span> <span class='comment'># Execute a new process in a separate thread.
142
- </span> <span class='comment'>#
143
- </span> <span class='kw'>def</span> <span class='id execute_thread'>execute_thread</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
144
- <span class='id runner'>runner</span> <span class='op'>=</span> <span class='kw'>nil</span>
145
- <span class='const'>Thread</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>do</span>
146
- <span class='id runner'>runner</span> <span class='op'>=</span> <span class='id execute_silent'>execute_silent</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='rparen'>)</span>
147
- <span class='kw'>end</span>
148
- <span class='comment'># Wait for the runner to be created
149
- </span> <span class='comment'># before returning a nil reference
150
- </span> <span class='comment'># that never gets populated...
151
- </span> <span class='kw'>while</span> <span class='id runner'>runner</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='kw'>do</span>
152
- <span class='id sleep'>sleep</span><span class='lparen'>(</span><span class='float'>0.1</span><span class='rparen'>)</span>
153
- <span class='kw'>end</span>
154
- <span class='id runner'>runner</span>
155
- <span class='kw'>end</span>
156
-
157
- <span class='comment'>##
158
- </span> <span class='comment'># Clean the provided +path+ String for the current
159
- </span> <span class='comment'># operating system.
160
- </span> <span class='comment'>#
161
- </span> <span class='comment'># Each operating system behaves differently when we
162
- </span> <span class='comment'># attempt to execute a file with spaces in the +path+
163
- </span> <span class='comment'># to the file.
164
- </span> <span class='comment'>#
165
- </span> <span class='comment'># Subclasses will generally override this method and
166
- </span> <span class='comment'># clean the path appropriately for their operating
167
- </span> <span class='comment'># system.
168
- </span> <span class='comment'>#
169
- </span> <span class='kw'>def</span> <span class='id clean_path'>clean_path</span><span class='lparen'>(</span><span class='id path'>path</span><span class='rparen'>)</span>
170
- <span class='kw'>end</span>
171
-
172
- <span class='comment'>##
173
- </span> <span class='comment'># Different operating systems will store Application data
174
- </span> <span class='comment'># different default locations.
175
- </span> <span class='comment'>#
176
- </span> <span class='comment'># Subclasses will generally override this method and
177
- </span> <span class='comment'># return the appropriate location for their operating system.
178
- </span> <span class='comment'>#
179
- </span> <span class='comment'># +name+ String value of the Application name for which we'd
180
- </span> <span class='comment'># like to store data.
181
- </span> <span class='comment'>#
182
- </span> <span class='kw'>def</span> <span class='id application_home'>application_home</span><span class='lparen'>(</span><span class='id name'>name</span><span class='rparen'>)</span>
183
- <span class='kw'>return</span> <span class='const'>File</span><span class='period'>.</span><span class='id join'>join</span><span class='lparen'>(</span><span class='id library'>library</span><span class='comma'>,</span> <span class='id format_application_name'>format_application_name</span><span class='lparen'>(</span><span class='id name'>name</span><span class='period'>.</span><span class='id to_s'>to_s</span><span class='rparen'>)</span><span class='rparen'>)</span><span class='semicolon'>;</span>
184
- <span class='kw'>end</span>
185
-
186
- <span class='comment'>##
187
- </span> <span class='comment'># Template method that should be overridden by
188
- </span> <span class='comment'># subclasses.
189
- </span> <span class='comment'>#
190
- </span> <span class='kw'>def</span> <span class='id format_application_name'>format_application_name</span><span class='lparen'>(</span><span class='id name'>name</span><span class='rparen'>)</span>
191
- <span class='id name'>name</span>
192
- <span class='kw'>end</span>
193
-
194
- <span class='id protected'>protected</span>
195
-
196
- <span class='kw'>def</span> <span class='id env_homedrive'>env_homedrive</span>
197
- <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>HOMEDRIVE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
198
- <span class='kw'>end</span>
199
-
200
- <span class='kw'>def</span> <span class='id env_homepath'>env_homepath</span>
201
- <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>HOMEPATH</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
202
- <span class='kw'>end</span>
203
-
204
- <span class='kw'>def</span> <span class='id env_homedrive_and_homepath'>env_homedrive_and_homepath</span>
205
- <span class='id drive'>drive</span> <span class='op'>=</span> <span class='id env_homedrive'>env_homedrive</span>
206
- <span class='id path'>path</span> <span class='op'>=</span> <span class='id env_homepath'>env_homepath</span>
207
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id drive'>drive</span><span class='rbrace'>}</span><span class='tstring_content'>:</span><span class='embexpr_beg'>#{</span><span class='id path'>path</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id drive'>drive</span> <span class='op'>&amp;&amp;</span> <span class='id path'>path</span>
208
- <span class='kw'>end</span>
209
-
210
- <span class='kw'>def</span> <span class='id env_userprofile'>env_userprofile</span>
211
- <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>USERPROFILE</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
212
- <span class='kw'>end</span>
213
-
214
- <span class='kw'>def</span> <span class='id env_home'>env_home</span>
215
- <span class='const'>ENV</span><span class='lbracket'>[</span><span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>HOME</span><span class='tstring_end'>'</span></span><span class='rbracket'>]</span>
216
- <span class='kw'>end</span>
217
-
218
- <span class='kw'>def</span> <span class='id tilde_home'>tilde_home</span>
219
- <span class='const'>File</span><span class='period'>.</span><span class='id expand_path'>expand_path</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>~</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span>
220
- <span class='kw'>end</span>
221
-
222
- <span class='kw'>def</span> <span class='id alt_separator?'>alt_separator?</span>
223
- <span class='const'>File</span><span class='op'>::</span><span class='const'>ALT_SEPARATOR</span>
224
- <span class='kw'>end</span>
225
-
226
- <span class='kw'>def</span> <span class='id worst_case_home'>worst_case_home</span>
227
- <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>C:\\</span><span class='tstring_end'>&quot;</span></span> <span class='kw'>if</span> <span class='id alt_separator?'>alt_separator?</span>
228
- <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>/</span><span class='tstring_end'>&quot;</span></span>
229
- <span class='kw'>end</span>
230
-
231
- <span class='kw'>def</span> <span class='id find_home'>find_home</span>
232
- <span class='lbracket'>[</span><span class='symbol'>:env_userprofile</span><span class='comma'>,</span> <span class='symbol'>:env_home</span><span class='comma'>,</span> <span class='symbol'>:env_homedrive_and_homepath</span><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 key'>key</span><span class='op'>|</span>
233
- <span class='id value'>value</span> <span class='op'>=</span> <span class='kw'>self</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='id key'>key</span><span class='rparen'>)</span>
234
- <span class='kw'>return</span> <span class='id value'>value</span> <span class='kw'>unless</span> <span class='id value'>value</span><span class='period'>.</span><span class='id nil?'>nil?</span>
235
- <span class='kw'>end</span>
236
-
237
- <span class='kw'>begin</span>
238
- <span class='kw'>return</span> <span class='id tilde_home'>tilde_home</span>
239
- <span class='kw'>rescue</span> <span class='const'>StandardError</span>
240
- <span class='id worst_case_home'>worst_case_home</span>
241
- <span class='kw'>end</span>
242
- <span class='kw'>end</span>
243
-
244
- <span class='id protected'>protected</span>
245
-
246
- <span class='comment'>##
247
- </span> <span class='comment'># Get a process runner and execute the provided +executable+,
248
- </span> <span class='comment'># with the provided +options+.
249
- </span> <span class='comment'>#
250
- </span> <span class='comment'># +executable+ String path to the external executable file.
251
- </span> <span class='comment'>#
252
- </span> <span class='comment'># +options+ String commandline options to send to the +executable+.
253
- </span> <span class='comment'>#
254
- </span> <span class='kw'>def</span> <span class='id get_and_execute_process_runner'>get_and_execute_process_runner</span> <span class='id tool'>tool</span><span class='comma'>,</span> <span class='id options'>options</span><span class='op'>=</span><span class='kw'>nil</span>
255
- <span class='id runner'>runner</span> <span class='op'>=</span> <span class='id get_process_runner'>get_process_runner</span>
256
- <span class='id runner'>runner</span><span class='period'>.</span><span class='id execute_open4'>execute_open4</span> <span class='id clean_path'>clean_path</span><span class='lparen'>(</span><span class='id tool'>tool</span><span class='rparen'>)</span><span class='comma'>,</span> <span class='id options'>options</span>
257
- <span class='id runner'>runner</span>
258
- <span class='kw'>end</span>
259
-
260
- <span class='kw'>end</span>
261
-
262
- <span class='kw'>class</span> <span class='const'>ThreadMock</span> <span class='comment'># :nodoc:
263
- </span> <span class='kw'>def</span> <span class='id alive?'>alive?</span>
264
- <span class='kw'>return</span> <span class='kw'>false</span>
265
- <span class='kw'>end</span>
266
- <span class='kw'>end</span></pre>
267
-
268
- <p>end</p>
269
- </div></div>
270
-
271
- <div id="footer">
272
- Generated on Wed Dec 22 11:58:32 2010 by
273
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
274
- 0.6.3 (ruby-1.9.2).
275
- </div>
276
-
277
- </body>
278
- </html>
@@ -1,135 +0,0 @@
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: boolean</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: boolean</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'># Concrete Sprout::Executable::Param object for Boolean values.
51
- </span> <span class='comment'>#
52
- </span> <span class='comment'># By default Boolean parameters have their value set to false and
53
- </span> <span class='comment'># :hidden_value set to true. This means that when they are serialized
54
- </span> <span class='comment'># to the shell, they will usually be represented like:
55
- </span> <span class='comment'>#
56
- </span> <span class='comment'># --name
57
- </span> <span class='comment'>#
58
- </span> <span class='comment'># Rather than:
59
- </span> <span class='comment'>#
60
- </span> <span class='comment'># --name=true
61
- </span> <span class='comment'>#
62
- </span> <span class='comment'># The following example demonstrates a simple use of the Boolean
63
- </span> <span class='comment'># parameter:
64
- </span> <span class='comment'>#
65
- </span> <span class='comment'># class Foo
66
- </span> <span class='comment'># include Sprout::Executable
67
- </span> <span class='comment'>#
68
- </span> <span class='comment'># add_param :visible, Boolean
69
- </span> <span class='comment'># end
70
- </span> <span class='comment'>#
71
- </span> <span class='comment'># @see Sprout::Executable::Param
72
- </span> <span class='comment'>#
73
- </span> <span class='kw'>class</span> <span class='const'>Boolean</span> <span class='op'>&lt;</span> <span class='const'>Param</span>
74
-
75
- <span class='comment'>##
76
- </span> <span class='comment'># By default, the Boolean parameter will only
77
- </span> <span class='comment'># be displayed when it's value is +true+.
78
- </span> <span class='comment'>#
79
- </span> <span class='comment'># Set :show_on_false to true in order to reverse
80
- </span> <span class='comment'># this rule.
81
- </span> <span class='comment'>#
82
- </span> <span class='comment'># add_param :visible, Boolean, :show_on_false =&gt; true
83
- </span> <span class='comment'>#
84
- </span> <span class='comment'># Will make the following:
85
- </span> <span class='comment'>#
86
- </span> <span class='comment'># foo :name do |t|
87
- </span> <span class='comment'># t.visible = false
88
- </span> <span class='comment'># end
89
- </span> <span class='comment'>#
90
- </span> <span class='comment'># Serialize to the shell with:
91
- </span> <span class='comment'>#
92
- </span> <span class='comment'># foo -visible=false
93
- </span> <span class='comment'>#
94
- </span> <span class='id attr_accessor'>attr_accessor</span> <span class='symbol'>:show_on_false</span>
95
-
96
- <span class='kw'>def</span> <span class='id initialize'>initialize</span>
97
- <span class='kw'>super</span>
98
- <span class='ivar'>@delimiter</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'> </span><span class='tstring_end'>'</span></span>
99
- <span class='ivar'>@option_parser_type_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>BOOL</span><span class='tstring_end'>'</span></span>
100
- <span class='ivar'>@show_on_false</span> <span class='op'>=</span> <span class='kw'>false</span>
101
- <span class='ivar'>@value</span> <span class='op'>=</span> <span class='kw'>false</span>
102
- <span class='ivar'>@hidden_value</span> <span class='op'>=</span> <span class='kw'>true</span>
103
- <span class='kw'>end</span>
104
-
105
- <span class='comment'>##
106
- </span> <span class='comment'># Convert string representations of truthiness
107
- </span> <span class='comment'># to something more Booley.
108
- </span> <span class='kw'>def</span> <span class='id value='>value=</span><span class='lparen'>(</span><span class='id value'>value</span><span class='rparen'>)</span>
109
- <span class='id value'>value</span> <span class='op'>=</span> <span class='lparen'>(</span><span class='id value'>value</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>true</span><span class='tstring_end'>&quot;</span></span> <span class='op'>||</span> <span class='id value'>value</span> <span class='op'>===</span> <span class='kw'>true</span><span class='rparen'>)</span> <span class='op'>?</span> <span class='kw'>true</span> <span class='op'>:</span> <span class='kw'>false</span>
110
- <span class='kw'>super</span> <span class='id value'>value</span>
111
- <span class='kw'>end</span>
112
-
113
- <span class='kw'>def</span> <span class='id visible?'>visible?</span>
114
- <span class='ivar'>@visible</span> <span class='op'>||=</span> <span class='id value'>value</span>
115
- <span class='kw'>if</span><span class='lparen'>(</span><span class='id show_on_false'>show_on_false</span><span class='rparen'>)</span>
116
- <span class='kw'>return</span> <span class='kw'>true</span> <span class='kw'>unless</span> <span class='id value'>value</span>
117
- <span class='kw'>else</span>
118
- <span class='kw'>return</span> <span class='ivar'>@visible</span>
119
- <span class='kw'>end</span>
120
- <span class='kw'>end</span>
121
-
122
- <span class='kw'>end</span>
123
- <span class='kw'>end</span></pre>
124
-
125
- <p>end</p>
126
- </div></div>
127
-
128
- <div id="footer">
129
- Generated on Wed Dec 22 11:58:31 2010 by
130
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
131
- 0.6.3 (ruby-1.9.2).
132
- </div>
133
-
134
- </body>
135
- </html>
@@ -1,139 +0,0 @@
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: collection_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: collection_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'># Included by any parameters that represent
51
- </span> <span class='comment'># a collection of values, rather than a single
52
- </span> <span class='comment'># value.
53
- </span> <span class='comment'>#
54
- </span> <span class='comment'># Should only be included by classes that
55
- </span> <span class='comment'># extend Sprout::Executable::Param.
56
- </span> <span class='comment'>#
57
- </span> <span class='comment'># @see Sprout::Executable::Files
58
- </span> <span class='comment'># @see Sprout::Executable::Paths
59
- </span> <span class='comment'># @see Sprout::Executable::Strings
60
- </span> <span class='comment'># @see Sprout::Executable::Urls
61
- </span> <span class='comment'>#
62
- </span> <span class='kw'>module</span> <span class='const'>CollectionParam</span>
63
-
64
- <span class='kw'>def</span> <span class='id initialize'>initialize</span>
65
- <span class='kw'>super</span>
66
- <span class='ivar'>@value</span> <span class='op'>=</span> <span class='lbracket'>[</span><span class='rbracket'>]</span>
67
- <span class='ivar'>@delimiter</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>+=</span><span class='tstring_end'>&quot;</span></span>
68
- <span class='ivar'>@option_parser_type_name</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>a,b,c</span><span class='tstring_end'>'</span></span>
69
- <span class='kw'>end</span>
70
-
71
- <span class='comment'>##
72
- </span> <span class='comment'># Assign the value and raise if a collection wasn't provided.
73
- </span> <span class='comment'>#
74
- </span> <span class='comment'># This customization was added so that Rake tasks could help
75
- </span> <span class='comment'># users avoid accidentally clobbering a collection with equals assignments.
76
- </span> <span class='comment'>#
77
- </span> <span class='comment'># The following example is incorrect and will raise an exception:
78
- </span> <span class='comment'>#
79
- </span> <span class='comment'># foo :name do |t|
80
- </span> <span class='comment'># t.collection = 'A'
81
- </span> <span class='comment'># end
82
- </span> <span class='comment'>#
83
- </span> <span class='comment'># The following example is correct and should not raise an exception:
84
- </span> <span class='comment'>#
85
- </span> <span class='comment'># foo :name do |t|
86
- </span> <span class='comment'># t.collection &lt;&lt; 'A'
87
- </span> <span class='comment'># end
88
- </span> <span class='comment'>#
89
- </span> <span class='comment'># The following example is also correct and should not raise an exception:
90
- </span> <span class='comment'>#
91
- </span> <span class='comment'># foo :name do |t|
92
- </span> <span class='comment'># t.collection = ['A']
93
- </span> <span class='comment'># end
94
- </span> <span class='comment'>#
95
- </span> <span class='kw'>def</span> <span class='id value='>value=</span><span class='lparen'>(</span><span class='id val'>val</span><span class='rparen'>)</span>
96
- <span class='kw'>if</span><span class='lparen'>(</span><span class='id val'>val</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='op'>||</span> <span class='op'>!</span><span class='id val'>val</span><span class='period'>.</span><span class='id is_a?'>is_a?</span><span class='lparen'>(</span><span class='const'>Enumerable</span><span class='rparen'>)</span><span class='rparen'>)</span>
97
- <span class='id message'>message</span> <span class='op'>=</span> <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='tstring_content'>The </span><span class='embexpr_beg'>#{</span><span class='id name'>name</span><span class='rbrace'>}</span><span class='tstring_content'> property is an Enumerable. It looks like you may have used the assignment operator (=) with (</span><span class='embexpr_beg'>#{</span><span class='id value'>value</span><span class='period'>.</span><span class='id inspect'>inspect</span><span class='rbrace'>}</span><span class='tstring_content'>) where the append operator (&lt;&lt;) was expected.</span><span class='tstring_end'>&quot;</span></span>
98
- <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'>ExecutableError</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='id message'>message</span><span class='rparen'>)</span>
99
- <span class='kw'>end</span>
100
- <span class='ivar'>@value</span> <span class='op'>=</span> <span class='id val'>val</span>
101
- <span class='kw'>end</span>
102
-
103
- <span class='comment'>##
104
- </span> <span class='comment'># Hide the collection param if no items
105
- </span> <span class='comment'># have been added to it.
106
- </span> <span class='kw'>def</span> <span class='id visible?'>visible?</span>
107
- <span class='lparen'>(</span><span class='op'>!</span><span class='id value'>value</span><span class='period'>.</span><span class='id nil?'>nil?</span> <span class='op'>&amp;&amp;</span> <span class='id value'>value</span><span class='period'>.</span><span class='id size'>size</span> <span class='op'>&gt;</span> <span class='int'>0</span><span class='rparen'>)</span>
108
- <span class='kw'>end</span>
109
-
110
- <span class='comment'>##
111
- </span> <span class='comment'># Returns a shell formatted string of the collection
112
- </span> <span class='kw'>def</span> <span class='id to_shell'>to_shell</span>
113
- <span class='id prepare'>prepare</span> <span class='kw'>if</span> <span class='op'>!</span><span class='id prepared?'>prepared?</span>
114
- <span class='id validate'>validate</span>
115
- <span class='kw'>return</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_end'>'</span></span> <span class='kw'>if</span> <span class='op'>!</span><span class='id visible?'>visible?</span>
116
- <span class='kw'>return</span> <span class='ivar'>@to_shell_proc</span><span class='period'>.</span><span class='id call'>call</span><span class='lparen'>(</span><span class='kw'>self</span><span class='rparen'>)</span> <span class='kw'>unless</span> <span class='ivar'>@to_shell_proc</span><span class='period'>.</span><span class='id nil?'>nil?</span>
117
- <span class='kw'>return</span> <span class='id value'>value</span><span class='period'>.</span><span class='id join'>join</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='rparen'>)</span> <span class='kw'>if</span> <span class='id hidden_name?'>hidden_name?</span>
118
- <span class='kw'>return</span> <span class='id to_shell_value'>to_shell_value</span><span class='period'>.</span><span class='id collect'>collect</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id val'>val</span><span class='op'>|</span>
119
- <span class='tstring'><span class='tstring_beg'>&quot;</span><span class='embexpr_beg'>#{</span><span class='id shell_name'>shell_name</span><span class='rbrace'>}</span><span class='embexpr_beg'>#{</span><span class='id delimiter'>delimiter</span><span class='rbrace'>}</span><span class='embexpr_beg'>#{</span><span class='id val'>val</span><span class='rbrace'>}</span><span class='tstring_end'>&quot;</span></span>
120
- <span class='rbrace'>}</span><span class='period'>.</span><span class='id join'>join</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='rparen'>)</span>
121
- <span class='kw'>end</span>
122
-
123
- <span class='kw'>def</span> <span class='id to_shell_value'>to_shell_value</span>
124
- <span class='id value'>value</span>
125
- <span class='kw'>end</span>
126
- <span class='kw'>end</span>
127
- <span class='kw'>end</span></pre>
128
-
129
- <p>end</p>
130
- </div></div>
131
-
132
- <div id="footer">
133
- Generated on Wed Dec 22 11:58:31 2010 by
134
- <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
135
- 0.6.3 (ruby-1.9.2).
136
- </div>
137
-
138
- </body>
139
- </html>