sprout 1.0.32.pre → 1.0.35.pre
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of sprout might be problematic. Click here for more details.
- data/Gemfile +2 -1
- data/Gemfile.lock +4 -2
- data/README.textile +12 -13
- data/VERSION +1 -0
- data/doc/Dir.html +288 -0
- data/doc/Rake/Task.html +184 -0
- data/doc/Sprout.html +144 -0
- data/doc/Sprout/ArchiveUnpacker.html +1246 -0
- data/doc/Sprout/Base.html +126 -0
- data/doc/Sprout/Base/ClassMethods.html +434 -0
- data/doc/Sprout/Concern.html +353 -0
- data/doc/Sprout/Daemon.html +166 -0
- data/doc/Sprout/Daemon/ClassMethods.html +244 -0
- data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
- data/doc/Sprout/Errors.html +101 -0
- data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
- data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
- data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
- data/doc/Sprout/Errors/ExecutableError.html +125 -0
- data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
- data/doc/Sprout/Errors/ExecutionError.html +121 -0
- data/doc/Sprout/Errors/GeneratorError.html +125 -0
- data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
- data/doc/Sprout/Errors/LoadError.html +121 -0
- data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
- data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
- data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
- data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
- data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
- data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
- data/doc/Sprout/Errors/SproutError.html +114 -0
- data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
- data/doc/Sprout/Errors/UsageError.html +121 -0
- data/doc/Sprout/Errors/ValidationError.html +121 -0
- data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
- data/doc/Sprout/Executable.html +173 -0
- data/doc/Sprout/Executable/Boolean.html +483 -0
- data/doc/Sprout/Executable/ClassMethods.html +417 -0
- data/doc/Sprout/Executable/CollectionParam.html +483 -0
- data/doc/Sprout/Executable/FileParam.html +484 -0
- data/doc/Sprout/Executable/Files.html +292 -0
- data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
- data/doc/Sprout/Executable/Number.html +141 -0
- data/doc/Sprout/Executable/Param.html +2818 -0
- data/doc/Sprout/Executable/ParameterFactory.html +232 -0
- data/doc/Sprout/Executable/Path.html +223 -0
- data/doc/Sprout/Executable/Paths.html +253 -0
- data/doc/Sprout/Executable/StringParam.html +213 -0
- data/doc/Sprout/Executable/Strings.html +167 -0
- data/doc/Sprout/Executable/Url.html +160 -0
- data/doc/Sprout/Executable/Urls.html +170 -0
- data/doc/Sprout/FileTarget.html +1109 -0
- data/doc/Sprout/Generator.html +689 -0
- data/doc/Sprout/Generator/Base.html +1626 -0
- data/doc/Sprout/Generator/Command.html +690 -0
- data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
- data/doc/Sprout/Generator/FileManifest.html +572 -0
- data/doc/Sprout/Generator/Manifest.html +377 -0
- data/doc/Sprout/Generator/TemplateManifest.html +196 -0
- data/doc/Sprout/GeneratorGenerator.html +1018 -0
- data/doc/Sprout/Library.html +1141 -0
- data/doc/Sprout/LibraryGenerator.html +309 -0
- data/doc/Sprout/Log.html +496 -0
- data/doc/Sprout/MXMLC.html +6373 -0
- data/doc/Sprout/Platform.html +714 -0
- data/doc/Sprout/ProcessRunner.html +1352 -0
- data/doc/Sprout/ProgressBar.html +376 -0
- data/doc/Sprout/ProgressBarImpl.html +2119 -0
- data/doc/Sprout/ProgressBarManager.html +434 -0
- data/doc/Sprout/ProgressBarOutputStream.html +416 -0
- data/doc/Sprout/RDocParser.html +211 -0
- data/doc/Sprout/RemoteFileLoader.html +172 -0
- data/doc/Sprout/RemoteFileTarget.html +679 -0
- data/doc/Sprout/ReversedProgressBar.html +194 -0
- data/doc/Sprout/RubyFeature.html +155 -0
- data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
- data/doc/Sprout/RubyGenerator.html +764 -0
- data/doc/Sprout/Specification.html +767 -0
- data/doc/Sprout/System.html +191 -0
- data/doc/Sprout/System/BaseSystem.html +1455 -0
- data/doc/Sprout/System/JavaSystem.html +122 -0
- data/doc/Sprout/System/OSXSystem.html +335 -0
- data/doc/Sprout/System/ThreadMock.html +193 -0
- data/doc/Sprout/System/UnixSystem.html +584 -0
- data/doc/Sprout/System/VistaSystem.html +251 -0
- data/doc/Sprout/System/WinNixSystem.html +325 -0
- data/doc/Sprout/System/WinSystem.html +571 -0
- data/doc/Sprout/ToolGenerator.html +931 -0
- data/doc/Sprout/VERSION.html +128 -0
- data/doc/SproutTestCase.html +1412 -0
- data/doc/String.html +286 -0
- data/doc/_index.html +1035 -0
- data/doc/class_list.html +36 -0
- data/doc/css/common.css +1 -0
- data/doc/css/full_list.css +53 -0
- data/doc/css/style.css +310 -0
- data/doc/file.README.html +96 -0
- data/doc/file.archive_unpacker.html +288 -0
- data/doc/file.base.html +208 -0
- data/doc/file.base_system.html +278 -0
- data/doc/file.boolean.html +135 -0
- data/doc/file.collection_param.html +139 -0
- data/doc/file.command.html +126 -0
- data/doc/file.concern.html +136 -0
- data/doc/file.daemon.html +309 -0
- data/doc/file.dir.html +76 -0
- data/doc/file.directory_manifest.html +122 -0
- data/doc/file.errors.html +147 -0
- data/doc/file.executable.html +638 -0
- data/doc/file.file_manifest.html +109 -0
- data/doc/file.file_param.html +120 -0
- data/doc/file.file_target.html +140 -0
- data/doc/file.files.html +85 -0
- data/doc/file.generator.html +296 -0
- data/doc/file.generator_class.html +72 -0
- data/doc/file.generator_generator.html +137 -0
- data/doc/file.generator_test.html +92 -0
- data/doc/file.generator_test_helper.html +67 -0
- data/doc/file.java_system.html +62 -0
- data/doc/file.library.html +291 -0
- data/doc/file.library_generator.html +74 -0
- data/doc/file.log.html +100 -0
- data/doc/file.manifest.html +67 -0
- data/doc/file.mxmlc.html +740 -0
- data/doc/file.number.html +67 -0
- data/doc/file.osx_system.html +79 -0
- data/doc/file.param.html +491 -0
- data/doc/file.parameter_factory.html +119 -0
- data/doc/file.path.html +81 -0
- data/doc/file.paths.html +80 -0
- data/doc/file.platform.html +124 -0
- data/doc/file.process_runner.html +224 -0
- data/doc/file.progress_bar.html +390 -0
- data/doc/file.rdoc_parser.html +145 -0
- data/doc/file.remote_file_loader.html +117 -0
- data/doc/file.remote_file_target.html +176 -0
- data/doc/file.ruby_base.html +64 -0
- data/doc/file.ruby_feature.html +244 -0
- data/doc/file.ruby_generator.html +118 -0
- data/doc/file.ruby_input.html +62 -0
- data/doc/file.ruby_test_case.html +78 -0
- data/doc/file.ruby_test_helper.html +61 -0
- data/doc/file.specification.html +248 -0
- data/doc/file.sprout.html +64 -0
- data/doc/file.sprout_test_case.html +280 -0
- data/doc/file.string.html +72 -0
- data/doc/file.string_param.html +76 -0
- data/doc/file.strings.html +71 -0
- data/doc/file.system.html +86 -0
- data/doc/file.template_manifest.html +67 -0
- data/doc/file.tool.html +92 -0
- data/doc/file.tool_generator.html +90 -0
- data/doc/file.unix_system.html +128 -0
- data/doc/file.url.html +71 -0
- data/doc/file.urls.html +70 -0
- data/doc/file.version.html +71 -0
- data/doc/file.vista_system.html +69 -0
- data/doc/file.win_nix_system.html +88 -0
- data/doc/file.win_system.html +129 -0
- data/doc/file_list.html +230 -0
- data/doc/frames.html +13 -0
- data/doc/index.html +96 -0
- data/doc/js/app.js +202 -0
- data/doc/js/full_list.js +149 -0
- data/doc/js/jquery.js +154 -0
- data/doc/method_list.html +3355 -0
- data/doc/top-level-namespace.html +192 -0
- data/lib/sprout/archive_unpacker.rb +203 -137
- data/lib/sprout/base.rb +38 -11
- data/lib/sprout/concern.rb +51 -0
- data/lib/sprout/daemon.rb +256 -0
- data/lib/sprout/executable.rb +40 -11
- data/lib/sprout/executable/boolean.rb +47 -1
- data/lib/sprout/executable/collection_param.rb +33 -1
- data/lib/sprout/executable/file_param.rb +16 -3
- data/lib/sprout/executable/files.rb +5 -0
- data/lib/sprout/executable/number.rb +5 -1
- data/lib/sprout/executable/param.rb +232 -16
- data/lib/sprout/executable/parameter_factory.rb +39 -1
- data/lib/sprout/executable/path.rb +7 -1
- data/lib/sprout/executable/paths.rb +6 -1
- data/lib/sprout/executable/string_param.rb +8 -1
- data/lib/sprout/executable/strings.rb +7 -1
- data/lib/sprout/executable/url.rb +8 -1
- data/lib/sprout/executable/urls.rb +7 -1
- data/lib/sprout/file_target.rb +11 -11
- data/lib/sprout/generator.rb +244 -0
- data/lib/sprout/generator/base.rb +0 -94
- data/lib/sprout/generators/generator/generator_generator.rb +35 -1
- data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
- data/lib/sprout/library.rb +75 -0
- data/lib/sprout/log.rb +11 -12
- data/lib/sprout/process_runner.rb +29 -9
- data/lib/sprout/remote_file_target.rb +20 -9
- data/lib/sprout/system/base_system.rb +11 -3
- data/lib/sprout/test/sprout_test_case.rb +1 -0
- data/lib/sprout/version.rb +7 -11
- data/rakefile.rb +7 -12
- data/script/add_param_handler.rb +43 -0
- data/sprout.gemspec +2 -3
- data/test/fixtures/executable/fdb.rb +764 -0
- data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
- data/test/fixtures/executable/mxmlc.rb +9 -11
- data/test/unit/daemon_test.rb +61 -0
- data/test/unit/process_runner_test.rb +21 -0
- data/test/unit/remote_file_target_test.rb +45 -11
- data/test/unit/sprout_test_helper.rb +1 -1
- metadata +210 -29
@@ -0,0 +1,119 @@
|
|
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: parameter_factory</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: parameter_factory</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::Executable</p>
|
46
|
+
|
47
|
+
<pre class="code"><span class='comment'>##
|
48
|
+
</span><span class='comment'># A factory to create concrete Sprout::Executable::Param
|
49
|
+
</span><span class='comment'># entities from a set of known types.
|
50
|
+
</span><span class='comment'>#
|
51
|
+
</span><span class='comment'># If an unrecognized Class reference is provided
|
52
|
+
</span><span class='comment'># we will instantiate it and ensure that it
|
53
|
+
</span><span class='comment'># responds to the public members of the
|
54
|
+
</span><span class='comment'># Executable::Param interface.
|
55
|
+
</span><span class='comment'>#
|
56
|
+
</span><span class='comment'># This Factory gives you the ability to create new,
|
57
|
+
</span><span class='comment'># custom parameter types by simply ensuring they are
|
58
|
+
</span><span class='comment'># available to Ruby before your executable is
|
59
|
+
</span><span class='comment'># interpreted.
|
60
|
+
</span><span class='comment'>#
|
61
|
+
</span><span class='comment'># Following is an example of a custom Parameter:
|
62
|
+
</span><span class='comment'>#
|
63
|
+
</span><span class='comment'># class CustomParam < Sprout::Executable::Param
|
64
|
+
</span><span class='comment'>#
|
65
|
+
</span><span class='comment'># def to_shell
|
66
|
+
</span><span class='comment'># "--foo-bar=#{value}"
|
67
|
+
</span><span class='comment'># end
|
68
|
+
</span><span class='comment'># end
|
69
|
+
</span><span class='comment'>#
|
70
|
+
</span><span class='comment'># Following is an example Executable that can consume
|
71
|
+
</span><span class='comment'># the above parameter:
|
72
|
+
</span><span class='comment'>#
|
73
|
+
</span><span class='comment'># require 'custom_param'
|
74
|
+
</span><span class='comment'>#
|
75
|
+
</span><span class='comment'># class Foo
|
76
|
+
</span><span class='comment'># include Sprout::Executable
|
77
|
+
</span><span class='comment'>#
|
78
|
+
</span><span class='comment'># add_param :name, CustomParam
|
79
|
+
</span><span class='comment'>#
|
80
|
+
</span><span class='comment'># end
|
81
|
+
</span><span class='comment'>#
|
82
|
+
</span><span class='comment'># That's it, there is no need to register your custom types
|
83
|
+
</span><span class='comment'># with the Factory, just get it into your load path and
|
84
|
+
</span><span class='comment'># require it.
|
85
|
+
</span><span class='comment'>#
|
86
|
+
</span><span class='kw'>class</span> <span class='const'>ParameterFactory</span>
|
87
|
+
|
88
|
+
<span class='kw'>class</span> <span class='op'><<</span> <span class='kw'>self</span>
|
89
|
+
|
90
|
+
<span class='comment'>##
|
91
|
+
</span> <span class='comment'># This factory allows us to use classes by
|
92
|
+
</span> <span class='comment'># reference in the Executable interface.
|
93
|
+
</span> <span class='comment'># Since there are already Ruby primitives for
|
94
|
+
</span> <span class='comment'># String and File and we don't want to clobber
|
95
|
+
</span> <span class='comment'># them, we use this factory to convert those
|
96
|
+
</span> <span class='comment'># to the appropriate types.
|
97
|
+
</span> <span class='kw'>def</span> <span class='id create'>create</span> <span class='id type'>type</span>
|
98
|
+
<span class='comment'># Didn't want to clobber the stdlib references
|
99
|
+
</span> <span class='comment'># to these two important data types...
|
100
|
+
</span> <span class='comment'># But wanted to keep the add_param interface
|
101
|
+
</span> <span class='comment'># clean and simple.
|
102
|
+
</span> <span class='kw'>return</span> <span class='const'>StringParam</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>if</span> <span class='id type'>type</span> <span class='op'>==</span> <span class='const'>String</span>
|
103
|
+
<span class='kw'>return</span> <span class='const'>FileParam</span><span class='period'>.</span><span class='id new'>new</span> <span class='kw'>if</span> <span class='id type'>type</span> <span class='op'>==</span> <span class='const'>File</span>
|
104
|
+
<span class='id type'>type</span><span class='period'>.</span><span class='id new'>new</span>
|
105
|
+
<span class='kw'>end</span>
|
106
|
+
<span class='kw'>end</span>
|
107
|
+
<span class='kw'>end</span></pre>
|
108
|
+
|
109
|
+
<p>end</p>
|
110
|
+
</div></div>
|
111
|
+
|
112
|
+
<div id="footer">
|
113
|
+
Generated on Wed Dec 22 11:58:31 2010 by
|
114
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
115
|
+
0.6.3 (ruby-1.9.2).
|
116
|
+
</div>
|
117
|
+
|
118
|
+
</body>
|
119
|
+
</html>
|
data/doc/file.path.html
ADDED
@@ -0,0 +1,81 @@
|
|
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: path</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: path</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 Path values.
|
51
|
+
</span> <span class='comment'>#
|
52
|
+
</span> <span class='comment'># Path parameters will create a FileList of prerequisites by concatenating the value with
|
53
|
+
</span> <span class='comment'># the +file_expression+ that is set on the parameter or Sprout::Executable.
|
54
|
+
</span> <span class='comment'>#
|
55
|
+
</span> <span class='comment'># @see Sprout::Executable::Param
|
56
|
+
</span> <span class='comment'>#
|
57
|
+
</span> <span class='kw'>class</span> <span class='const'>Path</span> <span class='op'><</span> <span class='const'>Executable</span><span class='op'>::</span><span class='const'>Param</span>
|
58
|
+
|
59
|
+
<span class='kw'>def</span> <span class='id prepare_prerequisites'>prepare_prerequisites</span>
|
60
|
+
<span class='kw'>if</span><span class='lparen'>(</span><span class='id value'>value</span> <span class='op'>&&</span> <span class='op'>!</span><span class='id file_is_output?'>file_is_output?</span><span class='lparen'>(</span><span class='id value'>value</span><span class='rparen'>)</span><span class='rparen'>)</span>
|
61
|
+
<span class='id files'>files</span> <span class='op'>=</span> <span class='const'>FileList</span><span class='lbracket'>[</span><span class='id value'>value</span> <span class='op'>+</span> <span class='id file_expression'>file_expression</span><span class='rbracket'>]</span>
|
62
|
+
<span class='id files'>files</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
|
63
|
+
<span class='id file'>file</span> <span class='id f'>f</span>
|
64
|
+
<span class='id belongs_to'>belongs_to</span><span class='period'>.</span><span class='id prerequisites'>prerequisites</span> <span class='op'><<</span> <span class='id f'>f</span>
|
65
|
+
<span class='kw'>end</span>
|
66
|
+
<span class='kw'>end</span>
|
67
|
+
<span class='kw'>end</span>
|
68
|
+
<span class='kw'>end</span>
|
69
|
+
<span class='kw'>end</span></pre>
|
70
|
+
|
71
|
+
<p>end</p>
|
72
|
+
</div></div>
|
73
|
+
|
74
|
+
<div id="footer">
|
75
|
+
Generated on Wed Dec 22 11:58:31 2010 by
|
76
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
77
|
+
0.6.3 (ruby-1.9.2).
|
78
|
+
</div>
|
79
|
+
|
80
|
+
</body>
|
81
|
+
</html>
|
data/doc/file.paths.html
ADDED
@@ -0,0 +1,80 @@
|
|
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: paths</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: paths</span>
|
28
|
+
|
29
|
+
|
30
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
31
|
+
</div>
|
32
|
+
|
33
|
+
<div id="search">
|
34
|
+
<a id="class_list_link" href="#">Class List</a>
|
35
|
+
<a id="method_list_link" href="#">Method List</a>
|
36
|
+
<a id ="file_list_link" href="#">File List</a>
|
37
|
+
</div>
|
38
|
+
|
39
|
+
<div class="clear"></div>
|
40
|
+
</div>
|
41
|
+
|
42
|
+
<iframe id="search_frame"></iframe>
|
43
|
+
|
44
|
+
<div id="content"><div id='filecontents'>
|
45
|
+
<p>module Sprout</p>
|
46
|
+
|
47
|
+
<pre class="code"><span class='kw'>module</span> <span class='const'>Executable</span>
|
48
|
+
|
49
|
+
<span class='comment'>##
|
50
|
+
</span> <span class='comment'># A collection of Paths.
|
51
|
+
</span> <span class='comment'>#
|
52
|
+
</span> <span class='comment'># @see Sprout::Executable::Path
|
53
|
+
</span> <span class='comment'># @see Sprout::Executable::Param
|
54
|
+
</span> <span class='comment'># @see Sprout::Executable::CollectionParam
|
55
|
+
</span> <span class='comment'>#
|
56
|
+
</span> <span class='kw'>class</span> <span class='const'>Paths</span> <span class='op'><</span> <span class='const'>Files</span>
|
57
|
+
|
58
|
+
<span class='kw'>def</span> <span class='id prepare_prerequisites'>prepare_prerequisites</span>
|
59
|
+
<span class='id value'>value</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id path'>path</span><span class='op'>|</span>
|
60
|
+
<span class='id files'>files</span> <span class='op'>=</span> <span class='const'>FileList</span><span class='lbracket'>[</span><span class='id path'>path</span> <span class='op'>+</span> <span class='id file_expression'>file_expression</span><span class='rbracket'>]</span>
|
61
|
+
<span class='id files'>files</span><span class='period'>.</span><span class='id each'>each</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id f'>f</span><span class='op'>|</span>
|
62
|
+
<span class='id file'>file</span> <span class='id f'>f</span>
|
63
|
+
<span class='id belongs_to'>belongs_to</span><span class='period'>.</span><span class='id prerequisites'>prerequisites</span> <span class='op'><<</span> <span class='id f'>f</span>
|
64
|
+
<span class='kw'>end</span>
|
65
|
+
<span class='kw'>end</span>
|
66
|
+
<span class='kw'>end</span>
|
67
|
+
<span class='kw'>end</span>
|
68
|
+
<span class='kw'>end</span></pre>
|
69
|
+
|
70
|
+
<p>end</p>
|
71
|
+
</div></div>
|
72
|
+
|
73
|
+
<div id="footer">
|
74
|
+
Generated on Wed Dec 22 11:58:31 2010 by
|
75
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
76
|
+
0.6.3 (ruby-1.9.2).
|
77
|
+
</div>
|
78
|
+
|
79
|
+
</body>
|
80
|
+
</html>
|
@@ -0,0 +1,124 @@
|
|
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: platform</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: platform</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='comment'>##
|
48
|
+
</span><span class='comment'># Determine what environment we're in so that we
|
49
|
+
</span><span class='comment'># can play nice with libraries, processes, executables, etc.
|
50
|
+
</span><span class='comment'>#
|
51
|
+
</span><span class='kw'>class</span> <span class='const'>Platform</span>
|
52
|
+
|
53
|
+
<span class='comment'>##
|
54
|
+
</span> <span class='comment'># Returns +true+ if the current platform is some flavor of Windows.
|
55
|
+
</span> <span class='comment'>#
|
56
|
+
</span> <span class='kw'>def</span> <span class='id windows?'>windows?</span>
|
57
|
+
<span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>cygwin|mswin|mingw|bccwin|wince|emx|vista</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id ruby_platform'>ruby_platform</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
58
|
+
<span class='kw'>end</span>
|
59
|
+
|
60
|
+
<span class='comment'>##
|
61
|
+
</span> <span class='comment'># Returns +true+ if the current platform is Vista.
|
62
|
+
</span> <span class='comment'>#
|
63
|
+
</span> <span class='kw'>def</span> <span class='id vista?'>vista?</span>
|
64
|
+
<span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>vista</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id ruby_platform'>ruby_platform</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
65
|
+
<span class='kw'>end</span>
|
66
|
+
|
67
|
+
<span class='comment'>##
|
68
|
+
</span> <span class='comment'># Returns +true+ if the current platform is some flavor of Unix on
|
69
|
+
</span> <span class='comment'># Windows. Recognized nix-ish systems are: Cygwin, Mingw and BCCWin.
|
70
|
+
</span> <span class='comment'>#
|
71
|
+
</span> <span class='kw'>def</span> <span class='id windows_nix?'>windows_nix?</span>
|
72
|
+
<span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>cygwin|mingw|bccwin</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id ruby_platform'>ruby_platform</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
73
|
+
<span class='kw'>end</span>
|
74
|
+
|
75
|
+
<span class='comment'>##
|
76
|
+
</span> <span class='comment'># Returns +true+ if the current platform is some flash of OS X.
|
77
|
+
</span> <span class='comment'>#
|
78
|
+
</span> <span class='kw'>def</span> <span class='id mac?'>mac?</span>
|
79
|
+
<span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>darwin</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id ruby_platform'>ruby_platform</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
80
|
+
<span class='kw'>end</span>
|
81
|
+
|
82
|
+
<span class='comment'>##
|
83
|
+
</span> <span class='comment'># Returns +true+ if the current platform is not +windows?+ or +java?+.
|
84
|
+
</span> <span class='comment'>#
|
85
|
+
</span> <span class='kw'>def</span> <span class='id unix?'>unix?</span>
|
86
|
+
<span class='kw'>not</span> <span class='id windows?'>windows?</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id java?'>java?</span>
|
87
|
+
<span class='kw'>end</span>
|
88
|
+
|
89
|
+
<span class='comment'>##
|
90
|
+
</span> <span class='comment'># Returns +true+ if the current platform is +unix?+ and not +mac?+.
|
91
|
+
</span> <span class='comment'>#
|
92
|
+
</span> <span class='kw'>def</span> <span class='id linux?'>linux?</span>
|
93
|
+
<span class='id unix?'>unix?</span> <span class='kw'>and</span> <span class='kw'>not</span> <span class='id mac?'>mac?</span>
|
94
|
+
<span class='kw'>end</span>
|
95
|
+
|
96
|
+
<span class='comment'>##
|
97
|
+
</span> <span class='comment'># Returns +true+ if the current platform is running in the JVM (JRuby).
|
98
|
+
</span> <span class='comment'>#
|
99
|
+
</span> <span class='kw'>def</span> <span class='id java?'>java?</span>
|
100
|
+
<span class='lparen'>(</span><span class='tstring'><span class='regexp_beg'>/</span><span class='tstring_content'>java</span><span class='regexp_end'>/</span></span> <span class='op'>=~</span> <span class='id ruby_platform'>ruby_platform</span><span class='rparen'>)</span> <span class='op'>!=</span> <span class='kw'>nil</span>
|
101
|
+
<span class='kw'>end</span>
|
102
|
+
|
103
|
+
<span class='comment'>##
|
104
|
+
</span> <span class='comment'># Instance wrapper for the global Ruby Constant, +RUBY_PLATFORM+.
|
105
|
+
</span> <span class='comment'>#
|
106
|
+
</span> <span class='comment'># wrapping this global allows for much easier testing and environment simulation.
|
107
|
+
</span> <span class='comment'>#
|
108
|
+
</span> <span class='kw'>def</span> <span class='id ruby_platform'>ruby_platform</span>
|
109
|
+
<span class='const'>RUBY_PLATFORM</span>
|
110
|
+
<span class='kw'>end</span>
|
111
|
+
|
112
|
+
<span class='kw'>end</span></pre>
|
113
|
+
|
114
|
+
<p>end</p>
|
115
|
+
</div></div>
|
116
|
+
|
117
|
+
<div id="footer">
|
118
|
+
Generated on Wed Dec 22 11:58:32 2010 by
|
119
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
120
|
+
0.6.3 (ruby-1.9.2).
|
121
|
+
</div>
|
122
|
+
|
123
|
+
</body>
|
124
|
+
</html>
|
@@ -0,0 +1,224 @@
|
|
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>
|