sprout 1.0.11.pre → 1.0.13.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 (149) hide show
  1. data/lib/sprout/executable.rb +37 -10
  2. data/lib/sprout/generator/base.rb +17 -0
  3. data/lib/sprout/ruby_feature.rb +1 -1
  4. data/lib/sprout/version.rb +1 -1
  5. data/rdoc/<.html +274 -0
  6. data/rdoc/Dir.html +387 -0
  7. data/rdoc/Object.html +344 -0
  8. data/rdoc/Sprout.html +440 -0
  9. data/rdoc/Sprout/ArchiveUnpacker.html +1045 -0
  10. data/rdoc/Sprout/Base.html +283 -0
  11. data/rdoc/Sprout/Base/ClassMethods.html +474 -0
  12. data/rdoc/Sprout/Concern.html +415 -0
  13. data/rdoc/Sprout/Errors.html +324 -0
  14. data/rdoc/Sprout/Errors/ArchiveUnpackerError.html +284 -0
  15. data/rdoc/Sprout/Errors/DestinationExistsError.html +286 -0
  16. data/rdoc/Sprout/Errors/DuplicateMemberError.html +284 -0
  17. data/rdoc/Sprout/Errors/ExecutableError.html +285 -0
  18. data/rdoc/Sprout/Errors/ExecutableRegistrationError.html +284 -0
  19. data/rdoc/Sprout/Errors/ExecutionError.html +284 -0
  20. data/rdoc/Sprout/Errors/GeneratorError.html +284 -0
  21. data/rdoc/Sprout/Errors/InvalidArgumentError.html +284 -0
  22. data/rdoc/Sprout/Errors/LoadError.html +284 -0
  23. data/rdoc/Sprout/Errors/MissingArgumentError.html +284 -0
  24. data/rdoc/Sprout/Errors/MissingExecutableError.html +284 -0
  25. data/rdoc/Sprout/Errors/MissingGeneratorError.html +285 -0
  26. data/rdoc/Sprout/Errors/MissingTemplateError.html +285 -0
  27. data/rdoc/Sprout/Errors/ProcessRunnerError.html +284 -0
  28. data/rdoc/Sprout/Errors/RemoteFileLoaderError.html +284 -0
  29. data/rdoc/Sprout/Errors/SproutError.html +284 -0
  30. data/rdoc/Sprout/Errors/UnknownArchiveType.html +285 -0
  31. data/rdoc/Sprout/Errors/UsageError.html +284 -0
  32. data/rdoc/Sprout/Errors/ValidationError.html +284 -0
  33. data/rdoc/Sprout/Errors/VersionRequirementNotMetError.html +284 -0
  34. data/rdoc/Sprout/Executable.html +549 -0
  35. data/rdoc/Sprout/Executable/Boolean.html +445 -0
  36. data/rdoc/Sprout/Executable/ClassMethods.html +713 -0
  37. data/rdoc/Sprout/Executable/CollectionParam.html +501 -0
  38. data/rdoc/Sprout/Executable/FileParam.html +512 -0
  39. data/rdoc/Sprout/Executable/Files.html +385 -0
  40. data/rdoc/Sprout/Executable/InstanceMethods.html +1597 -0
  41. data/rdoc/Sprout/Executable/Number.html +284 -0
  42. data/rdoc/Sprout/Executable/Param.html +1660 -0
  43. data/rdoc/Sprout/Executable/ParameterFactory.html +345 -0
  44. data/rdoc/Sprout/Executable/Path.html +339 -0
  45. data/rdoc/Sprout/Executable/Paths.html +339 -0
  46. data/rdoc/Sprout/Executable/StringParam.html +333 -0
  47. data/rdoc/Sprout/Executable/Strings.html +295 -0
  48. data/rdoc/Sprout/Executable/Url.html +284 -0
  49. data/rdoc/Sprout/Executable/Urls.html +284 -0
  50. data/rdoc/Sprout/FileTarget.html +660 -0
  51. data/rdoc/Sprout/Generator.html +643 -0
  52. data/rdoc/Sprout/Generator/Base.html +1143 -0
  53. data/rdoc/Sprout/Generator/Command.html +604 -0
  54. data/rdoc/Sprout/Generator/DirectoryManifest.html +561 -0
  55. data/rdoc/Sprout/Generator/FileManifest.html +545 -0
  56. data/rdoc/Sprout/Generator/Manifest.html +387 -0
  57. data/rdoc/Sprout/Generator/TemplateManifest.html +331 -0
  58. data/rdoc/Sprout/GeneratorGenerator.html +358 -0
  59. data/rdoc/Sprout/Library.html +646 -0
  60. data/rdoc/Sprout/LibraryGenerator.html +368 -0
  61. data/rdoc/Sprout/Log.html +281 -0
  62. data/rdoc/Sprout/Platform.html +610 -0
  63. data/rdoc/Sprout/ProcessRunner.html +1145 -0
  64. data/rdoc/Sprout/ProgressBar.html +281 -0
  65. data/rdoc/Sprout/ProgressBarImpl.html +281 -0
  66. data/rdoc/Sprout/ProgressBarManager.html +281 -0
  67. data/rdoc/Sprout/ProgressBarOutputStream.html +281 -0
  68. data/rdoc/Sprout/RDocParser.html +702 -0
  69. data/rdoc/Sprout/RemoteFileLoader.html +537 -0
  70. data/rdoc/Sprout/RemoteFileTarget.html +741 -0
  71. data/rdoc/Sprout/ReversedProgressBar.html +281 -0
  72. data/rdoc/Sprout/RubyFeature.html +324 -0
  73. data/rdoc/Sprout/RubyFeature/ClassMethods.html +821 -0
  74. data/rdoc/Sprout/RubyGenerator.html +576 -0
  75. data/rdoc/Sprout/Specification.html +915 -0
  76. data/rdoc/Sprout/System.html +383 -0
  77. data/rdoc/Sprout/System/BaseSystem.html +1173 -0
  78. data/rdoc/Sprout/System/JavaSystem.html +284 -0
  79. data/rdoc/Sprout/System/OSXSystem.html +419 -0
  80. data/rdoc/Sprout/System/ThreadMock.html +281 -0
  81. data/rdoc/Sprout/System/UnixSystem.html +583 -0
  82. data/rdoc/Sprout/System/VistaSystem.html +367 -0
  83. data/rdoc/Sprout/System/WinNixSystem.html +417 -0
  84. data/rdoc/Sprout/System/WinSystem.html +672 -0
  85. data/rdoc/Sprout/ToolGenerator.html +376 -0
  86. data/rdoc/Sprout/VERSION.html +274 -0
  87. data/rdoc/SproutTestCase.html +279 -0
  88. data/rdoc/String.html +411 -0
  89. data/rdoc/created.rid +61 -0
  90. data/rdoc/index.html +795 -0
  91. data/rdoc/lib/sprout/archive_unpacker_rb.html +56 -0
  92. data/rdoc/lib/sprout/base_rb.html +111 -0
  93. data/rdoc/lib/sprout/concern_rb.html +52 -0
  94. data/rdoc/lib/sprout/dir_rb.html +52 -0
  95. data/rdoc/lib/sprout/errors_rb.html +52 -0
  96. data/rdoc/lib/sprout/executable/boolean_rb.html +52 -0
  97. data/rdoc/lib/sprout/executable/collection_param_rb.html +52 -0
  98. data/rdoc/lib/sprout/executable/file_param_rb.html +52 -0
  99. data/rdoc/lib/sprout/executable/files_rb.html +52 -0
  100. data/rdoc/lib/sprout/executable/number_rb.html +52 -0
  101. data/rdoc/lib/sprout/executable/param_rb.html +52 -0
  102. data/rdoc/lib/sprout/executable/parameter_factory_rb.html +52 -0
  103. data/rdoc/lib/sprout/executable/path_rb.html +52 -0
  104. data/rdoc/lib/sprout/executable/paths_rb.html +52 -0
  105. data/rdoc/lib/sprout/executable/string_param_rb.html +52 -0
  106. data/rdoc/lib/sprout/executable/strings_rb.html +52 -0
  107. data/rdoc/lib/sprout/executable/url_rb.html +52 -0
  108. data/rdoc/lib/sprout/executable/urls_rb.html +52 -0
  109. data/rdoc/lib/sprout/executable_rb.html +78 -0
  110. data/rdoc/lib/sprout/file_target_rb.html +52 -0
  111. data/rdoc/lib/sprout/generator/base_rb.html +54 -0
  112. data/rdoc/lib/sprout/generator/command_rb.html +52 -0
  113. data/rdoc/lib/sprout/generator/directory_manifest_rb.html +52 -0
  114. data/rdoc/lib/sprout/generator/file_manifest_rb.html +52 -0
  115. data/rdoc/lib/sprout/generator/manifest_rb.html +52 -0
  116. data/rdoc/lib/sprout/generator/template_manifest_rb.html +52 -0
  117. data/rdoc/lib/sprout/generators/generator/generator_generator_rb.html +52 -0
  118. data/rdoc/lib/sprout/generators/generator/templates/generator_test_helper_rb.html +64 -0
  119. data/rdoc/lib/sprout/generators/library/library_generator_rb.html +52 -0
  120. data/rdoc/lib/sprout/generators/ruby/ruby_generator_rb.html +52 -0
  121. data/rdoc/lib/sprout/generators/ruby/templates/ruby_base_rb.html +54 -0
  122. data/rdoc/lib/sprout/generators/tool/tool_generator_rb.html +52 -0
  123. data/rdoc/lib/sprout/library_rb.html +52 -0
  124. data/rdoc/lib/sprout/log_rb.html +52 -0
  125. data/rdoc/lib/sprout/platform_rb.html +52 -0
  126. data/rdoc/lib/sprout/process_runner_rb.html +58 -0
  127. data/rdoc/lib/sprout/progress_bar_rb.html +72 -0
  128. data/rdoc/lib/sprout/rdoc_parser_rb.html +54 -0
  129. data/rdoc/lib/sprout/remote_file_loader_rb.html +54 -0
  130. data/rdoc/lib/sprout/remote_file_target_rb.html +52 -0
  131. data/rdoc/lib/sprout/ruby_feature_rb.html +52 -0
  132. data/rdoc/lib/sprout/specification_rb.html +52 -0
  133. data/rdoc/lib/sprout/string_rb.html +52 -0
  134. data/rdoc/lib/sprout/system/base_system_rb.html +52 -0
  135. data/rdoc/lib/sprout/system/java_system_rb.html +52 -0
  136. data/rdoc/lib/sprout/system/osx_system_rb.html +52 -0
  137. data/rdoc/lib/sprout/system/unix_system_rb.html +52 -0
  138. data/rdoc/lib/sprout/system/vista_system_rb.html +52 -0
  139. data/rdoc/lib/sprout/system/win_nix_system_rb.html +52 -0
  140. data/rdoc/lib/sprout/system/win_system_rb.html +52 -0
  141. data/rdoc/lib/sprout/system_rb.html +66 -0
  142. data/rdoc/lib/sprout/test/sprout_test_case_rb.html +57 -0
  143. data/rdoc/lib/sprout/version_rb.html +52 -0
  144. data/rdoc/lib/sprout_rb.html +54 -0
  145. data/rdoc/rdoc.css +706 -0
  146. data/test/fixtures/executable/mxmlc.rb +2 -2
  147. data/test/unit/executable_test.rb +13 -0
  148. data/test/unit/generator_test.rb +25 -2
  149. metadata +144 -3
