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.
- data/Gemfile +1 -1
- data/Gemfile.lock +0 -2
- data/README.textile +1 -1
- data/VERSION +1 -1
- data/lib/sprout/concern.rb +5 -7
- data/lib/sprout/daemon.rb +183 -143
- data/lib/sprout/executable/base.rb +564 -0
- data/lib/sprout/executable.rb +1 -550
- data/lib/sprout/generator/base.rb +2 -3
- data/lib/sprout/generator.rb +2 -1
- data/lib/sprout/generators/ruby/templates/ruby_base.rb +1 -2
- data/lib/sprout/library.rb +3 -3
- data/lib/sprout/output_buffer.rb +35 -0
- data/lib/sprout/process_runner.rb +68 -17
- data/lib/sprout/progress_bar.rb +5 -5
- data/lib/sprout/remote_file_target.rb +1 -1
- data/lib/sprout/system/base_system.rb +3 -3
- data/lib/sprout/system/unix_system.rb +1 -1
- data/lib/sprout/{test/sprout_test_case.rb → test_helper.rb} +214 -14
- data/lib/sprout/version.rb +1 -1
- data/lib/sprout.rb +133 -2
- data/rakefile.rb +2 -0
- data/test/fixtures/examples/echo_inputs.rb +1 -2
- data/test/fixtures/executable/fdb.rb +7 -9
- data/test/fixtures/executable/flex3sdk_gem/fdb +49 -18
- data/test/fixtures/executable/mxmlc.rb +1 -2
- data/test/fixtures/executable/subclass/executable_subclass.rb +0 -1
- data/test/fixtures/executable/subclass/executable_superclass.rb +1 -2
- data/test/fixtures/specification/flex4sdk.rb +35 -24
- data/test/unit/archive_unpacker_test.rb +1 -1
- data/test/unit/boolean_param_test.rb +1 -1
- data/test/unit/daemon_test.rb +35 -3
- data/test/unit/executable_option_parser_test.rb +2 -3
- data/test/unit/executable_param_test.rb +1 -1
- data/test/unit/executable_test.rb +8 -15
- data/test/unit/fake_other_executable.rb +1 -2
- data/test/unit/file_param_test.rb +1 -1
- data/test/unit/file_target_test.rb +1 -1
- data/test/unit/files_param_test.rb +1 -1
- data/test/unit/generator_generator_test.rb +1 -1
- data/test/unit/generator_test.rb +1 -1
- data/test/unit/library_generator_test.rb +1 -1
- data/test/unit/library_test.rb +1 -1
- data/test/unit/osx_system_test.rb +1 -1
- data/test/unit/path_param_test.rb +1 -1
- data/test/unit/paths_param_test.rb +1 -1
- data/test/unit/platform_test.rb +1 -1
- data/test/unit/process_runner_test.rb +1 -1
- data/test/unit/rdoc_parser_test.rb +1 -1
- data/test/unit/remote_file_loader_test.rb +1 -1
- data/test/unit/remote_file_target_test.rb +1 -1
- data/test/unit/ruby_feature_test.rb +1 -1
- data/test/unit/ruby_generator_test.rb +1 -1
- data/test/unit/specification_test.rb +8 -1
- data/test/unit/sprout_test.rb +2 -2
- data/test/unit/string_param_test.rb +1 -1
- data/test/unit/string_test.rb +1 -1
- data/test/unit/strings_param_test.rb +1 -1
- data/test/unit/test_helper.rb +33 -1
- data/test/unit/tool_generator_test.rb +1 -1
- data/test/unit/unix_system_test.rb +1 -1
- data/test/unit/user_test.rb +1 -1
- data/test/unit/vista_system_test.rb +1 -1
- data/test/unit/win_nix_system_test.rb +1 -1
- data/test/unit/win_system_test.rb +1 -1
- data/test-stderr.log +1 -0
- data/test-stdout.log +237 -0
- metadata +15 -190
- data/doc/Dir.html +0 -288
- data/doc/Rake/Task.html +0 -184
- data/doc/Sprout/ArchiveUnpacker.html +0 -1246
- data/doc/Sprout/Base/ClassMethods.html +0 -434
- data/doc/Sprout/Base.html +0 -126
- data/doc/Sprout/Concern.html +0 -353
- data/doc/Sprout/Daemon/ClassMethods.html +0 -244
- data/doc/Sprout/Daemon/InstanceMethods.html +0 -601
- data/doc/Sprout/Daemon.html +0 -166
- data/doc/Sprout/Errors/ArchiveUnpackerError.html +0 -125
- data/doc/Sprout/Errors/DestinationExistsError.html +0 -133
- data/doc/Sprout/Errors/DuplicateMemberError.html +0 -132
- data/doc/Sprout/Errors/ExecutableError.html +0 -125
- data/doc/Sprout/Errors/ExecutableRegistrationError.html +0 -132
- data/doc/Sprout/Errors/ExecutionError.html +0 -121
- data/doc/Sprout/Errors/GeneratorError.html +0 -125
- data/doc/Sprout/Errors/InvalidArgumentError.html +0 -132
- data/doc/Sprout/Errors/LoadError.html +0 -121
- data/doc/Sprout/Errors/MissingArgumentError.html +0 -132
- data/doc/Sprout/Errors/MissingExecutableError.html +0 -132
- data/doc/Sprout/Errors/MissingGeneratorError.html +0 -132
- data/doc/Sprout/Errors/MissingTemplateError.html +0 -132
- data/doc/Sprout/Errors/ProcessRunnerError.html +0 -121
- data/doc/Sprout/Errors/RemoteFileLoaderError.html +0 -110
- data/doc/Sprout/Errors/SproutError.html +0 -114
- data/doc/Sprout/Errors/UnknownArchiveType.html +0 -122
- data/doc/Sprout/Errors/UsageError.html +0 -121
- data/doc/Sprout/Errors/ValidationError.html +0 -121
- data/doc/Sprout/Errors/VersionRequirementNotMetError.html +0 -121
- data/doc/Sprout/Errors.html +0 -101
- data/doc/Sprout/Executable/Boolean.html +0 -483
- data/doc/Sprout/Executable/ClassMethods.html +0 -417
- data/doc/Sprout/Executable/CollectionParam.html +0 -483
- data/doc/Sprout/Executable/FileParam.html +0 -484
- data/doc/Sprout/Executable/Files.html +0 -292
- data/doc/Sprout/Executable/InstanceMethods.html +0 -2006
- data/doc/Sprout/Executable/Number.html +0 -141
- data/doc/Sprout/Executable/Param.html +0 -2818
- data/doc/Sprout/Executable/ParameterFactory.html +0 -232
- data/doc/Sprout/Executable/Path.html +0 -223
- data/doc/Sprout/Executable/Paths.html +0 -253
- data/doc/Sprout/Executable/StringParam.html +0 -213
- data/doc/Sprout/Executable/Strings.html +0 -167
- data/doc/Sprout/Executable/Url.html +0 -160
- data/doc/Sprout/Executable/Urls.html +0 -170
- data/doc/Sprout/Executable.html +0 -173
- data/doc/Sprout/FileTarget.html +0 -1109
- data/doc/Sprout/Generator/Base.html +0 -1626
- data/doc/Sprout/Generator/Command.html +0 -690
- data/doc/Sprout/Generator/DirectoryManifest.html +0 -476
- data/doc/Sprout/Generator/FileManifest.html +0 -572
- data/doc/Sprout/Generator/Manifest.html +0 -377
- data/doc/Sprout/Generator/TemplateManifest.html +0 -196
- data/doc/Sprout/Generator.html +0 -689
- data/doc/Sprout/GeneratorGenerator.html +0 -1018
- data/doc/Sprout/Library.html +0 -1141
- data/doc/Sprout/LibraryGenerator.html +0 -309
- data/doc/Sprout/Log.html +0 -496
- data/doc/Sprout/MXMLC.html +0 -6373
- data/doc/Sprout/Platform.html +0 -714
- data/doc/Sprout/ProcessRunner.html +0 -1352
- data/doc/Sprout/ProgressBar.html +0 -376
- data/doc/Sprout/ProgressBarImpl.html +0 -2119
- data/doc/Sprout/ProgressBarManager.html +0 -434
- data/doc/Sprout/ProgressBarOutputStream.html +0 -416
- data/doc/Sprout/RDocParser.html +0 -211
- data/doc/Sprout/RemoteFileLoader.html +0 -172
- data/doc/Sprout/RemoteFileTarget.html +0 -679
- data/doc/Sprout/ReversedProgressBar.html +0 -194
- data/doc/Sprout/RubyFeature/ClassMethods.html +0 -1065
- data/doc/Sprout/RubyFeature.html +0 -155
- data/doc/Sprout/RubyGenerator.html +0 -764
- data/doc/Sprout/Specification.html +0 -767
- data/doc/Sprout/System/BaseSystem.html +0 -1455
- data/doc/Sprout/System/JavaSystem.html +0 -122
- data/doc/Sprout/System/OSXSystem.html +0 -335
- data/doc/Sprout/System/ThreadMock.html +0 -193
- data/doc/Sprout/System/UnixSystem.html +0 -584
- data/doc/Sprout/System/VistaSystem.html +0 -251
- data/doc/Sprout/System/WinNixSystem.html +0 -325
- data/doc/Sprout/System/WinSystem.html +0 -571
- data/doc/Sprout/System.html +0 -191
- data/doc/Sprout/ToolGenerator.html +0 -931
- data/doc/Sprout/VERSION.html +0 -128
- data/doc/Sprout.html +0 -144
- data/doc/SproutTestCase.html +0 -1412
- data/doc/String.html +0 -286
- data/doc/_index.html +0 -1035
- data/doc/class_list.html +0 -36
- data/doc/css/common.css +0 -1
- data/doc/css/full_list.css +0 -53
- data/doc/css/style.css +0 -310
- data/doc/file.README.html +0 -96
- data/doc/file.archive_unpacker.html +0 -288
- data/doc/file.base.html +0 -208
- data/doc/file.base_system.html +0 -278
- data/doc/file.boolean.html +0 -135
- data/doc/file.collection_param.html +0 -139
- data/doc/file.command.html +0 -126
- data/doc/file.concern.html +0 -136
- data/doc/file.daemon.html +0 -309
- data/doc/file.dir.html +0 -76
- data/doc/file.directory_manifest.html +0 -122
- data/doc/file.errors.html +0 -147
- data/doc/file.executable.html +0 -638
- data/doc/file.file_manifest.html +0 -109
- data/doc/file.file_param.html +0 -120
- data/doc/file.file_target.html +0 -140
- data/doc/file.files.html +0 -85
- data/doc/file.generator.html +0 -296
- data/doc/file.generator_class.html +0 -72
- data/doc/file.generator_generator.html +0 -137
- data/doc/file.generator_test.html +0 -92
- data/doc/file.generator_test_helper.html +0 -67
- data/doc/file.java_system.html +0 -62
- data/doc/file.library.html +0 -291
- data/doc/file.library_generator.html +0 -74
- data/doc/file.log.html +0 -100
- data/doc/file.manifest.html +0 -67
- data/doc/file.mxmlc.html +0 -740
- data/doc/file.number.html +0 -67
- data/doc/file.osx_system.html +0 -79
- data/doc/file.param.html +0 -491
- data/doc/file.parameter_factory.html +0 -119
- data/doc/file.path.html +0 -81
- data/doc/file.paths.html +0 -80
- data/doc/file.platform.html +0 -124
- data/doc/file.process_runner.html +0 -224
- data/doc/file.progress_bar.html +0 -390
- data/doc/file.rdoc_parser.html +0 -145
- data/doc/file.remote_file_loader.html +0 -117
- data/doc/file.remote_file_target.html +0 -176
- data/doc/file.ruby_base.html +0 -64
- data/doc/file.ruby_feature.html +0 -244
- data/doc/file.ruby_generator.html +0 -118
- data/doc/file.ruby_input.html +0 -62
- data/doc/file.ruby_test_case.html +0 -78
- data/doc/file.ruby_test_helper.html +0 -61
- data/doc/file.specification.html +0 -248
- data/doc/file.sprout.html +0 -64
- data/doc/file.sprout_test_case.html +0 -280
- data/doc/file.string.html +0 -72
- data/doc/file.string_param.html +0 -76
- data/doc/file.strings.html +0 -71
- data/doc/file.system.html +0 -86
- data/doc/file.template_manifest.html +0 -67
- data/doc/file.tool.html +0 -92
- data/doc/file.tool_generator.html +0 -90
- data/doc/file.unix_system.html +0 -128
- data/doc/file.url.html +0 -71
- data/doc/file.urls.html +0 -70
- data/doc/file.version.html +0 -71
- data/doc/file.vista_system.html +0 -69
- data/doc/file.win_nix_system.html +0 -88
- data/doc/file.win_system.html +0 -129
- data/doc/file_list.html +0 -230
- data/doc/frames.html +0 -13
- data/doc/index.html +0 -96
- data/doc/js/app.js +0 -202
- data/doc/js/full_list.js +0 -149
- data/doc/js/jquery.js +0 -154
- data/doc/method_list.html +0 -3355
- data/doc/top-level-namespace.html +0 -192
- data/lib/sprout/base.rb +0 -121
- data/lib/sprout/log.rb +0 -46
- data/test/unit/sprout_test_helper.rb +0 -33
@@ -1,224 +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: process_runner</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> »
|
27
|
-
<span class="title">File: process_runner</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 #:nodoc:</p>
|
46
|
-
|
47
|
-
<pre class="code"><span class='comment'># The ProcessRunner is a cross-platform wrapper for executing
|
48
|
-
</span><span class='comment'># external executable processes.
|
49
|
-
</span><span class='comment'>#
|
50
|
-
</span><span class='comment'># As it turns out, Ruby handle differences very well, and
|
51
|
-
</span><span class='comment'># other process libraries (like win32-open3 and open4.popen4),
|
52
|
-
</span><span class='comment'># do make the experience more consistent on a given platform,
|
53
|
-
</span><span class='comment'># but they don't hide the differences introduced by the
|
54
|
-
</span><span class='comment'># continuing beligerence of Windows or *nix (depending on
|
55
|
-
</span><span class='comment'># which side of the fence you're on).
|
56
|
-
</span><span class='kw'>class</span> <span class='const'>ProcessRunner</span>
|
57
|
-
|
58
|
-
<span class='id attr_reader'>attr_reader</span> <span class='symbol'>:pid</span>
|
59
|
-
<span class='id attr_reader'>attr_reader</span> <span class='symbol'>:ruby_version</span>
|
60
|
-
|
61
|
-
<span class='comment'>##
|
62
|
-
</span> <span class='comment'># Read IO (readable)
|
63
|
-
</span> <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:r</span>
|
64
|
-
|
65
|
-
<span class='comment'>##
|
66
|
-
</span> <span class='comment'># Write IO (writeable)
|
67
|
-
</span> <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:w</span>
|
68
|
-
|
69
|
-
<span class='comment'>##
|
70
|
-
</span> <span class='comment'># Error IO (readable)
|
71
|
-
</span> <span class='id attr_reader'>attr_reader</span> <span class='symbol'>:e</span>
|
72
|
-
|
73
|
-
<span class='kw'>def</span> <span class='id initialize'>initialize</span>
|
74
|
-
<span class='kw'>super</span>
|
75
|
-
<span class='ivar'>@ruby_version</span> <span class='op'>=</span> <span class='const'>RUBY_VERSION</span>
|
76
|
-
<span class='kw'>end</span>
|
77
|
-
|
78
|
-
<span class='comment'># Execute the provided command using the open4.popen4
|
79
|
-
</span> <span class='comment'># library. This is generally only used by Cygwin and
|
80
|
-
</span> <span class='comment'># *nix variants (including OS X).
|
81
|
-
</span> <span class='kw'>def</span> <span class='id execute_open4'>execute_open4</span> <span class='op'>*</span><span class='id command'>command</span>
|
82
|
-
<span class='id execute_with_block'>execute_with_block</span> <span class='op'>*</span><span class='id command'>command</span> <span class='kw'>do</span>
|
83
|
-
<span class='comment'># Not sure about the join - with the 1.0 push, we're
|
84
|
-
</span> <span class='comment'># sending in 2 args - the exe path, and options as a string.
|
85
|
-
</span> <span class='comment'># This was new and was causing problems...
|
86
|
-
</span> <span class='ivar'>@pid</span><span class='comma'>,</span> <span class='ivar'>@w</span><span class='comma'>,</span> <span class='ivar'>@r</span><span class='comma'>,</span> <span class='ivar'>@e</span> <span class='op'>=</span> <span class='id open4_popen4_block'>open4_popen4_block</span> <span class='op'>*</span><span class='id command'>command</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>
|
87
|
-
<span class='kw'>end</span>
|
88
|
-
<span class='kw'>end</span>
|
89
|
-
|
90
|
-
<span class='comment'># Execute the provided command using the win32-open3
|
91
|
-
</span> <span class='comment'># library. This is generally used even by 64-bit
|
92
|
-
</span> <span class='comment'># Windows installations.
|
93
|
-
</span> <span class='kw'>def</span> <span class='id execute_win32'>execute_win32</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span>
|
94
|
-
<span class='id execute_with_block'>execute_with_block</span> <span class='op'>*</span><span class='id command'>command</span> <span class='kw'>do</span>
|
95
|
-
<span class='ivar'>@pid</span><span class='comma'>,</span> <span class='ivar'>@w</span><span class='comma'>,</span> <span class='ivar'>@r</span><span class='comma'>,</span> <span class='ivar'>@e</span> <span class='op'>=</span> <span class='id io_popen_block'>io_popen_block</span> <span class='op'>*</span><span class='id command'>command</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>
|
96
|
-
<span class='kw'>end</span>
|
97
|
-
<span class='kw'>end</span>
|
98
|
-
|
99
|
-
<span class='kw'>def</span> <span class='id alive?'>alive?</span>
|
100
|
-
<span class='ivar'>@alive</span> <span class='op'>=</span> <span class='id update_status'>update_status</span>
|
101
|
-
<span class='kw'>end</span>
|
102
|
-
|
103
|
-
<span class='kw'>def</span> <span class='id kill'>kill</span>
|
104
|
-
<span class='const'>Process</span><span class='period'>.</span><span class='id kill'>kill</span><span class='lparen'>(</span><span class='int'>9</span><span class='comma'>,</span> <span class='id pid'>pid</span><span class='rparen'>)</span>
|
105
|
-
<span class='kw'>end</span>
|
106
|
-
|
107
|
-
<span class='kw'>def</span> <span class='id close'>close</span>
|
108
|
-
<span class='id update_status'>update_status</span>
|
109
|
-
<span class='kw'>end</span>
|
110
|
-
|
111
|
-
<span class='kw'>def</span> <span class='id update_status'>update_status</span>
|
112
|
-
<span class='id pid_int'>pid_int</span> <span class='op'>=</span> <span class='const'>Integer</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='embexpr_beg'>#{</span> <span class='ivar'>@pid</span> <span class='rbrace'>}</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
113
|
-
<span class='kw'>begin</span>
|
114
|
-
<span class='const'>Process</span><span class='op'>::</span><span class='id kill'>kill</span> <span class='int'>0</span><span class='comma'>,</span> <span class='id pid_int'>pid_int</span>
|
115
|
-
<span class='kw'>true</span>
|
116
|
-
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>ESRCH</span>
|
117
|
-
<span class='kw'>false</span>
|
118
|
-
<span class='kw'>end</span>
|
119
|
-
<span class='kw'>end</span>
|
120
|
-
|
121
|
-
<span class='kw'>def</span> <span class='id readpartial'>readpartial</span><span class='lparen'>(</span><span class='id count'>count</span><span class='rparen'>)</span>
|
122
|
-
<span class='ivar'>@r</span><span class='period'>.</span><span class='id readpartial'>readpartial</span><span class='lparen'>(</span><span class='id count'>count</span><span class='rparen'>)</span>
|
123
|
-
<span class='kw'>end</span>
|
124
|
-
|
125
|
-
<span class='kw'>def</span> <span class='id readlines'>readlines</span>
|
126
|
-
<span class='ivar'>@r</span><span class='period'>.</span><span class='id readlines'>readlines</span>
|
127
|
-
<span class='kw'>end</span>
|
128
|
-
|
129
|
-
<span class='kw'>def</span> <span class='id flush'>flush</span>
|
130
|
-
<span class='ivar'>@w</span><span class='period'>.</span><span class='id flush'>flush</span>
|
131
|
-
<span class='kw'>end</span>
|
132
|
-
|
133
|
-
<span class='kw'>def</span> <span class='id getc'>getc</span>
|
134
|
-
<span class='ivar'>@r</span><span class='period'>.</span><span class='id getc'>getc</span>
|
135
|
-
<span class='kw'>end</span>
|
136
|
-
|
137
|
-
<span class='kw'>def</span> <span class='id print'>print</span><span class='lparen'>(</span><span class='id msg'>msg</span><span class='rparen'>)</span>
|
138
|
-
<span class='ivar'>@w</span><span class='period'>.</span><span class='id print'>print</span> <span class='id msg'>msg</span>
|
139
|
-
<span class='kw'>end</span>
|
140
|
-
|
141
|
-
<span class='kw'>def</span> <span class='id puts'>puts</span><span class='lparen'>(</span><span class='id msg'>msg</span><span class='rparen'>)</span>
|
142
|
-
<span class='ivar'>@w</span><span class='period'>.</span><span class='id puts'>puts</span><span class='lparen'>(</span><span class='id msg'>msg</span><span class='rparen'>)</span>
|
143
|
-
<span class='kw'>end</span>
|
144
|
-
|
145
|
-
<span class='kw'>def</span> <span class='id close_write'>close_write</span>
|
146
|
-
<span class='ivar'>@w</span><span class='period'>.</span><span class='id close_write'>close_write</span>
|
147
|
-
<span class='kw'>end</span>
|
148
|
-
|
149
|
-
<span class='kw'>def</span> <span class='id read'>read</span>
|
150
|
-
<span class='kw'>return</span> <span class='ivar'>@r</span><span class='period'>.</span><span class='id read'>read</span>
|
151
|
-
<span class='kw'>end</span>
|
152
|
-
|
153
|
-
<span class='kw'>def</span> <span class='id read_err'>read_err</span>
|
154
|
-
<span class='kw'>return</span> <span class='ivar'>@e</span><span class='period'>.</span><span class='id read'>read</span>
|
155
|
-
<span class='kw'>end</span>
|
156
|
-
|
157
|
-
<span class='id private'>private</span>
|
158
|
-
|
159
|
-
<span class='kw'>def</span> <span class='id open4_popen4_block'>open4_popen4_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
160
|
-
<span class='id require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>open4</span><span class='tstring_end'>'</span></span>
|
161
|
-
<span class='id open4'>open4</span><span class='period'>.</span><span class='id popen4'>popen4</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span>
|
162
|
-
<span class='kw'>end</span>
|
163
|
-
|
164
|
-
<span class='kw'>def</span> <span class='id io_popen_block'>io_popen_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
165
|
-
<span class='kw'>if</span><span class='lparen'>(</span><span class='id ruby_version'>ruby_version</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1.8.6</span><span class='tstring_end'>'</span></span> <span class='op'>||</span> <span class='id ruby_version'>ruby_version</span> <span class='op'>==</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>1.8.7</span><span class='tstring_end'>'</span></span><span class='rparen'>)</span>
|
166
|
-
<span class='id win32_open3_block'>win32_open3_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
167
|
-
<span class='kw'>else</span>
|
168
|
-
<span class='id open3_popen3_block'>open3_popen3_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
169
|
-
<span class='kw'>end</span>
|
170
|
-
<span class='kw'>end</span>
|
171
|
-
|
172
|
-
<span class='kw'>def</span> <span class='id open3_popen3_block'>open3_popen3_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
173
|
-
<span class='id require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>open3</span><span class='tstring_end'>'</span></span>
|
174
|
-
<span class='id write'>write</span><span class='comma'>,</span> <span class='id read'>read</span><span class='comma'>,</span> <span class='id error'>error</span><span class='comma'>,</span> <span class='id wait_thread'>wait_thread</span> <span class='op'>=</span> <span class='const'>Open3</span><span class='period'>.</span><span class='id popen3'>popen3</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span>
|
175
|
-
<span class='lbracket'>[</span><span class='id wait_thread'>wait_thread</span><span class='lbracket'>[</span><span class='symbol'>:pid</span><span class='rbracket'>]</span><span class='comma'>,</span> <span class='id write'>write</span><span class='comma'>,</span> <span class='id read'>read</span><span class='comma'>,</span> <span class='id error'>error</span><span class='rbracket'>]</span>
|
176
|
-
<span class='kw'>end</span>
|
177
|
-
|
178
|
-
<span class='kw'>def</span> <span class='id win32_open3_block'>win32_open3_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
179
|
-
<span class='id write'>write</span><span class='comma'>,</span> <span class='id read'>read</span><span class='comma'>,</span> <span class='id error'>error</span><span class='comma'>,</span> <span class='id pid'>pid</span> <span class='op'>=</span> <span class='kw'>nil</span>
|
180
|
-
<span class='id gem'>gem</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>win32-open3</span><span class='tstring_end'>'</span></span>
|
181
|
-
<span class='id require'>require</span> <span class='tstring'><span class='tstring_beg'>'</span><span class='tstring_content'>win32/open3</span><span class='tstring_end'>'</span></span>
|
182
|
-
<span class='const'>Open3</span><span class='period'>.</span><span class='id popen3'>popen3</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id w'>w</span><span class='comma'>,</span> <span class='id r'>r</span><span class='comma'>,</span> <span class='id e'>e</span><span class='comma'>,</span> <span class='id p'>p</span><span class='op'>|</span>
|
183
|
-
<span class='id pid'>pid</span> <span class='op'>=</span> <span class='id p'>p</span>
|
184
|
-
<span class='id write'>write</span> <span class='op'>=</span> <span class='id w'>w</span>
|
185
|
-
<span class='id read'>read</span> <span class='op'>=</span> <span class='id r'>r</span>
|
186
|
-
<span class='id error'>error</span> <span class='op'>=</span> <span class='id e'>e</span>
|
187
|
-
<span class='kw'>end</span>
|
188
|
-
<span class='lbracket'>[</span><span class='id pid'>pid</span><span class='comma'>,</span> <span class='id write'>write</span><span class='comma'>,</span> <span class='id read'>read</span><span class='comma'>,</span> <span class='id error'>error</span><span class='rbracket'>]</span>
|
189
|
-
<span class='kw'>end</span>
|
190
|
-
|
191
|
-
<span class='kw'>def</span> <span class='id execute_with_block'>execute_with_block</span> <span class='op'>*</span><span class='id command'>command</span>
|
192
|
-
<span class='kw'>begin</span>
|
193
|
-
<span class='ivar'>@alive</span> <span class='op'>=</span> <span class='kw'>true</span>
|
194
|
-
<span class='kw'>yield</span>
|
195
|
-
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>EACCES</span> <span class='op'>=></span> <span class='id eacces'>eacces</span>
|
196
|
-
<span class='id update_executable_mode'>update_executable_mode</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span>
|
197
|
-
<span class='kw'>yield</span>
|
198
|
-
<span class='kw'>rescue</span> <span class='const'>Errno</span><span class='op'>::</span><span class='const'>ENOENT</span> <span class='op'>=></span> <span class='id enoent'>enoent</span>
|
199
|
-
<span class='ivar'>@alive</span> <span class='op'>=</span> <span class='kw'>false</span>
|
200
|
-
<span class='id part'>part</span> <span class='op'>=</span> <span class='id command'>command</span><span class='lbracket'>[</span><span class='int'>0</span><span class='rbracket'>]</span>
|
201
|
-
<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'>ProcessRunnerError</span><span class='period'>.</span><span class='id new'>new</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>The expected executable was not found for command [</span><span class='embexpr_beg'>#{</span><span class='id part'>part</span><span class='rbrace'>}</span><span class='tstring_content'>], please check your system path and/or sprout definition</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
202
|
-
<span class='kw'>end</span>
|
203
|
-
<span class='kw'>end</span>
|
204
|
-
|
205
|
-
<span class='kw'>def</span> <span class='id update_executable_mode'>update_executable_mode</span><span class='lparen'>(</span><span class='op'>*</span><span class='id command'>command</span><span class='rparen'>)</span>
|
206
|
-
<span class='id str'>str</span> <span class='op'>=</span> <span class='id command'>command</span><span class='period'>.</span><span class='id shift'>shift</span>
|
207
|
-
<span class='kw'>if</span><span class='lparen'>(</span><span class='const'>File</span><span class='period'>.</span><span class='id exists?'>exists?</span><span class='lparen'>(</span><span class='id str'>str</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
208
|
-
<span class='const'>FileUtils</span><span class='period'>.</span><span class='id chmod'>chmod</span><span class='lparen'>(</span><span class='int'>0744</span><span class='comma'>,</span> <span class='id str'>str</span><span class='rparen'>)</span>
|
209
|
-
<span class='kw'>end</span>
|
210
|
-
<span class='kw'>end</span>
|
211
|
-
|
212
|
-
<span class='kw'>end</span></pre>
|
213
|
-
|
214
|
-
<p>end</p>
|
215
|
-
</div></div>
|
216
|
-
|
217
|
-
<div id="footer">
|
218
|
-
Generated on Wed Dec 22 11:58:32 2010 by
|
219
|
-
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
220
|
-
0.6.3 (ruby-1.9.2).
|
221
|
-
</div>
|
222
|
-
|
223
|
-
</body>
|
224
|
-
</html>
|