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,353 @@
|
|
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>Module: Sprout::Concern</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">Index (C)</a> »
|
27
|
+
<span class='title'><span class='object_link'><a href="../Sprout.html" title="Sprout (module)">Sprout</a></span></span>
|
28
|
+
»
|
29
|
+
<span class="title">Concern</span>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="search">
|
36
|
+
<a id="class_list_link" href="#">Class List</a>
|
37
|
+
<a id="method_list_link" href="#">Method List</a>
|
38
|
+
<a id ="file_list_link" href="#">File List</a>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="clear"></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<iframe id="search_frame"></iframe>
|
45
|
+
|
46
|
+
<div id="content"><h1>Module: Sprout::Concern
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
</h1>
|
51
|
+
|
52
|
+
<dl class="box">
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
<dt class="r1">Included in:</dt>
|
61
|
+
<dd class="r1"><span class='object_link'><a href="Base.html" title="Sprout::Base (module)">Base</a></span>, <span class='object_link'><a href="Daemon.html" title="Sprout::Daemon (module)">Daemon</a></span>, <span class='object_link'><a href="Executable.html" title="Sprout::Executable (module)">Executable</a></span>, <span class='object_link'><a href="RubyFeature.html" title="Sprout::RubyFeature (module)">RubyFeature</a></span></dd>
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
<dt class="r2 last">Defined in:</dt>
|
66
|
+
<dd class="r2 last">lib/sprout/concern.rb</dd>
|
67
|
+
|
68
|
+
</dl>
|
69
|
+
<div class="clear"></div>
|
70
|
+
|
71
|
+
<h2>Overview</h2><div class="docstring">
|
72
|
+
<div class="discussion">
|
73
|
+
|
74
|
+
<p>This class was copied from Rails source code and provides our RubyFeature
|
75
|
+
with the ability to more clearly mix in functionality against a class and
|
76
|
+
behave as if inheritance works at the class mixin level.</p>
|
77
|
+
|
78
|
+
<p>TODO: I'd like to update our system so that this functionality is no longer
|
79
|
+
necessary - if you have ideas or opinions about this code, please let me
|
80
|
+
know!</p>
|
81
|
+
|
82
|
+
|
83
|
+
</div>
|
84
|
+
</div>
|
85
|
+
<div class="tags">
|
86
|
+
|
87
|
+
</div>
|
88
|
+
|
89
|
+
|
90
|
+
|
91
|
+
<h2>
|
92
|
+
Class Method Summary
|
93
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
94
|
+
</h2>
|
95
|
+
|
96
|
+
<ul class="summary">
|
97
|
+
|
98
|
+
<li class="public ">
|
99
|
+
<span class="summary_signature">
|
100
|
+
|
101
|
+
<a href="#extended-class_method" title="extended (class method)">+ (Object) <strong>extended</strong>(base) </a>
|
102
|
+
|
103
|
+
|
104
|
+
|
105
|
+
</span>
|
106
|
+
|
107
|
+
|
108
|
+
|
109
|
+
|
110
|
+
|
111
|
+
|
112
|
+
|
113
|
+
|
114
|
+
<span class="summary_desc"><div class='inline'>
|
115
|
+
<p>Callback handler when a class is extended.</p>
|
116
|
+
</div></span>
|
117
|
+
|
118
|
+
</li>
|
119
|
+
|
120
|
+
|
121
|
+
</ul>
|
122
|
+
|
123
|
+
<h2>
|
124
|
+
Instance Method Summary
|
125
|
+
<small>(<a href="#" class="summary_toggle">collapse</a>)</small>
|
126
|
+
</h2>
|
127
|
+
|
128
|
+
<ul class="summary">
|
129
|
+
|
130
|
+
<li class="public ">
|
131
|
+
<span class="summary_signature">
|
132
|
+
|
133
|
+
<a href="#append_features-instance_method" title="#append_features (instance method)">- (Object) <strong>append_features</strong>(base) </a>
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
</span>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
<span class="summary_desc"><div class='inline'>
|
147
|
+
<p>Apply both class and instance features found in the base class to the new
|
148
|
+
subclass.</p>
|
149
|
+
</div></span>
|
150
|
+
|
151
|
+
</li>
|
152
|
+
|
153
|
+
|
154
|
+
<li class="public ">
|
155
|
+
<span class="summary_signature">
|
156
|
+
|
157
|
+
<a href="#included-instance_method" title="#included (instance method)">- (Object) <strong>included</strong>(base = nil, &block) </a>
|
158
|
+
|
159
|
+
|
160
|
+
|
161
|
+
</span>
|
162
|
+
|
163
|
+
|
164
|
+
|
165
|
+
|
166
|
+
|
167
|
+
|
168
|
+
|
169
|
+
|
170
|
+
<span class="summary_desc"><div class='inline'>
|
171
|
+
<p>Handle inclusion of this module.</p>
|
172
|
+
</div></span>
|
173
|
+
|
174
|
+
</li>
|
175
|
+
|
176
|
+
|
177
|
+
</ul>
|
178
|
+
|
179
|
+
|
180
|
+
|
181
|
+
|
182
|
+
<div id="class_method_details" class="method_details_list">
|
183
|
+
<h2>Class Method Details</h2>
|
184
|
+
|
185
|
+
|
186
|
+
<div class="method_details first">
|
187
|
+
<p class="signature first" id="extended-class_method">
|
188
|
+
|
189
|
+
+ (<tt>Object</tt>) <strong>extended</strong>(base)
|
190
|
+
|
191
|
+
|
192
|
+
|
193
|
+
</p><div class="docstring">
|
194
|
+
<div class="discussion">
|
195
|
+
|
196
|
+
<p>Callback handler when a class is extended. This handler will set the
|
197
|
+
@_dependencies array on the concrete class that just extended a 'Concern'.</p>
|
198
|
+
|
199
|
+
<p>This callback is often triggered with:</p>
|
200
|
+
|
201
|
+
<pre class="code"><span class='kw'>class</span> <span class='const'>Foo</span>
|
202
|
+
<span class='id extend'>extend</span> <span class='const'>Concern</span>
|
203
|
+
<span class='kw'>end</span></pre>
|
204
|
+
|
205
|
+
|
206
|
+
</div>
|
207
|
+
</div>
|
208
|
+
<div class="tags">
|
209
|
+
|
210
|
+
</div><table class="source_code">
|
211
|
+
<tr>
|
212
|
+
<td>
|
213
|
+
<pre class="lines">
|
214
|
+
|
215
|
+
|
216
|
+
26
|
217
|
+
27
|
218
|
+
28</pre>
|
219
|
+
</td>
|
220
|
+
<td>
|
221
|
+
<pre class="code"><span class="info file"># File 'lib/sprout/concern.rb', line 26</span>
|
222
|
+
|
223
|
+
<span class='kw'>def</span> <span class='kw'>self</span><span class='period'>.</span><span class='id extended'>extended</span><span class='lparen'>(</span><span class='id base'>base</span><span class='rparen'>)</span>
|
224
|
+
<span class='id base'>base</span><span class='period'>.</span><span class='id instance_variable_set'>instance_variable_set</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>"</span></span><span class='comma'>,</span> <span class='lbracket'>[</span><span class='rbracket'>]</span><span class='rparen'>)</span>
|
225
|
+
<span class='kw'>end</span></pre>
|
226
|
+
</td>
|
227
|
+
</tr>
|
228
|
+
</table>
|
229
|
+
</div>
|
230
|
+
|
231
|
+
</div>
|
232
|
+
|
233
|
+
<div id="instance_method_details" class="method_details_list">
|
234
|
+
<h2>Instance Method Details</h2>
|
235
|
+
|
236
|
+
|
237
|
+
<div class="method_details first">
|
238
|
+
<p class="signature first" id="append_features-instance_method">
|
239
|
+
|
240
|
+
- (<tt>Object</tt>) <strong>append_features</strong>(base)
|
241
|
+
|
242
|
+
|
243
|
+
|
244
|
+
</p><div class="docstring">
|
245
|
+
<div class="discussion">
|
246
|
+
|
247
|
+
<p>Apply both class and instance features found in the base class to the new
|
248
|
+
subclass.</p>
|
249
|
+
|
250
|
+
|
251
|
+
</div>
|
252
|
+
</div>
|
253
|
+
<div class="tags">
|
254
|
+
|
255
|
+
</div><table class="source_code">
|
256
|
+
<tr>
|
257
|
+
<td>
|
258
|
+
<pre class="lines">
|
259
|
+
|
260
|
+
|
261
|
+
33
|
262
|
+
34
|
263
|
+
35
|
264
|
+
36
|
265
|
+
37
|
266
|
+
38
|
267
|
+
39
|
268
|
+
40
|
269
|
+
41
|
270
|
+
42
|
271
|
+
43
|
272
|
+
44
|
273
|
+
45</pre>
|
274
|
+
</td>
|
275
|
+
<td>
|
276
|
+
<pre class="code"><span class="info file"># File 'lib/sprout/concern.rb', line 33</span>
|
277
|
+
|
278
|
+
<span class='kw'>def</span> <span class='id append_features'>append_features</span><span class='lparen'>(</span><span class='id base'>base</span><span class='rparen'>)</span>
|
279
|
+
<span class='kw'>if</span> <span class='id base'>base</span><span class='period'>.</span><span class='id instance_variable_defined?'>instance_variable_defined?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
280
|
+
<span class='id base'>base</span><span class='period'>.</span><span class='id instance_variable_get'>instance_variable_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='op'><<</span> <span class='kw'>self</span>
|
281
|
+
<span class='kw'>return</span> <span class='kw'>false</span>
|
282
|
+
<span class='kw'>else</span>
|
283
|
+
<span class='kw'>return</span> <span class='kw'>false</span> <span class='kw'>if</span> <span class='id base'>base</span> <span class='op'><</span> <span class='kw'>self</span>
|
284
|
+
<span class='ivar'>@_dependencies</span><span class='period'>.</span><span class='id each'>each</span> <span class='lbrace'>{</span> <span class='op'>|</span><span class='id dep'>dep</span><span class='op'>|</span> <span class='id base'>base</span><span class='period'>.</span><span class='id send'>send</span><span class='lparen'>(</span><span class='symbol'>:include</span><span class='comma'>,</span> <span class='id dep'>dep</span><span class='rparen'>)</span> <span class='rbrace'>}</span>
|
285
|
+
<span class='kw'>super</span>
|
286
|
+
<span class='id base'>base</span><span class='period'>.</span><span class='id extend'>extend</span> <span class='id const_get'>const_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ClassMethods</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id const_defined?'>const_defined?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>ClassMethods</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
287
|
+
<span class='id base'>base</span><span class='period'>.</span><span class='id send'>send</span> <span class='symbol'>:include</span><span class='comma'>,</span> <span class='id const_get'>const_get</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>InstanceMethods</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id const_defined?'>const_defined?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>InstanceMethods</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
288
|
+
<span class='id base'>base</span><span class='period'>.</span><span class='id class_eval'>class_eval</span><span class='lparen'>(</span><span class='op'>&</span><span class='ivar'>@_included_block</span><span class='rparen'>)</span> <span class='kw'>if</span> <span class='id instance_variable_defined?'>instance_variable_defined?</span><span class='lparen'>(</span><span class='tstring'><span class='tstring_beg'>"</span><span class='tstring_content'>@_included_block</span><span class='tstring_end'>"</span></span><span class='rparen'>)</span>
|
289
|
+
<span class='kw'>end</span>
|
290
|
+
<span class='kw'>end</span></pre>
|
291
|
+
</td>
|
292
|
+
</tr>
|
293
|
+
</table>
|
294
|
+
</div>
|
295
|
+
|
296
|
+
<div class="method_details ">
|
297
|
+
<p class="signature " id="included-instance_method">
|
298
|
+
|
299
|
+
- (<tt>Object</tt>) <strong>included</strong>(base = nil, &block)
|
300
|
+
|
301
|
+
|
302
|
+
|
303
|
+
</p><div class="docstring">
|
304
|
+
<div class="discussion">
|
305
|
+
|
306
|
+
<p>Handle inclusion of this module.</p>
|
307
|
+
|
308
|
+
|
309
|
+
</div>
|
310
|
+
</div>
|
311
|
+
<div class="tags">
|
312
|
+
|
313
|
+
</div><table class="source_code">
|
314
|
+
<tr>
|
315
|
+
<td>
|
316
|
+
<pre class="lines">
|
317
|
+
|
318
|
+
|
319
|
+
49
|
320
|
+
50
|
321
|
+
51
|
322
|
+
52
|
323
|
+
53
|
324
|
+
54
|
325
|
+
55</pre>
|
326
|
+
</td>
|
327
|
+
<td>
|
328
|
+
<pre class="code"><span class="info file"># File 'lib/sprout/concern.rb', line 49</span>
|
329
|
+
|
330
|
+
<span class='kw'>def</span> <span class='id included'>included</span><span class='lparen'>(</span><span class='id base'>base</span> <span class='op'>=</span> <span class='kw'>nil</span><span class='comma'>,</span> <span class='op'>&</span><span class='id block'>block</span><span class='rparen'>)</span>
|
331
|
+
<span class='kw'>if</span> <span class='id base'>base</span><span class='period'>.</span><span class='id nil?'>nil?</span>
|
332
|
+
<span class='ivar'>@_included_block</span> <span class='op'>=</span> <span class='id block'>block</span>
|
333
|
+
<span class='kw'>else</span>
|
334
|
+
<span class='kw'>super</span>
|
335
|
+
<span class='kw'>end</span>
|
336
|
+
<span class='kw'>end</span></pre>
|
337
|
+
</td>
|
338
|
+
</tr>
|
339
|
+
</table>
|
340
|
+
</div>
|
341
|
+
|
342
|
+
</div>
|
343
|
+
|
344
|
+
</div>
|
345
|
+
|
346
|
+
<div id="footer">
|
347
|
+
Generated on Wed Dec 22 11:58:33 2010 by
|
348
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
349
|
+
0.6.3 (ruby-1.9.2).
|
350
|
+
</div>
|
351
|
+
|
352
|
+
</body>
|
353
|
+
</html>
|
@@ -0,0 +1,166 @@
|
|
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>Module: Sprout::Daemon</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">Index (D)</a> »
|
27
|
+
<span class='title'><span class='object_link'><a href="../Sprout.html" title="Sprout (module)">Sprout</a></span></span>
|
28
|
+
»
|
29
|
+
<span class="title">Daemon</span>
|
30
|
+
|
31
|
+
|
32
|
+
<div class="noframes"><span class="title">(</span><a href="." target="_top">no frames</a><span class="title">)</span></div>
|
33
|
+
</div>
|
34
|
+
|
35
|
+
<div id="search">
|
36
|
+
<a id="class_list_link" href="#">Class List</a>
|
37
|
+
<a id="method_list_link" href="#">Method List</a>
|
38
|
+
<a id ="file_list_link" href="#">File List</a>
|
39
|
+
</div>
|
40
|
+
|
41
|
+
<div class="clear"></div>
|
42
|
+
</div>
|
43
|
+
|
44
|
+
<iframe id="search_frame"></iframe>
|
45
|
+
|
46
|
+
<div id="content"><h1>Module: Sprout::Daemon
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
</h1>
|
51
|
+
|
52
|
+
<dl class="box">
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<dt class="r1">Extended by:</dt>
|
57
|
+
<dd class="r1"><span class='object_link'><a href="Concern.html" title="Sprout::Concern (module)">Concern</a></span></dd>
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
<dt class="r2 last">Defined in:</dt>
|
66
|
+
<dd class="r2 last">lib/sprout/daemon.rb</dd>
|
67
|
+
|
68
|
+
</dl>
|
69
|
+
<div class="clear"></div>
|
70
|
+
|
71
|
+
<h2>Overview</h2><div class="docstring">
|
72
|
+
<div class="discussion">
|
73
|
+
|
74
|
+
<p>The Sprout::Daemon module exposes the Domain Specific Language provided by
|
75
|
+
the Sprout::Executable module, but with enhancements (and modifications) to
|
76
|
+
support long-lived processes (like FDB and FCSH).</p>
|
77
|
+
|
78
|
+
<p>NOTE: Any class that includes Sprout::Daemon should first include
|
79
|
+
Sprout::Executable. This is an admittedly smelly constraint, but it works
|
80
|
+
for now.</p>
|
81
|
+
|
82
|
+
<pre class="code"><span class='kw'>class</span> <span class='const'>Foo</span>
|
83
|
+
<span class='id include'>include</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Executable</span>
|
84
|
+
<span class='id include'>include</span> <span class='const'>Sprout</span><span class='op'>::</span><span class='const'>Daemon</span>
|
85
|
+
|
86
|
+
<span class='comment'>##
|
87
|
+
</span> <span class='comment'># Keep in mind that we're still working
|
88
|
+
</span> <span class='comment'># with Executable, so add_param is available
|
89
|
+
</span> <span class='comment'># for the initialization of the process.
|
90
|
+
</span> <span class='id add_param'>add_param</span> <span class='symbol'>:input</span><span class='comma'>,</span> <span class='const'>File</span>
|
91
|
+
|
92
|
+
<span class='comment'>##
|
93
|
+
</span> <span class='comment'># Expose the do_something action after
|
94
|
+
</span> <span class='comment'># the process is started.
|
95
|
+
</span> <span class='id add_action'>add_action</span> <span class='symbol'>:do_something</span>
|
96
|
+
|
97
|
+
<span class='comment'>##
|
98
|
+
</span> <span class='comment'># Expose the do_something_else action after
|
99
|
+
</span> <span class='comment'># the process is started.
|
100
|
+
</span> <span class='id add_action'>add_action</span> <span class='symbol'>:do_something_else</span>
|
101
|
+
<span class='kw'>end</span></pre>
|
102
|
+
|
103
|
+
<p>You can also create a globally-accessible rake task to expose your new
|
104
|
+
Daemon instance to Rake by creating a method like the following:</p>
|
105
|
+
|
106
|
+
<pre class="code"><span class='kw'>def</span> <span class='id foo'>foo</span> <span class='op'>*</span><span class='id args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id block'>block</span>
|
107
|
+
<span class='id foo_tool'>foo_tool</span> <span class='op'>=</span> <span class='const'>Foo</span><span class='period'>.</span><span class='id new'>new</span>
|
108
|
+
<span class='id foo_tool'>foo_tool</span><span class='period'>.</span><span class='id to_rake'>to_rake</span> <span class='op'>*</span><span class='id args'>args</span><span class='comma'>,</span> <span class='op'>&</span><span class='id block'>block</span>
|
109
|
+
<span class='kw'>end</span></pre>
|
110
|
+
|
111
|
+
<p>Note: The aforementioned rake helper is usually written at the bottom of
|
112
|
+
the class file that is referenced.</p>
|
113
|
+
|
114
|
+
<p>The aforementioned Rake task could be used like:</p>
|
115
|
+
|
116
|
+
<pre class="code"><span class='id foo'>foo</span> <span class='symbol'>:bar</span> <span class='kw'>do</span> <span class='op'>|</span><span class='id t'>t</span><span class='op'>|</span>
|
117
|
+
<span class='id t'>t</span><span class='period'>.</span><span class='id do_something'>do_something</span>
|
118
|
+
<span class='id t'>t</span><span class='period'>.</span><span class='id do_something_else'>do_something_else</span>
|
119
|
+
<span class='kw'>end</span></pre>
|
120
|
+
|
121
|
+
<p>@see: Sprout::Daemon::ClassMethods @see: Sprout::Daemon::InstanceMethods</p>
|
122
|
+
|
123
|
+
|
124
|
+
</div>
|
125
|
+
</div>
|
126
|
+
<div class="tags">
|
127
|
+
|
128
|
+
</div><h2>Defined Under Namespace</h2>
|
129
|
+
<p class="children">
|
130
|
+
|
131
|
+
|
132
|
+
<strong class="modules">Modules:</strong> <span class='object_link'><a href="Daemon/ClassMethods.html" title="Sprout::Daemon::ClassMethods (module)">ClassMethods</a></span>, <span class='object_link'><a href="Daemon/InstanceMethods.html" title="Sprout::Daemon::InstanceMethods (module)">InstanceMethods</a></span>
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
|
137
|
+
</p>
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
|
146
|
+
|
147
|
+
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
<h2>Method Summary</h2>
|
152
|
+
|
153
|
+
<h3 class="inherited">Methods included from <span class='object_link'><a href="Concern.html" title="Sprout::Concern (module)">Concern</a></span></h3>
|
154
|
+
<p class="inherited"><span class='object_link'><a href="Concern.html#append_features-instance_method" title="Sprout::Concern#append_features (method)">append_features</a></span>, <span class='object_link'><a href="Concern.html#extended-class_method" title="Sprout::Concern.extended (method)">extended</a></span>, <span class='object_link'><a href="Concern.html#included-instance_method" title="Sprout::Concern#included (method)">included</a></span></p>
|
155
|
+
|
156
|
+
|
157
|
+
</div>
|
158
|
+
|
159
|
+
<div id="footer">
|
160
|
+
Generated on Wed Dec 22 11:58:33 2010 by
|
161
|
+
<a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
|
162
|
+
0.6.3 (ruby-1.9.2).
|
163
|
+
</div>
|
164
|
+
|
165
|
+
</body>
|
166
|
+
</html>
|