@@ -0,0 +1,1145 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
3
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
4
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
5
+ <head>
6
+ <meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
7
+
8
+ <title>Class: Sprout::ProcessRunner</title>
9
+
10
+ <link rel="stylesheet" href="../rdoc.css" type="text/css" media="screen" />
11
+
12
+ <script src="../js/jquery.js" type="text/javascript"
13
+ charset="utf-8"></script>
14
+ <script src="../js/thickbox-compressed.js" type="text/javascript"
15
+ charset="utf-8"></script>
16
+ <script src="../js/quicksearch.js" type="text/javascript"
17
+ charset="utf-8"></script>
18
+ <script src="../js/darkfish.js" type="text/javascript"
19
+ charset="utf-8"></script>
20
+
21
+ </head>
22
+ <body class="class">
23
+
24
+ <div id="metadata">
25
+ <div id="home-metadata">
26
+ <div id="home-section" class="section">
27
+ <h3 class="section-header">
28
+ <a href="../index.html">Home</a>
29
+ <a href="../index.html#classes">Classes</a>
30
+ <a href="../index.html#methods">Methods</a>
31
+ </h3>
32
+ </div>
33
+ </div>
34
+
35
+ <div id="file-metadata">
36
+ <div id="file-list-section" class="section">
37
+ <h3 class="section-header">In Files</h3>
38
+ <div class="section-body">
39
+ <ul>
40
+
41
+ <li><a href="../lib/sprout/process_runner_rb.html?TB_iframe=true&amp;height=550&amp;width=785"
42
+ class="thickbox" title="lib/sprout/process_runner.rb">lib/sprout/process_runner.rb</a></li>
43
+
44
+ </ul>
45
+ </div>
46
+ </div>
47
+
48
+
49
+ </div>
50
+
51
+ <div id="class-metadata">
52
+
53
+ <!-- Parent Class -->
54
+
55
+ <div id="parent-class-section" class="section">
56
+ <h3 class="section-header">Parent</h3>
57
+
58
+ <p class="link"><a href="../Object.html">Object</a></p>
59
+
60
+ </div>
61
+
62
+
63
+ <!-- Namespace Contents -->
64
+
65
+
66
+ <!-- Method Quickref -->
67
+
68
+ <div id="method-list-section" class="section">
69
+ <h3 class="section-header">Methods</h3>
70
+ <ul class="link-list">
71
+
72
+ <li><a href="#method-i-alive%3F">#alive?</a></li>
73
+
74
+ <li><a href="#method-i-close">#close</a></li>
75
+
76
+ <li><a href="#method-i-close_write">#close_write</a></li>
77
+
78
+ <li><a href="#method-i-execute_open4">#execute_open4</a></li>
79
+
80
+ <li><a href="#method-i-execute_win32">#execute_win32</a></li>
81
+
82
+ <li><a href="#method-i-execute_with_block">#execute_with_block</a></li>
83
+
84
+ <li><a href="#method-i-flush">#flush</a></li>
85
+
86
+ <li><a href="#method-i-getc">#getc</a></li>
87
+
88
+ <li><a href="#method-i-io_popen_block">#io_popen_block</a></li>
89
+
90
+ <li><a href="#method-i-kill">#kill</a></li>
91
+
92
+ <li><a href="#method-i-open4_popen4_block">#open4_popen4_block</a></li>
93
+
94
+ <li><a href="#method-i-print">#print</a></li>
95
+
96
+ <li><a href="#method-i-puts">#puts</a></li>
97
+
98
+ <li><a href="#method-i-read">#read</a></li>
99
+
100
+ <li><a href="#method-i-read_err">#read_err</a></li>
101
+
102
+ <li><a href="#method-i-readlines">#readlines</a></li>
103
+
104
+ <li><a href="#method-i-readpartial">#readpartial</a></li>
105
+
106
+ <li><a href="#method-i-update_executable_mode">#update_executable_mode</a></li>
107
+
108
+ <li><a href="#method-i-update_status">#update_status</a></li>
109
+
110
+ <li><a href="#method-i-win32_open3_block">#win32_open3_block</a></li>
111
+
112
+ </ul>
113
+ </div>
114
+
115
+
116
+ <!-- Included Modules -->
117
+
118
+ </div>
119
+
120
+ <div id="project-metadata">
121
+
122
+
123
+
124
+ <div id="classindex-section" class="section project-section">
125
+ <h3 class="section-header">Class Index
126
+ <span class="search-toggle"><img src="../images/find.png"
127
+ height="16" width="16" alt="[+]"
128
+ title="show/hide quicksearch" /></span></h3>
129
+ <form action="#" method="get" accept-charset="utf-8" class="initially-hidden">
130
+ <fieldset>
131
+ <legend>Quicksearch</legend>
132
+ <input type="text" name="quicksearch" value=""
133
+ class="quicksearch-field" />
134
+ </fieldset>
135
+ </form>
136
+
137
+ <ul class="link-list">
138
+
139
+ <li><a href="../Sprout/ArchiveUnpacker.html">Sprout::ArchiveUnpacker</a></li>
140
+
141
+ <li><a href="../Sprout/Base.html">Sprout::Base</a></li>
142
+
143
+ <li><a href="../Sprout/Base/ClassMethods.html">Sprout::Base::ClassMethods</a></li>
144
+
145
+ <li><a href="../Sprout/Concern.html">Sprout::Concern</a></li>
146
+
147
+ <li><a href="../Sprout/Errors.html">Sprout::Errors</a></li>
148
+
149
+ <li><a href="../Sprout/Errors/ArchiveUnpackerError.html">Sprout::Errors::ArchiveUnpackerError</a></li>
150
+
151
+ <li><a href="../Sprout/Errors/DestinationExistsError.html">Sprout::Errors::DestinationExistsError</a></li>
152
+
153
+ <li><a href="../Sprout/Errors/DuplicateMemberError.html">Sprout::Errors::DuplicateMemberError</a></li>
154
+
155
+ <li><a href="../Sprout/Errors/ExecutableError.html">Sprout::Errors::ExecutableError</a></li>
156
+
157
+ <li><a href="../Sprout/Errors/ExecutableRegistrationError.html">Sprout::Errors::ExecutableRegistrationError</a></li>
158
+
159
+ <li><a href="../Sprout/Errors/ExecutionError.html">Sprout::Errors::ExecutionError</a></li>
160
+
161
+ <li><a href="../Sprout/Errors/GeneratorError.html">Sprout::Errors::GeneratorError</a></li>
162
+
163
+ <li><a href="../Sprout/Errors/InvalidArgumentError.html">Sprout::Errors::InvalidArgumentError</a></li>
164
+
165
+ <li><a href="../Sprout/Errors/LoadError.html">Sprout::Errors::LoadError</a></li>
166
+
167
+ <li><a href="../Sprout/Errors/MissingArgumentError.html">Sprout::Errors::MissingArgumentError</a></li>
168
+
169
+ <li><a href="../Sprout/Errors/MissingExecutableError.html">Sprout::Errors::MissingExecutableError</a></li>
170
+
171
+ <li><a href="../Sprout/Errors/MissingGeneratorError.html">Sprout::Errors::MissingGeneratorError</a></li>
172
+
173
+ <li><a href="../Sprout/Errors/MissingTemplateError.html">Sprout::Errors::MissingTemplateError</a></li>
174
+
175
+ <li><a href="../Sprout/Errors/ProcessRunnerError.html">Sprout::Errors::ProcessRunnerError</a></li>
176
+
177
+ <li><a href="../Sprout/Errors/RemoteFileLoaderError.html">Sprout::Errors::RemoteFileLoaderError</a></li>
178
+
179
+ <li><a href="../Sprout/Errors/SproutError.html">Sprout::Errors::SproutError</a></li>
180
+
181
+ <li><a href="../Sprout/Errors/UnknownArchiveType.html">Sprout::Errors::UnknownArchiveType</a></li>
182
+
183
+ <li><a href="../Sprout/Errors/UsageError.html">Sprout::Errors::UsageError</a></li>
184
+
185
+ <li><a href="../Sprout/Errors/ValidationError.html">Sprout::Errors::ValidationError</a></li>
186
+
187
+ <li><a href="../Sprout/Errors/VersionRequirementNotMetError.html">Sprout::Errors::VersionRequirementNotMetError</a></li>
188
+
189
+ <li><a href="../Sprout/Executable.html">Sprout::Executable</a></li>
190
+
191
+ <li><a href="../Sprout/Executable/Boolean.html">Sprout::Executable::Boolean</a></li>
192
+
193
+ <li><a href="../Sprout/Executable/ClassMethods.html">Sprout::Executable::ClassMethods</a></li>
194
+
195
+ <li><a href="../Sprout/Executable/CollectionParam.html">Sprout::Executable::CollectionParam</a></li>
196
+
197
+ <li><a href="../Sprout/Executable/FileParam.html">Sprout::Executable::FileParam</a></li>
198
+
199
+ <li><a href="../Sprout/Executable/Files.html">Sprout::Executable::Files</a></li>
200
+
201
+ <li><a href="../Sprout/Executable/InstanceMethods.html">Sprout::Executable::InstanceMethods</a></li>
202
+
203
+ <li><a href="../Sprout/Executable/Number.html">Sprout::Executable::Number</a></li>
204
+
205
+ <li><a href="../Sprout/Executable/Param.html">Sprout::Executable::Param</a></li>
206
+
207
+ <li><a href="../Sprout/Executable/ParameterFactory.html">Sprout::Executable::ParameterFactory</a></li>
208
+
209
+ <li><a href="../Sprout/Executable/Path.html">Sprout::Executable::Path</a></li>
210
+
211
+ <li><a href="../Sprout/Executable/Paths.html">Sprout::Executable::Paths</a></li>
212
+
213
+ <li><a href="../Sprout/Executable/StringParam.html">Sprout::Executable::StringParam</a></li>
214
+
215
+ <li><a href="../Sprout/Executable/Strings.html">Sprout::Executable::Strings</a></li>
216
+
217
+ <li><a href="../Sprout/Executable/Url.html">Sprout::Executable::Url</a></li>
218
+
219
+ <li><a href="../Sprout/Executable/Urls.html">Sprout::Executable::Urls</a></li>
220
+
221
+ <li><a href="../Sprout/FileTarget.html">Sprout::FileTarget</a></li>
222
+
223
+ <li><a href="../Sprout/Generator.html">Sprout::Generator</a></li>
224
+
225
+ <li><a href="../Sprout/Generator/Base.html">Sprout::Generator::Base</a></li>
226
+
227
+ <li><a href="../Sprout/Generator/Command.html">Sprout::Generator::Command</a></li>
228
+
229
+ <li><a href="../Sprout/Generator/DirectoryManifest.html">Sprout::Generator::DirectoryManifest</a></li>
230
+
231
+ <li><a href="../Sprout/Generator/FileManifest.html">Sprout::Generator::FileManifest</a></li>
232
+
233
+ <li><a href="../Sprout/Generator/Manifest.html">Sprout::Generator::Manifest</a></li>
234
+
235
+ <li><a href="../Sprout/Generator/TemplateManifest.html">Sprout::Generator::TemplateManifest</a></li>
236
+
237
+ <li><a href="../Sprout/GeneratorGenerator.html">Sprout::GeneratorGenerator</a></li>
238
+
239
+ <li><a href="../Sprout/Library.html">Sprout::Library</a></li>
240
+
241
+ <li><a href="../Sprout/LibraryGenerator.html">Sprout::LibraryGenerator</a></li>
242
+
243
+ <li><a href="../Sprout/Platform.html">Sprout::Platform</a></li>
244
+
245
+ <li><a href="../Sprout/ProcessRunner.html">Sprout::ProcessRunner</a></li>
246
+
247
+ <li><a href="../Sprout/RDocParser.html">Sprout::RDocParser</a></li>
248
+
249
+ <li><a href="../Sprout/RemoteFileLoader.html">Sprout::RemoteFileLoader</a></li>
250
+
251
+ <li><a href="../Sprout/RemoteFileTarget.html">Sprout::RemoteFileTarget</a></li>
252
+
253
+ <li><a href="../Sprout/RubyFeature.html">Sprout::RubyFeature</a></li>
254
+
255
+ <li><a href="../Sprout/RubyFeature/ClassMethods.html">Sprout::RubyFeature::ClassMethods</a></li>
256
+
257
+ <li><a href="../Sprout/RubyGenerator.html">Sprout::RubyGenerator</a></li>
258
+
259
+ <li><a href="../Sprout/Specification.html">Sprout::Specification</a></li>
260
+
261
+ <li><a href="../Sprout/System.html">Sprout::System</a></li>
262
+
263
+ <li><a href="../Sprout/System/BaseSystem.html">Sprout::System::BaseSystem</a></li>
264
+
265
+ <li><a href="../Sprout/System/JavaSystem.html">Sprout::System::JavaSystem</a></li>
266
+
267
+ <li><a href="../Sprout/System/OSXSystem.html">Sprout::System::OSXSystem</a></li>
268
+
269
+ <li><a href="../Sprout/System/UnixSystem.html">Sprout::System::UnixSystem</a></li>
270
+
271
+ <li><a href="../Sprout/System/VistaSystem.html">Sprout::System::VistaSystem</a></li>
272
+
273
+ <li><a href="../Sprout/System/WinNixSystem.html">Sprout::System::WinNixSystem</a></li>
274
+
275
+ <li><a href="../Sprout/System/WinSystem.html">Sprout::System::WinSystem</a></li>
276
+
277
+ <li><a href="../Sprout/ToolGenerator.html">Sprout::ToolGenerator</a></li>
278
+
279
+ <li><a href="../<.html"><</a></li>
280
+
281
+ <li><a href="../Dir.html">Dir</a></li>
282
+
283
+ <li><a href="../Object.html">Object</a></li>
284
+
285
+ <li><a href="../String.html">String</a></li>
286
+
287
+ </ul>
288
+ <div id="no-class-search-results" style="display: none;">No matching classes.</div>
289
+ </div>
290
+
291
+
292
+ </div>
293
+ </div>
294
+
295
+ <div id="documentation">
296
+ <h1 class="class">Sprout::ProcessRunner</h1>
297
+
298
+ <div id="description">
299
+ <p>
300
+ The <a href="ProcessRunner.html">ProcessRunner</a> is a cross-platform
301
+ wrapper for executing external executable processes.
302
+ </p>
303
+ <p>
304
+ As it turns out, Ruby handle differences very well, and other process
305
+ libraries (like win32-open3 and open4.popen4), do make the experience more
306
+ consistent on a given platform, but they don&#8217;t hide the differences
307
+ introduced by the continuing beligerence of Windows or *nix (depending on
308
+ which side of the fence you&#8217;re on).
309
+ </p>
310
+
311
+ </div>
312
+
313
+ <!-- Constants -->
314
+
315
+
316
+ <!-- Attributes -->
317
+
318
+ <div id="attribute-method-details" class="method-section section">
319
+ <h3 class="section-header">Attributes</h3>
320
+
321
+
322
+ <div id="pid-attribute-method" class="method-detail">
323
+ <a name="pid"></a>
324
+
325
+ <div class="method-heading attribute-method-heading">
326
+ <span class="method-name">pid</span><span
327
+ class="attribute-access-type">[R]</span>
328
+ </div>
329
+
330
+ <div class="method-description">
331
+
332
+
333
+
334
+ </div>
335
+ </div>
336
+
337
+ <div id="r-attribute-method" class="method-detail">
338
+ <a name="r"></a>
339
+
340
+ <div class="method-heading attribute-method-heading">
341
+ <span class="method-name">r</span><span
342
+ class="attribute-access-type">[R]</span>
343
+ </div>
344
+
345
+ <div class="method-description">
346
+
347
+
348
+
349
+ </div>
350
+ </div>
351
+
352
+ <div id="w-attribute-method" class="method-detail">
353
+ <a name="w"></a>
354
+
355
+ <div class="method-heading attribute-method-heading">
356
+ <span class="method-name">w</span><span
357
+ class="attribute-access-type">[R]</span>
358
+ </div>
359
+
360
+ <div class="method-description">
361
+
362
+
363
+
364
+ </div>
365
+ </div>
366
+
367
+ <div id="e-attribute-method" class="method-detail">
368
+ <a name="e"></a>
369
+
370
+ <div class="method-heading attribute-method-heading">
371
+ <span class="method-name">e</span><span
372
+ class="attribute-access-type">[R]</span>
373
+ </div>
374
+
375
+ <div class="method-description">
376
+
377
+
378
+
379
+ </div>
380
+ </div>
381
+
382
+ </div>
383
+
384
+
385
+ <!-- Methods -->
386
+
387
+ <div id="public-instance-method-details" class="method-section section">
388
+ <h3 class="section-header">Public Instance Methods</h3>
389
+
390
+
391
+ <div id="alive--method" class="method-detail ">
392
+ <a name="method-i-alive%3F"></a>
393
+
394
+ <div class="method-heading">
395
+
396
+ <span class="method-name">alive?</span><span
397
+ class="method-args">()</span>
398
+ <span class="method-click-advice">click to toggle source</span>
399
+
400
+ </div>
401
+
402
+ <div class="method-description">
403
+
404
+
405
+
406
+
407
+
408
+ <div class="method-source-code"
409
+ id="alive--source">
410
+ <pre>
411
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 40</span>
412
+ 40: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">alive?</span>
413
+ 41: <span class="ruby-ivar">@alive</span> = <span class="ruby-identifier">update_status</span>
414
+ 42: <span class="ruby-keyword kw">end</span></pre>
415
+ </div>
416
+
417
+ </div>
418
+
419
+
420
+
421
+
422
+ </div>
423
+
424
+
425
+ <div id="close-method" class="method-detail ">
426
+ <a name="method-i-close"></a>
427
+
428
+ <div class="method-heading">
429
+
430
+ <span class="method-name">close</span><span
431
+ class="method-args">()</span>
432
+ <span class="method-click-advice">click to toggle source</span>
433
+
434
+ </div>
435
+
436
+ <div class="method-description">
437
+
438
+
439
+
440
+
441
+
442
+ <div class="method-source-code"
443
+ id="close-source">
444
+ <pre>
445
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 48</span>
446
+ 48: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
447
+ 49: <span class="ruby-identifier">update_status</span>
448
+ 50: <span class="ruby-keyword kw">end</span></pre>
449
+ </div>
450
+
451
+ </div>
452
+
453
+
454
+
455
+
456
+ </div>
457
+
458
+
459
+ <div id="close-write-method" class="method-detail ">
460
+ <a name="method-i-close_write"></a>
461
+
462
+ <div class="method-heading">
463
+
464
+ <span class="method-name">close_write</span><span
465
+ class="method-args">()</span>
466
+ <span class="method-click-advice">click to toggle source</span>
467
+
468
+ </div>
469
+
470
+ <div class="method-description">
471
+
472
+
473
+
474
+
475
+
476
+ <div class="method-source-code"
477
+ id="close-write-source">
478
+ <pre>
479
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 86</span>
480
+ 86: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close_write</span>
481
+ 87: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">close_write</span>
482
+ 88: <span class="ruby-keyword kw">end</span></pre>
483
+ </div>
484
+
485
+ </div>
486
+
487
+
488
+
489
+
490
+ </div>
491
+
492
+
493
+ <div id="execute-open--method" class="method-detail ">
494
+ <a name="method-i-execute_open4"></a>
495
+
496
+ <div class="method-heading">
497
+
498
+ <span class="method-name">execute_open4</span><span
499
+ class="method-args">(*command)</span>
500
+ <span class="method-click-advice">click to toggle source</span>
501
+
502
+ </div>
503
+
504
+ <div class="method-description">
505
+
506
+ <p>
507
+ Execute the provided command using the open4.popen4 library. This is
508
+ generally only used by Cygwin and *nix variants (including OS X).
509
+ </p>
510
+
511
+
512
+
513
+ <div class="method-source-code"
514
+ id="execute-open--source">
515
+ <pre>
516
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 22</span>
517
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execute_open4</span> *<span class="ruby-identifier">command</span>
518
+ 23: <span class="ruby-identifier">execute_with_block</span> *<span class="ruby-identifier">command</span> <span class="ruby-keyword kw">do</span>
519
+ 24: <span class="ruby-comment cmt"># Not sure about the join - with the 1.0 push, we're</span>
520
+ 25: <span class="ruby-comment cmt"># sending in 2 args - the exe path, and options as a string.</span>
521
+ 26: <span class="ruby-comment cmt"># This was new and was causing problems...</span>
522
+ 27: <span class="ruby-ivar">@pid</span>, <span class="ruby-ivar">@w</span>, <span class="ruby-ivar">@r</span>, <span class="ruby-ivar">@e</span> = <span class="ruby-identifier">open4_popen4_block</span> *<span class="ruby-identifier">command</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
523
+ 28: <span class="ruby-keyword kw">end</span>
524
+ 29: <span class="ruby-keyword kw">end</span></pre>
525
+ </div>
526
+
527
+ </div>
528
+
529
+
530
+
531
+
532
+ </div>
533
+
534
+
535
+ <div id="execute-win--method" class="method-detail ">
536
+ <a name="method-i-execute_win32"></a>
537
+
538
+ <div class="method-heading">
539
+
540
+ <span class="method-name">execute_win32</span><span
541
+ class="method-args">(*command)</span>
542
+ <span class="method-click-advice">click to toggle source</span>
543
+
544
+ </div>
545
+
546
+ <div class="method-description">
547
+
548
+ <p>
549
+ Execute the provided command using the win32-open3 library. This is
550
+ generally used even by 64-bit Windows installations.
551
+ </p>
552
+
553
+
554
+
555
+ <div class="method-source-code"
556
+ id="execute-win--source">
557
+ <pre>
558
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 34</span>
559
+ 34: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execute_win32</span>(*<span class="ruby-identifier">command</span>)
560
+ 35: <span class="ruby-identifier">execute_with_block</span> *<span class="ruby-identifier">command</span> <span class="ruby-keyword kw">do</span>
561
+ 36: <span class="ruby-ivar">@pid</span>, <span class="ruby-ivar">@w</span>, <span class="ruby-ivar">@r</span>, <span class="ruby-ivar">@e</span> = <span class="ruby-identifier">io_popen_block</span> *<span class="ruby-identifier">command</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">' '</span>)
562
+ 37: <span class="ruby-keyword kw">end</span>
563
+ 38: <span class="ruby-keyword kw">end</span></pre>
564
+ </div>
565
+
566
+ </div>
567
+
568
+
569
+
570
+
571
+ </div>
572
+
573
+
574
+ <div id="flush-method" class="method-detail ">
575
+ <a name="method-i-flush"></a>
576
+
577
+ <div class="method-heading">
578
+
579
+ <span class="method-name">flush</span><span
580
+ class="method-args">()</span>
581
+ <span class="method-click-advice">click to toggle source</span>
582
+
583
+ </div>
584
+
585
+ <div class="method-description">
586
+
587
+
588
+
589
+
590
+
591
+ <div class="method-source-code"
592
+ id="flush-source">
593
+ <pre>
594
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 70</span>
595
+ 70: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">flush</span>
596
+ 71: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">flush</span>
597
+ 72: <span class="ruby-keyword kw">end</span></pre>
598
+ </div>
599
+
600
+ </div>
601
+
602
+
603
+
604
+
605
+ </div>
606
+
607
+
608
+ <div id="getc-method" class="method-detail ">
609
+ <a name="method-i-getc"></a>
610
+
611
+ <div class="method-heading">
612
+
613
+ <span class="method-name">getc</span><span
614
+ class="method-args">()</span>
615
+ <span class="method-click-advice">click to toggle source</span>
616
+
617
+ </div>
618
+
619
+ <div class="method-description">
620
+
621
+
622
+
623
+
624
+
625
+ <div class="method-source-code"
626
+ id="getc-source">
627
+ <pre>
628
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 74</span>
629
+ 74: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getc</span>
630
+ 75: <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">getc</span>
631
+ 76: <span class="ruby-keyword kw">end</span></pre>
632
+ </div>
633
+
634
+ </div>
635
+
636
+
637
+
638
+
639
+ </div>
640
+
641
+
642
+ <div id="kill-method" class="method-detail ">
643
+ <a name="method-i-kill"></a>
644
+
645
+ <div class="method-heading">
646
+
647
+ <span class="method-name">kill</span><span
648
+ class="method-args">()</span>
649
+ <span class="method-click-advice">click to toggle source</span>
650
+
651
+ </div>
652
+
653
+ <div class="method-description">
654
+
655
+
656
+
657
+
658
+
659
+ <div class="method-source-code"
660
+ id="kill-source">
661
+ <pre>
662
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 44</span>
663
+ 44: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">kill</span>
664
+ 45: <span class="ruby-constant">Process</span>.<span class="ruby-identifier">kill</span>(<span class="ruby-value">9</span>, <span class="ruby-identifier">pid</span>)
665
+ 46: <span class="ruby-keyword kw">end</span></pre>
666
+ </div>
667
+
668
+ </div>
669
+
670
+
671
+
672
+
673
+ </div>
674
+
675
+
676
+ <div id="print-method" class="method-detail ">
677
+ <a name="method-i-print"></a>
678
+
679
+ <div class="method-heading">
680
+
681
+ <span class="method-name">print</span><span
682
+ class="method-args">(msg)</span>
683
+ <span class="method-click-advice">click to toggle source</span>
684
+
685
+ </div>
686
+
687
+ <div class="method-description">
688
+
689
+
690
+
691
+
692
+
693
+ <div class="method-source-code"
694
+ id="print-source">
695
+ <pre>
696
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 78</span>
697
+ 78: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">print</span>(<span class="ruby-identifier">msg</span>)
698
+ 79: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">print</span> <span class="ruby-identifier">msg</span>
699
+ 80: <span class="ruby-keyword kw">end</span></pre>
700
+ </div>
701
+
702
+ </div>
703
+
704
+
705
+
706
+
707
+ </div>
708
+
709
+
710
+ <div id="puts-method" class="method-detail ">
711
+ <a name="method-i-puts"></a>
712
+
713
+ <div class="method-heading">
714
+
715
+ <span class="method-name">puts</span><span
716
+ class="method-args">(msg)</span>
717
+ <span class="method-click-advice">click to toggle source</span>
718
+
719
+ </div>
720
+
721
+ <div class="method-description">
722
+
723
+
724
+
725
+
726
+
727
+ <div class="method-source-code"
728
+ id="puts-source">
729
+ <pre>
730
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 82</span>
731
+ 82: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">puts</span>(<span class="ruby-identifier">msg</span>)
732
+ 83: <span class="ruby-ivar">@w</span>.<span class="ruby-identifier">puts</span>(<span class="ruby-identifier">msg</span>)
733
+ 84: <span class="ruby-keyword kw">end</span></pre>
734
+ </div>
735
+
736
+ </div>
737
+
738
+
739
+
740
+
741
+ </div>
742
+
743
+
744
+ <div id="read-method" class="method-detail ">
745
+ <a name="method-i-read"></a>
746
+
747
+ <div class="method-heading">
748
+
749
+ <span class="method-name">read</span><span
750
+ class="method-args">()</span>
751
+ <span class="method-click-advice">click to toggle source</span>
752
+
753
+ </div>
754
+
755
+ <div class="method-description">
756
+
757
+
758
+
759
+
760
+
761
+ <div class="method-source-code"
762
+ id="read-source">
763
+ <pre>
764
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 90</span>
765
+ 90: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read</span>
766
+ 91: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">read</span>
767
+ 92: <span class="ruby-keyword kw">end</span></pre>
768
+ </div>
769
+
770
+ </div>
771
+
772
+
773
+
774
+
775
+ </div>
776
+
777
+
778
+ <div id="read-err-method" class="method-detail ">
779
+ <a name="method-i-read_err"></a>
780
+
781
+ <div class="method-heading">
782
+
783
+ <span class="method-name">read_err</span><span
784
+ class="method-args">()</span>
785
+ <span class="method-click-advice">click to toggle source</span>
786
+
787
+ </div>
788
+
789
+ <div class="method-description">
790
+
791
+
792
+
793
+
794
+
795
+ <div class="method-source-code"
796
+ id="read-err-source">
797
+ <pre>
798
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 94</span>
799
+ 94: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">read_err</span>
800
+ 95: <span class="ruby-keyword kw">return</span> <span class="ruby-ivar">@e</span>.<span class="ruby-identifier">read</span>
801
+ 96: <span class="ruby-keyword kw">end</span></pre>
802
+ </div>
803
+
804
+ </div>
805
+
806
+
807
+
808
+
809
+ </div>
810
+
811
+
812
+ <div id="readlines-method" class="method-detail ">
813
+ <a name="method-i-readlines"></a>
814
+
815
+ <div class="method-heading">
816
+
817
+ <span class="method-name">readlines</span><span
818
+ class="method-args">()</span>
819
+ <span class="method-click-advice">click to toggle source</span>
820
+
821
+ </div>
822
+
823
+ <div class="method-description">
824
+
825
+
826
+
827
+
828
+
829
+ <div class="method-source-code"
830
+ id="readlines-source">
831
+ <pre>
832
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 66</span>
833
+ 66: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">readlines</span>
834
+ 67: <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">readlines</span>
835
+ 68: <span class="ruby-keyword kw">end</span></pre>
836
+ </div>
837
+
838
+ </div>
839
+
840
+
841
+
842
+
843
+ </div>
844
+
845
+
846
+ <div id="readpartial-method" class="method-detail ">
847
+ <a name="method-i-readpartial"></a>
848
+
849
+ <div class="method-heading">
850
+
851
+ <span class="method-name">readpartial</span><span
852
+ class="method-args">(count)</span>
853
+ <span class="method-click-advice">click to toggle source</span>
854
+
855
+ </div>
856
+
857
+ <div class="method-description">
858
+
859
+
860
+
861
+
862
+
863
+ <div class="method-source-code"
864
+ id="readpartial-source">
865
+ <pre>
866
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 62</span>
867
+ 62: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">count</span>)
868
+ 63: <span class="ruby-ivar">@r</span>.<span class="ruby-identifier">readpartial</span>(<span class="ruby-identifier">count</span>)
869
+ 64: <span class="ruby-keyword kw">end</span></pre>
870
+ </div>
871
+
872
+ </div>
873
+
874
+
875
+
876
+
877
+ </div>
878
+
879
+
880
+ <div id="update-status-method" class="method-detail ">
881
+ <a name="method-i-update_status"></a>
882
+
883
+ <div class="method-heading">
884
+
885
+ <span class="method-name">update_status</span><span
886
+ class="method-args">()</span>
887
+ <span class="method-click-advice">click to toggle source</span>
888
+
889
+ </div>
890
+
891
+ <div class="method-description">
892
+
893
+
894
+
895
+
896
+
897
+ <div class="method-source-code"
898
+ id="update-status-source">
899
+ <pre>
900
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 52</span>
901
+ 52: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_status</span>
902
+ 53: <span class="ruby-identifier">pid_int</span> = <span class="ruby-constant">Integer</span>(<span class="ruby-node">&quot;#{ @pid }&quot;</span>)
903
+ 54: <span class="ruby-keyword kw">begin</span>
904
+ 55: <span class="ruby-constant">Process</span><span class="ruby-operator">::</span><span class="ruby-identifier">kill</span> <span class="ruby-value">0</span>, <span class="ruby-identifier">pid_int</span>
905
+ 56: <span class="ruby-keyword kw">true</span>
906
+ 57: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ESRCH</span>
907
+ 58: <span class="ruby-keyword kw">false</span>
908
+ 59: <span class="ruby-keyword kw">end</span>
909
+ 60: <span class="ruby-keyword kw">end</span></pre>
910
+ </div>
911
+
912
+ </div>
913
+
914
+
915
+
916
+
917
+ </div>
918
+
919
+
920
+ </div>
921
+
922
+ <div id="private-instance-method-details" class="method-section section">
923
+ <h3 class="section-header">Private Instance Methods</h3>
924
+
925
+
926
+ <div id="execute-with-block-method" class="method-detail ">
927
+ <a name="method-i-execute_with_block"></a>
928
+
929
+ <div class="method-heading">
930
+
931
+ <span class="method-name">execute_with_block</span><span
932
+ class="method-args">(*command)</span>
933
+ <span class="method-click-advice">click to toggle source</span>
934
+
935
+ </div>
936
+
937
+ <div class="method-description">
938
+
939
+
940
+
941
+
942
+
943
+ <div class="method-source-code"
944
+ id="execute-with-block-source">
945
+ <pre>
946
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 128</span>
947
+ 128: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">execute_with_block</span> *<span class="ruby-identifier">command</span>
948
+ 129: <span class="ruby-keyword kw">begin</span>
949
+ 130: <span class="ruby-ivar">@alive</span> = <span class="ruby-keyword kw">true</span>
950
+ 131: <span class="ruby-keyword kw">yield</span>
951
+ 132: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">EACCES</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">eacces</span>
952
+ 133: <span class="ruby-identifier">update_executable_mode</span>(*<span class="ruby-identifier">command</span>)
953
+ 134: <span class="ruby-keyword kw">yield</span>
954
+ 135: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Errno</span><span class="ruby-operator">::</span><span class="ruby-constant">ENOENT</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-identifier">enoent</span>
955
+ 136: <span class="ruby-ivar">@alive</span> = <span class="ruby-keyword kw">false</span>
956
+ 137: <span class="ruby-identifier">part</span> = <span class="ruby-identifier">command</span>[<span class="ruby-value">0</span>]
957
+ 138: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Sprout</span><span class="ruby-operator">::</span><span class="ruby-constant">Errors</span><span class="ruby-operator">::</span><span class="ruby-constant">ProcessRunnerError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-node">&quot;The expected executable was not found for command [#{part}], please check your system path and/or sprout definition&quot;</span>)
958
+ 139: <span class="ruby-keyword kw">end</span>
959
+ 140: <span class="ruby-keyword kw">end</span></pre>
960
+ </div>
961
+
962
+ </div>
963
+
964
+
965
+
966
+
967
+ </div>
968
+
969
+
970
+ <div id="io-popen-block-method" class="method-detail ">
971
+ <a name="method-i-io_popen_block"></a>
972
+
973
+ <div class="method-heading">
974
+
975
+ <span class="method-name">io_popen_block</span><span
976
+ class="method-args">(*command)</span>
977
+ <span class="method-click-advice">click to toggle source</span>
978
+
979
+ </div>
980
+
981
+ <div class="method-description">
982
+
983
+
984
+
985
+
986
+
987
+ <div class="method-source-code"
988
+ id="io-popen-block-source">
989
+ <pre>
990
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 105</span>
991
+ 105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">io_popen_block</span> *<span class="ruby-identifier">command</span>
992
+ 106: <span class="ruby-keyword kw">if</span>(<span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'1.8.6'</span> <span class="ruby-operator">||</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator">==</span> <span class="ruby-value str">'1.8.7'</span>)
993
+ 107: <span class="ruby-identifier">win32_open3_block</span> *<span class="ruby-identifier">command</span>
994
+ 108: <span class="ruby-keyword kw">else</span>
995
+ 109: <span class="ruby-identifier">require</span> <span class="ruby-value str">'open3'</span>
996
+ 110: <span class="ruby-identifier">write</span>, <span class="ruby-identifier">read</span>, <span class="ruby-identifier">error</span>, <span class="ruby-identifier">wait_thread</span> = <span class="ruby-constant">Open3</span>.<span class="ruby-identifier">popen3</span>(*<span class="ruby-identifier">command</span>)
997
+ 111: [<span class="ruby-identifier">wait_thread</span>[<span class="ruby-value">:pid</span>], <span class="ruby-identifier">write</span>, <span class="ruby-identifier">read</span>, <span class="ruby-identifier">error</span>]
998
+ 112: <span class="ruby-keyword kw">end</span>
999
+ 113: <span class="ruby-keyword kw">end</span></pre>
1000
+ </div>
1001
+
1002
+ </div>
1003
+
1004
+
1005
+
1006
+
1007
+ </div>
1008
+
1009
+
1010
+ <div id="open-popen-block-method" class="method-detail ">
1011
+ <a name="method-i-open4_popen4_block"></a>
1012
+
1013
+ <div class="method-heading">
1014
+
1015
+ <span class="method-name">open4_popen4_block</span><span
1016
+ class="method-args">(*command)</span>
1017
+ <span class="method-click-advice">click to toggle source</span>
1018
+
1019
+ </div>
1020
+
1021
+ <div class="method-description">
1022
+
1023
+
1024
+
1025
+
1026
+
1027
+ <div class="method-source-code"
1028
+ id="open-popen-block-source">
1029
+ <pre>
1030
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 100</span>
1031
+ 100: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">open4_popen4_block</span> *<span class="ruby-identifier">command</span>
1032
+ 101: <span class="ruby-identifier">require</span> <span class="ruby-value str">'open4'</span>
1033
+ 102: <span class="ruby-identifier">open4</span>.<span class="ruby-identifier">popen4</span>(*<span class="ruby-identifier">command</span>)
1034
+ 103: <span class="ruby-keyword kw">end</span></pre>
1035
+ </div>
1036
+
1037
+ </div>
1038
+
1039
+
1040
+
1041
+
1042
+ </div>
1043
+
1044
+
1045
+ <div id="update-executable-mode-method" class="method-detail ">
1046
+ <a name="method-i-update_executable_mode"></a>
1047
+
1048
+ <div class="method-heading">
1049
+
1050
+ <span class="method-name">update_executable_mode</span><span
1051
+ class="method-args">(*command)</span>
1052
+ <span class="method-click-advice">click to toggle source</span>
1053
+
1054
+ </div>
1055
+
1056
+ <div class="method-description">
1057
+
1058
+
1059
+
1060
+
1061
+
1062
+ <div class="method-source-code"
1063
+ id="update-executable-mode-source">
1064
+ <pre>
1065
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 142</span>
1066
+ 142: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">update_executable_mode</span>(*<span class="ruby-identifier">command</span>)
1067
+ 143: <span class="ruby-identifier">str</span> = <span class="ruby-identifier">command</span>.<span class="ruby-identifier">shift</span>
1068
+ 144: <span class="ruby-keyword kw">if</span>(<span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">str</span>))
1069
+ 145: <span class="ruby-constant">FileUtils</span>.<span class="ruby-identifier">chmod</span>(<span class="ruby-value">0744</span>, <span class="ruby-identifier">str</span>)
1070
+ 146: <span class="ruby-keyword kw">end</span>
1071
+ 147: <span class="ruby-keyword kw">end</span></pre>
1072
+ </div>
1073
+
1074
+ </div>
1075
+
1076
+
1077
+
1078
+
1079
+ </div>
1080
+
1081
+
1082
+ <div id="win-open-block-method" class="method-detail ">
1083
+ <a name="method-i-win32_open3_block"></a>
1084
+
1085
+ <div class="method-heading">
1086
+
1087
+ <span class="method-name">win32_open3_block</span><span
1088
+ class="method-args">(*command)</span>
1089
+ <span class="method-click-advice">click to toggle source</span>
1090
+
1091
+ </div>
1092
+
1093
+ <div class="method-description">
1094
+
1095
+
1096
+
1097
+
1098
+
1099
+ <div class="method-source-code"
1100
+ id="win-open-block-source">
1101
+ <pre>
1102
+ <span class="ruby-comment cmt"># File lib/sprout/process_runner.rb, line 115</span>
1103
+ 115: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">win32_open3_block</span> *<span class="ruby-identifier">command</span>
1104
+ 116: <span class="ruby-identifier">write</span>, <span class="ruby-identifier">read</span>, <span class="ruby-identifier">error</span>, <span class="ruby-identifier">pid</span> = <span class="ruby-keyword kw">nil</span>
1105
+ 117: <span class="ruby-identifier">gem</span> <span class="ruby-value str">'win32-open3'</span>, <span class="ruby-value str">'0.2.5'</span>
1106
+ 118: <span class="ruby-identifier">require</span> <span class="ruby-value str">'win32/open3'</span>
1107
+ 119: <span class="ruby-constant">Open3</span>.<span class="ruby-identifier">popen3</span>(*<span class="ruby-identifier">command</span>) <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">w</span>, <span class="ruby-identifier">r</span>, <span class="ruby-identifier">e</span>, <span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
1108
+ 120: <span class="ruby-identifier">pid</span> = <span class="ruby-identifier">p</span>
1109
+ 121: <span class="ruby-identifier">write</span> = <span class="ruby-identifier">w</span>
1110
+ 122: <span class="ruby-identifier">read</span> = <span class="ruby-identifier">r</span>
1111
+ 123: <span class="ruby-identifier">error</span> = <span class="ruby-identifier">e</span>
1112
+ 124: <span class="ruby-keyword kw">end</span>
1113
+ 125: [<span class="ruby-identifier">pid</span>, <span class="ruby-identifier">write</span>, <span class="ruby-identifier">read</span>, <span class="ruby-identifier">error</span>]
1114
+ 126: <span class="ruby-keyword kw">end</span></pre>
1115
+ </div>
1116
+
1117
+ </div>
1118
+
1119
+
1120
+
1121
+
1122
+ </div>
1123
+
1124
+
1125
+ </div>
1126
+
1127
+
1128
+ </div>
1129
+
1130
+
1131
+ <div id="rdoc-debugging-section-dump" class="debugging-section">
1132
+
1133
+ <p>Disabled; run with --debug to generate this.</p>
1134
+
1135
+ </div>
1136
+
1137
+ <div id="validator-badges">
1138
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
1139
+ <p><small>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish
1140
+ Rdoc Generator</a> 1.1.6</small>.</p>
1141
+ </div>
1142
+
1143
+ </body>
1144
+ </html>
1145
+