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.

Files changed (208) hide show
  1. data/Gemfile +2 -1
  2. data/Gemfile.lock +4 -2
  3. data/README.textile +12 -13
  4. data/VERSION +1 -0
  5. data/doc/Dir.html +288 -0
  6. data/doc/Rake/Task.html +184 -0
  7. data/doc/Sprout.html +144 -0
  8. data/doc/Sprout/ArchiveUnpacker.html +1246 -0
  9. data/doc/Sprout/Base.html +126 -0
  10. data/doc/Sprout/Base/ClassMethods.html +434 -0
  11. data/doc/Sprout/Concern.html +353 -0
  12. data/doc/Sprout/Daemon.html +166 -0
  13. data/doc/Sprout/Daemon/ClassMethods.html +244 -0
  14. data/doc/Sprout/Daemon/InstanceMethods.html +601 -0
  15. data/doc/Sprout/Errors.html +101 -0
  16. data/doc/Sprout/Errors/ArchiveUnpackerError.html +125 -0
  17. data/doc/Sprout/Errors/DestinationExistsError.html +133 -0
  18. data/doc/Sprout/Errors/DuplicateMemberError.html +132 -0
  19. data/doc/Sprout/Errors/ExecutableError.html +125 -0
  20. data/doc/Sprout/Errors/ExecutableRegistrationError.html +132 -0
  21. data/doc/Sprout/Errors/ExecutionError.html +121 -0
  22. data/doc/Sprout/Errors/GeneratorError.html +125 -0
  23. data/doc/Sprout/Errors/InvalidArgumentError.html +132 -0
  24. data/doc/Sprout/Errors/LoadError.html +121 -0
  25. data/doc/Sprout/Errors/MissingArgumentError.html +132 -0
  26. data/doc/Sprout/Errors/MissingExecutableError.html +132 -0
  27. data/doc/Sprout/Errors/MissingGeneratorError.html +132 -0
  28. data/doc/Sprout/Errors/MissingTemplateError.html +132 -0
  29. data/doc/Sprout/Errors/ProcessRunnerError.html +121 -0
  30. data/doc/Sprout/Errors/RemoteFileLoaderError.html +110 -0
  31. data/doc/Sprout/Errors/SproutError.html +114 -0
  32. data/doc/Sprout/Errors/UnknownArchiveType.html +122 -0
  33. data/doc/Sprout/Errors/UsageError.html +121 -0
  34. data/doc/Sprout/Errors/ValidationError.html +121 -0
  35. data/doc/Sprout/Errors/VersionRequirementNotMetError.html +121 -0
  36. data/doc/Sprout/Executable.html +173 -0
  37. data/doc/Sprout/Executable/Boolean.html +483 -0
  38. data/doc/Sprout/Executable/ClassMethods.html +417 -0
  39. data/doc/Sprout/Executable/CollectionParam.html +483 -0
  40. data/doc/Sprout/Executable/FileParam.html +484 -0
  41. data/doc/Sprout/Executable/Files.html +292 -0
  42. data/doc/Sprout/Executable/InstanceMethods.html +2006 -0
  43. data/doc/Sprout/Executable/Number.html +141 -0
  44. data/doc/Sprout/Executable/Param.html +2818 -0
  45. data/doc/Sprout/Executable/ParameterFactory.html +232 -0
  46. data/doc/Sprout/Executable/Path.html +223 -0
  47. data/doc/Sprout/Executable/Paths.html +253 -0
  48. data/doc/Sprout/Executable/StringParam.html +213 -0
  49. data/doc/Sprout/Executable/Strings.html +167 -0
  50. data/doc/Sprout/Executable/Url.html +160 -0
  51. data/doc/Sprout/Executable/Urls.html +170 -0
  52. data/doc/Sprout/FileTarget.html +1109 -0
  53. data/doc/Sprout/Generator.html +689 -0
  54. data/doc/Sprout/Generator/Base.html +1626 -0
  55. data/doc/Sprout/Generator/Command.html +690 -0
  56. data/doc/Sprout/Generator/DirectoryManifest.html +476 -0
  57. data/doc/Sprout/Generator/FileManifest.html +572 -0
  58. data/doc/Sprout/Generator/Manifest.html +377 -0
  59. data/doc/Sprout/Generator/TemplateManifest.html +196 -0
  60. data/doc/Sprout/GeneratorGenerator.html +1018 -0
  61. data/doc/Sprout/Library.html +1141 -0
  62. data/doc/Sprout/LibraryGenerator.html +309 -0
  63. data/doc/Sprout/Log.html +496 -0
  64. data/doc/Sprout/MXMLC.html +6373 -0
  65. data/doc/Sprout/Platform.html +714 -0
  66. data/doc/Sprout/ProcessRunner.html +1352 -0
  67. data/doc/Sprout/ProgressBar.html +376 -0
  68. data/doc/Sprout/ProgressBarImpl.html +2119 -0
  69. data/doc/Sprout/ProgressBarManager.html +434 -0
  70. data/doc/Sprout/ProgressBarOutputStream.html +416 -0
  71. data/doc/Sprout/RDocParser.html +211 -0
  72. data/doc/Sprout/RemoteFileLoader.html +172 -0
  73. data/doc/Sprout/RemoteFileTarget.html +679 -0
  74. data/doc/Sprout/ReversedProgressBar.html +194 -0
  75. data/doc/Sprout/RubyFeature.html +155 -0
  76. data/doc/Sprout/RubyFeature/ClassMethods.html +1065 -0
  77. data/doc/Sprout/RubyGenerator.html +764 -0
  78. data/doc/Sprout/Specification.html +767 -0
  79. data/doc/Sprout/System.html +191 -0
  80. data/doc/Sprout/System/BaseSystem.html +1455 -0
  81. data/doc/Sprout/System/JavaSystem.html +122 -0
  82. data/doc/Sprout/System/OSXSystem.html +335 -0
  83. data/doc/Sprout/System/ThreadMock.html +193 -0
  84. data/doc/Sprout/System/UnixSystem.html +584 -0
  85. data/doc/Sprout/System/VistaSystem.html +251 -0
  86. data/doc/Sprout/System/WinNixSystem.html +325 -0
  87. data/doc/Sprout/System/WinSystem.html +571 -0
  88. data/doc/Sprout/ToolGenerator.html +931 -0
  89. data/doc/Sprout/VERSION.html +128 -0
  90. data/doc/SproutTestCase.html +1412 -0
  91. data/doc/String.html +286 -0
  92. data/doc/_index.html +1035 -0
  93. data/doc/class_list.html +36 -0
  94. data/doc/css/common.css +1 -0
  95. data/doc/css/full_list.css +53 -0
  96. data/doc/css/style.css +310 -0
  97. data/doc/file.README.html +96 -0
  98. data/doc/file.archive_unpacker.html +288 -0
  99. data/doc/file.base.html +208 -0
  100. data/doc/file.base_system.html +278 -0
  101. data/doc/file.boolean.html +135 -0
  102. data/doc/file.collection_param.html +139 -0
  103. data/doc/file.command.html +126 -0
  104. data/doc/file.concern.html +136 -0
  105. data/doc/file.daemon.html +309 -0
  106. data/doc/file.dir.html +76 -0
  107. data/doc/file.directory_manifest.html +122 -0
  108. data/doc/file.errors.html +147 -0
  109. data/doc/file.executable.html +638 -0
  110. data/doc/file.file_manifest.html +109 -0
  111. data/doc/file.file_param.html +120 -0
  112. data/doc/file.file_target.html +140 -0
  113. data/doc/file.files.html +85 -0
  114. data/doc/file.generator.html +296 -0
  115. data/doc/file.generator_class.html +72 -0
  116. data/doc/file.generator_generator.html +137 -0
  117. data/doc/file.generator_test.html +92 -0
  118. data/doc/file.generator_test_helper.html +67 -0
  119. data/doc/file.java_system.html +62 -0
  120. data/doc/file.library.html +291 -0
  121. data/doc/file.library_generator.html +74 -0
  122. data/doc/file.log.html +100 -0
  123. data/doc/file.manifest.html +67 -0
  124. data/doc/file.mxmlc.html +740 -0
  125. data/doc/file.number.html +67 -0
  126. data/doc/file.osx_system.html +79 -0
  127. data/doc/file.param.html +491 -0
  128. data/doc/file.parameter_factory.html +119 -0
  129. data/doc/file.path.html +81 -0
  130. data/doc/file.paths.html +80 -0
  131. data/doc/file.platform.html +124 -0
  132. data/doc/file.process_runner.html +224 -0
  133. data/doc/file.progress_bar.html +390 -0
  134. data/doc/file.rdoc_parser.html +145 -0
  135. data/doc/file.remote_file_loader.html +117 -0
  136. data/doc/file.remote_file_target.html +176 -0
  137. data/doc/file.ruby_base.html +64 -0
  138. data/doc/file.ruby_feature.html +244 -0
  139. data/doc/file.ruby_generator.html +118 -0
  140. data/doc/file.ruby_input.html +62 -0
  141. data/doc/file.ruby_test_case.html +78 -0
  142. data/doc/file.ruby_test_helper.html +61 -0
  143. data/doc/file.specification.html +248 -0
  144. data/doc/file.sprout.html +64 -0
  145. data/doc/file.sprout_test_case.html +280 -0
  146. data/doc/file.string.html +72 -0
  147. data/doc/file.string_param.html +76 -0
  148. data/doc/file.strings.html +71 -0
  149. data/doc/file.system.html +86 -0
  150. data/doc/file.template_manifest.html +67 -0
  151. data/doc/file.tool.html +92 -0
  152. data/doc/file.tool_generator.html +90 -0
  153. data/doc/file.unix_system.html +128 -0
  154. data/doc/file.url.html +71 -0
  155. data/doc/file.urls.html +70 -0
  156. data/doc/file.version.html +71 -0
  157. data/doc/file.vista_system.html +69 -0
  158. data/doc/file.win_nix_system.html +88 -0
  159. data/doc/file.win_system.html +129 -0
  160. data/doc/file_list.html +230 -0
  161. data/doc/frames.html +13 -0
  162. data/doc/index.html +96 -0
  163. data/doc/js/app.js +202 -0
  164. data/doc/js/full_list.js +149 -0
  165. data/doc/js/jquery.js +154 -0
  166. data/doc/method_list.html +3355 -0
  167. data/doc/top-level-namespace.html +192 -0
  168. data/lib/sprout/archive_unpacker.rb +203 -137
  169. data/lib/sprout/base.rb +38 -11
  170. data/lib/sprout/concern.rb +51 -0
  171. data/lib/sprout/daemon.rb +256 -0
  172. data/lib/sprout/executable.rb +40 -11
  173. data/lib/sprout/executable/boolean.rb +47 -1
  174. data/lib/sprout/executable/collection_param.rb +33 -1
  175. data/lib/sprout/executable/file_param.rb +16 -3
  176. data/lib/sprout/executable/files.rb +5 -0
  177. data/lib/sprout/executable/number.rb +5 -1
  178. data/lib/sprout/executable/param.rb +232 -16
  179. data/lib/sprout/executable/parameter_factory.rb +39 -1
  180. data/lib/sprout/executable/path.rb +7 -1
  181. data/lib/sprout/executable/paths.rb +6 -1
  182. data/lib/sprout/executable/string_param.rb +8 -1
  183. data/lib/sprout/executable/strings.rb +7 -1
  184. data/lib/sprout/executable/url.rb +8 -1
  185. data/lib/sprout/executable/urls.rb +7 -1
  186. data/lib/sprout/file_target.rb +11 -11
  187. data/lib/sprout/generator.rb +244 -0
  188. data/lib/sprout/generator/base.rb +0 -94
  189. data/lib/sprout/generators/generator/generator_generator.rb +35 -1
  190. data/lib/sprout/generators/generator/templates/generator_class.rb +3 -3
  191. data/lib/sprout/library.rb +75 -0
  192. data/lib/sprout/log.rb +11 -12
  193. data/lib/sprout/process_runner.rb +29 -9
  194. data/lib/sprout/remote_file_target.rb +20 -9
  195. data/lib/sprout/system/base_system.rb +11 -3
  196. data/lib/sprout/test/sprout_test_case.rb +1 -0
  197. data/lib/sprout/version.rb +7 -11
  198. data/rakefile.rb +7 -12
  199. data/script/add_param_handler.rb +43 -0
  200. data/sprout.gemspec +2 -3
  201. data/test/fixtures/executable/fdb.rb +764 -0
  202. data/test/fixtures/executable/flex3sdk_gem/fdb +60 -0
  203. data/test/fixtures/executable/mxmlc.rb +9 -11
  204. data/test/unit/daemon_test.rb +61 -0
  205. data/test/unit/process_runner_test.rb +21 -0
  206. data/test/unit/remote_file_target_test.rb +45 -11
  207. data/test/unit/sprout_test_helper.rb +1 -1
  208. 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> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../Sprout.html" title="Sprout (module)">Sprout</a></span></span>
28
+ &raquo;
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, &amp;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'>&quot;</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>@_dependencies</span><span class='tstring_end'>&quot;</span></span><span class='rparen'>)</span> <span class='op'>&lt;&lt;</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'>&lt;</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'>&quot;</span><span class='tstring_content'>ClassMethods</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>ClassMethods</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>InstanceMethods</span><span class='tstring_end'>&quot;</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'>&quot;</span><span class='tstring_content'>InstanceMethods</span><span class='tstring_end'>&quot;</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'>&amp;</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'>&quot;</span><span class='tstring_content'>@_included_block</span><span class='tstring_end'>&quot;</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, &amp;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'>&amp;</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> &raquo;
27
+ <span class='title'><span class='object_link'><a href="../Sprout.html" title="Sprout (module)">Sprout</a></span></span>
28
+ &raquo;
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'>&amp;</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'>&amp;</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>