wee 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +0 -1
- data/Rakefile +5 -0
- data/TODO +6 -0
- data/doc/rdoc/classes/Enumerable.html +6 -6
- data/doc/rdoc/classes/Wee/AnswerDecoration.html +10 -10
- data/doc/rdoc/classes/Wee/Application.html +110 -52
- data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +8 -15
- data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +8 -19
- data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +22 -22
- data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +156 -0
- data/doc/rdoc/classes/Wee/Brush/FormTag.html +50 -25
- data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +36 -36
- data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +16 -16
- data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +8 -15
- data/doc/rdoc/classes/Wee/Brush/InputTag.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/Page.html +14 -14
- data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +28 -28
- data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +14 -14
- data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +14 -14
- data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +36 -36
- data/doc/rdoc/classes/Wee/Brush/TableTag.html +6 -6
- data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +28 -28
- data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush.html +19 -19
- data/doc/rdoc/classes/Wee/CallbackRegistry.html +33 -33
- data/doc/rdoc/classes/Wee/CallbackStream.html +18 -18
- data/doc/rdoc/classes/Wee/Canvas.html +24 -24
- data/doc/rdoc/classes/Wee/Component.html +163 -138
- data/doc/rdoc/classes/Wee/Decoration.html +72 -41
- data/doc/rdoc/classes/Wee/Delegate.html +31 -31
- data/doc/rdoc/classes/Wee/ErrorResponse.html +12 -12
- data/doc/rdoc/classes/Wee/GenericResponse.html +6 -6
- data/doc/rdoc/classes/Wee/Helper.html +148 -0
- data/doc/rdoc/classes/Wee/HtmlCanvas.html +267 -166
- data/doc/rdoc/classes/Wee/HtmlWriter.html +40 -40
- data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +12 -12
- data/doc/rdoc/classes/Wee/PageDecoration.html +199 -0
- data/doc/rdoc/classes/Wee/Presenter.html +69 -69
- data/doc/rdoc/classes/Wee/RedirectResponse.html +6 -6
- data/doc/rdoc/classes/Wee/RefreshResponse.html +6 -6
- data/doc/rdoc/classes/Wee/Request.html +18 -18
- data/doc/rdoc/classes/Wee/RequestHandler.html +32 -31
- data/doc/rdoc/classes/Wee/Response.html +24 -24
- data/doc/rdoc/classes/Wee/Session.html +83 -64
- data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +18 -18
- data/doc/rdoc/classes/Wee/Snapshot.html +19 -19
- data/doc/rdoc/classes/Wee/Utils/LRUCache.html +6 -6
- data/doc/rdoc/classes/Wee/ValueHolder.html +18 -18
- data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +66 -62
- data/doc/rdoc/classes/Wee.html +63 -2
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README.html +6 -9
- data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/application_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/components/page_decoration_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/components_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/core/callback_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core/component_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core/decoration_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core_rb.html +3 -3
- data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/requesthandler_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/session_rb.html +2 -1
- data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/utils/helper_rb.html +108 -0
- data/doc/rdoc/files/lib/wee_rb.html +2 -1
- data/doc/rdoc/fr_class_index.html +3 -1
- data/doc/rdoc/fr_file_index.html +4 -0
- data/doc/rdoc/fr_method_index.html +203 -191
- data/examples/example.rb +2 -16
- data/examples/test.rb +15 -18
- data/lib/wee/adaptors/webrick.rb +3 -1
- data/lib/wee/application.rb +55 -19
- data/lib/wee/components/page_decoration.rb +14 -0
- data/lib/wee/components.rb +1 -0
- data/lib/wee/core/callback.rb +1 -1
- data/lib/wee/core/component.rb +27 -3
- data/lib/wee/core/decoration.rb +9 -0
- data/lib/wee/renderer/html/brushes.rb +21 -23
- data/lib/wee/renderer/html/canvas.rb +25 -4
- data/lib/wee/requesthandler.rb +1 -0
- data/lib/wee/session.rb +21 -1
- data/lib/wee/utils/autoreload.rb +27 -0
- data/lib/wee/utils/helper.rb +15 -0
- data/lib/wee.rb +2 -1
- metadata +203 -191
- data/test/components/page_decoration.rb +0 -7
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
<div id="description">
|
|
84
84
|
<p>
|
|
85
85
|
The base class of all components. You should at least overwrite method <a
|
|
86
|
-
href="Component.html#
|
|
86
|
+
href="Component.html#M000173">render</a> in your own subclasses.
|
|
87
87
|
</p>
|
|
88
88
|
|
|
89
89
|
</div>
|
|
@@ -92,13 +92,13 @@ href="Component.html#M000164">render</a> in your own subclasses.
|
|
|
92
92
|
<div id="contents-list">
|
|
93
93
|
<h3 class="section-bar">Contents</h3>
|
|
94
94
|
<ul>
|
|
95
|
-
<li><a href="#
|
|
96
|
-
<li><a href="#
|
|
97
|
-
<li><a href="#
|
|
98
|
-
<li><a href="#
|
|
99
|
-
<li><a href="#
|
|
100
|
-
<li><a href="#
|
|
101
|
-
<li><a href="#
|
|
95
|
+
<li><a href="#SEC00067">Render</a></li>
|
|
96
|
+
<li><a href="#SEC00068">Callback</a></li>
|
|
97
|
+
<li><a href="#SEC00069">Init</a></li>
|
|
98
|
+
<li><a href="#SEC00070">Children</a></li>
|
|
99
|
+
<li><a href="#SEC00071">Decoration</a></li>
|
|
100
|
+
<li><a href="#SEC00072">Backtrack</a></li>
|
|
101
|
+
<li><a href="#SEC00073">Call/Answer</a></li>
|
|
102
102
|
</ul>
|
|
103
103
|
</div>
|
|
104
104
|
|
|
@@ -106,23 +106,23 @@ href="Component.html#M000164">render</a> in your own subclasses.
|
|
|
106
106
|
<h3 class="section-bar">Methods</h3>
|
|
107
107
|
|
|
108
108
|
<div class="name-list">
|
|
109
|
-
<a href="#
|
|
110
|
-
<a href="#
|
|
111
|
-
<a href="#
|
|
112
|
-
<a href="#
|
|
113
|
-
<a href="#
|
|
114
|
-
<a href="#
|
|
115
|
-
<a href="#
|
|
116
|
-
<a href="#
|
|
117
|
-
<a href="#
|
|
118
|
-
<a href="#
|
|
119
|
-
<a href="#
|
|
120
|
-
<a href="#
|
|
121
|
-
<a href="#
|
|
122
|
-
<a href="#
|
|
123
|
-
<a href="#
|
|
124
|
-
<a href="#
|
|
125
|
-
<a href="#
|
|
109
|
+
<a href="#M000178">add_child</a>
|
|
110
|
+
<a href="#M000182">add_decoration</a>
|
|
111
|
+
<a href="#M000188">answer</a>
|
|
112
|
+
<a href="#M000186">backtrack_state</a>
|
|
113
|
+
<a href="#M000185">backtrack_state_chain</a>
|
|
114
|
+
<a href="#M000187">call</a>
|
|
115
|
+
<a href="#M000177">children</a>
|
|
116
|
+
<a href="#M000179">decoration</a>
|
|
117
|
+
<a href="#M000180">decoration=</a>
|
|
118
|
+
<a href="#M000172">do_render_chain</a>
|
|
119
|
+
<a href="#M000181">each_decoration</a>
|
|
120
|
+
<a href="#M000176">initialize</a>
|
|
121
|
+
<a href="#M000175">process_callbacks</a>
|
|
122
|
+
<a href="#M000174">process_callbacks_chain</a>
|
|
123
|
+
<a href="#M000183">remove_decoration</a>
|
|
124
|
+
<a href="#M000184">remove_decoration_if</a>
|
|
125
|
+
<a href="#M000173">render</a>
|
|
126
126
|
</div>
|
|
127
127
|
</div>
|
|
128
128
|
|
|
@@ -142,7 +142,7 @@ href="Component.html#M000164">render</a> in your own subclasses.
|
|
|
142
142
|
|
|
143
143
|
<!-- if method_list -->
|
|
144
144
|
<div id="section">
|
|
145
|
-
<h2 class="section-title"><a name="
|
|
145
|
+
<h2 class="section-title"><a name="SEC00067">Render</a></h2>
|
|
146
146
|
<div class="section-comment">
|
|
147
147
|
|
|
148
148
|
</div>
|
|
@@ -158,11 +158,11 @@ href="Component.html#M000164">render</a> in your own subclasses.
|
|
|
158
158
|
<div id="methods">
|
|
159
159
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
160
160
|
|
|
161
|
-
<div id="method-
|
|
162
|
-
<a name="
|
|
161
|
+
<div id="method-M000172" class="method-detail">
|
|
162
|
+
<a name="M000172"></a>
|
|
163
163
|
|
|
164
164
|
<div class="method-heading">
|
|
165
|
-
<a href="#
|
|
165
|
+
<a href="#M000172" class="method-signature">
|
|
166
166
|
<span class="method-name">do_render_chain</span><span class="method-args">(rendering_context)</span>
|
|
167
167
|
</a>
|
|
168
168
|
</div>
|
|
@@ -170,7 +170,7 @@ href="Component.html#M000164">render</a> in your own subclasses.
|
|
|
170
170
|
<div class="method-description">
|
|
171
171
|
<p>
|
|
172
172
|
Starts rendering the decoration chain by calling method <a
|
|
173
|
-
href="Presenter.html#
|
|
173
|
+
href="Presenter.html#M000191">Presenter#do_render</a> for the first
|
|
174
174
|
decoration of the component, or calling <em>do_render</em> for the
|
|
175
175
|
component itself if no decorations were specified.
|
|
176
176
|
</p>
|
|
@@ -180,8 +180,8 @@ component itself if no decorations were specified.
|
|
|
180
180
|
</dd>
|
|
181
181
|
</dl>
|
|
182
182
|
<p><a class="source-toggle" href="#"
|
|
183
|
-
onclick="toggleCode('
|
|
184
|
-
<div class="method-source-code" id="
|
|
183
|
+
onclick="toggleCode('M000172-source');return false;">[Source]</a></p>
|
|
184
|
+
<div class="method-source-code" id="M000172-source">
|
|
185
185
|
<pre>
|
|
186
186
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 19</span>
|
|
187
187
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_render_chain</span>(<span class="ruby-identifier">rendering_context</span>)
|
|
@@ -192,11 +192,11 @@ component itself if no decorations were specified.
|
|
|
192
192
|
</div>
|
|
193
193
|
</div>
|
|
194
194
|
|
|
195
|
-
<div id="method-
|
|
196
|
-
<a name="
|
|
195
|
+
<div id="method-M000173" class="method-detail">
|
|
196
|
+
<a name="M000173"></a>
|
|
197
197
|
|
|
198
198
|
<div class="method-heading">
|
|
199
|
-
<a href="#
|
|
199
|
+
<a href="#M000173" class="method-signature">
|
|
200
200
|
<span class="method-name">render</span><span class="method-args">()</span>
|
|
201
201
|
</a>
|
|
202
202
|
</div>
|
|
@@ -213,8 +213,8 @@ view. By default this method does nothing!
|
|
|
213
213
|
Use the current renderer as returned by renderer or it’s short-cut r.
|
|
214
214
|
</p>
|
|
215
215
|
<p><a class="source-toggle" href="#"
|
|
216
|
-
onclick="toggleCode('
|
|
217
|
-
<div class="method-source-code" id="
|
|
216
|
+
onclick="toggleCode('M000173-source');return false;">[Source]</a></p>
|
|
217
|
+
<div class="method-source-code" id="M000173-source">
|
|
218
218
|
<pre>
|
|
219
219
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 30</span>
|
|
220
220
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>
|
|
@@ -227,7 +227,7 @@ Use the current renderer as returned by renderer or it’s short-cut r.
|
|
|
227
227
|
|
|
228
228
|
</div>
|
|
229
229
|
<div id="section">
|
|
230
|
-
<h2 class="section-title"><a name="
|
|
230
|
+
<h2 class="section-title"><a name="SEC00068">Callback</a></h2>
|
|
231
231
|
<div class="section-comment">
|
|
232
232
|
|
|
233
233
|
</div>
|
|
@@ -243,11 +243,11 @@ Use the current renderer as returned by renderer or it’s short-cut r.
|
|
|
243
243
|
<div id="methods">
|
|
244
244
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
245
245
|
|
|
246
|
-
<div id="method-
|
|
247
|
-
<a name="
|
|
246
|
+
<div id="method-M000175" class="method-detail">
|
|
247
|
+
<a name="M000175"></a>
|
|
248
248
|
|
|
249
249
|
<div class="method-heading">
|
|
250
|
-
<a href="#
|
|
250
|
+
<a href="#M000175" class="method-signature">
|
|
251
251
|
<span class="method-name">process_callbacks</span><span class="method-args">(callback_stream)</span>
|
|
252
252
|
</a>
|
|
253
253
|
</div>
|
|
@@ -267,8 +267,8 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
|
267
267
|
</dd>
|
|
268
268
|
</dl>
|
|
269
269
|
<p><a class="source-toggle" href="#"
|
|
270
|
-
onclick="toggleCode('
|
|
271
|
-
<div class="method-source-code" id="
|
|
270
|
+
onclick="toggleCode('M000175-source');return false;">[Source]</a></p>
|
|
271
|
+
<div class="method-source-code" id="M000175-source">
|
|
272
272
|
<pre>
|
|
273
273
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 59</span>
|
|
274
274
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
@@ -284,11 +284,11 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
|
284
284
|
</div>
|
|
285
285
|
</div>
|
|
286
286
|
|
|
287
|
-
<div id="method-
|
|
288
|
-
<a name="
|
|
287
|
+
<div id="method-M000174" class="method-detail">
|
|
288
|
+
<a name="M000174"></a>
|
|
289
289
|
|
|
290
290
|
<div class="method-heading">
|
|
291
|
-
<a href="#
|
|
291
|
+
<a href="#M000174" class="method-signature">
|
|
292
292
|
<span class="method-name">process_callbacks_chain</span><span class="method-args">(callback_stream)</span>
|
|
293
293
|
</a>
|
|
294
294
|
</div>
|
|
@@ -296,7 +296,7 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
|
296
296
|
<div class="method-description">
|
|
297
297
|
<p>
|
|
298
298
|
Starts processing the callbacks for the decoration chain by invoking method
|
|
299
|
-
<a href="Component.html#
|
|
299
|
+
<a href="Component.html#M000175">process_callbacks</a> of the first
|
|
300
300
|
decoration or the component itself if no decorations were specified.
|
|
301
301
|
</p>
|
|
302
302
|
<dl>
|
|
@@ -305,8 +305,8 @@ decoration or the component itself if no decorations were specified.
|
|
|
305
305
|
</dd>
|
|
306
306
|
</dl>
|
|
307
307
|
<p><a class="source-toggle" href="#"
|
|
308
|
-
onclick="toggleCode('
|
|
309
|
-
<div class="method-source-code" id="
|
|
308
|
+
onclick="toggleCode('M000174-source');return false;">[Source]</a></p>
|
|
309
|
+
<div class="method-source-code" id="M000174-source">
|
|
310
310
|
<pre>
|
|
311
311
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 46</span>
|
|
312
312
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks_chain</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
@@ -320,7 +320,7 @@ decoration or the component itself if no decorations were specified.
|
|
|
320
320
|
|
|
321
321
|
</div>
|
|
322
322
|
<div id="section">
|
|
323
|
-
<h2 class="section-title"><a name="
|
|
323
|
+
<h2 class="section-title"><a name="SEC00069">Init</a></h2>
|
|
324
324
|
<div class="section-comment">
|
|
325
325
|
|
|
326
326
|
</div>
|
|
@@ -336,11 +336,11 @@ decoration or the component itself if no decorations were specified.
|
|
|
336
336
|
<div id="methods">
|
|
337
337
|
<h3 class="section-bar">Protected Instance methods</h3>
|
|
338
338
|
|
|
339
|
-
<div id="method-
|
|
340
|
-
<a name="
|
|
339
|
+
<div id="method-M000176" class="method-detail">
|
|
340
|
+
<a name="M000176"></a>
|
|
341
341
|
|
|
342
342
|
<div class="method-heading">
|
|
343
|
-
<a href="#
|
|
343
|
+
<a href="#M000176" class="method-signature">
|
|
344
344
|
<span class="method-name">initialize</span><span class="method-args">()</span>
|
|
345
345
|
</a>
|
|
346
346
|
</div>
|
|
@@ -354,8 +354,8 @@ Call this method from your own components’ <em>initialize</em> method
|
|
|
354
354
|
using <tt>super</tt>, before setting up anything else!
|
|
355
355
|
</p>
|
|
356
356
|
<p><a class="source-toggle" href="#"
|
|
357
|
-
onclick="toggleCode('
|
|
358
|
-
<div class="method-source-code" id="
|
|
357
|
+
onclick="toggleCode('M000176-source');return false;">[Source]</a></p>
|
|
358
|
+
<div class="method-source-code" id="M000176-source">
|
|
359
359
|
<pre>
|
|
360
360
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 79</span>
|
|
361
361
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>() <span class="ruby-comment cmt"># :notnew:</span>
|
|
@@ -370,7 +370,7 @@ using <tt>super</tt>, before setting up anything else!
|
|
|
370
370
|
|
|
371
371
|
</div>
|
|
372
372
|
<div id="section">
|
|
373
|
-
<h2 class="section-title"><a name="
|
|
373
|
+
<h2 class="section-title"><a name="SEC00070">Children</a></h2>
|
|
374
374
|
<div class="section-comment">
|
|
375
375
|
|
|
376
376
|
</div>
|
|
@@ -386,11 +386,11 @@ using <tt>super</tt>, before setting up anything else!
|
|
|
386
386
|
<div id="methods">
|
|
387
387
|
<h3 class="section-bar">Protected Instance methods</h3>
|
|
388
388
|
|
|
389
|
-
<div id="method-
|
|
390
|
-
<a name="
|
|
389
|
+
<div id="method-M000178" class="method-detail">
|
|
390
|
+
<a name="M000178"></a>
|
|
391
391
|
|
|
392
392
|
<div class="method-heading">
|
|
393
|
-
<a href="#
|
|
393
|
+
<a href="#M000178" class="method-signature">
|
|
394
394
|
<span class="method-name">add_child</span><span class="method-args">(child)</span>
|
|
395
395
|
</a>
|
|
396
396
|
</div>
|
|
@@ -419,8 +419,8 @@ course only if you want backtracking at all):
|
|
|
419
419
|
end
|
|
420
420
|
</pre>
|
|
421
421
|
<p><a class="source-toggle" href="#"
|
|
422
|
-
onclick="toggleCode('
|
|
423
|
-
<div class="method-source-code" id="
|
|
422
|
+
onclick="toggleCode('M000178-source');return false;">[Source]</a></p>
|
|
423
|
+
<div class="method-source-code" id="M000178-source">
|
|
424
424
|
<pre>
|
|
425
425
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 115</span>
|
|
426
426
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_child</span>(<span class="ruby-identifier">child</span>)
|
|
@@ -431,11 +431,11 @@ course only if you want backtracking at all):
|
|
|
431
431
|
</div>
|
|
432
432
|
</div>
|
|
433
433
|
|
|
434
|
-
<div id="method-
|
|
435
|
-
<a name="
|
|
434
|
+
<div id="method-M000177" class="method-detail">
|
|
435
|
+
<a name="M000177"></a>
|
|
436
436
|
|
|
437
437
|
<div class="method-heading">
|
|
438
|
-
<a href="#
|
|
438
|
+
<a href="#M000177" class="method-signature">
|
|
439
439
|
<span class="method-name">children</span><span class="method-args">()</span>
|
|
440
440
|
</a>
|
|
441
441
|
</div>
|
|
@@ -445,8 +445,8 @@ course only if you want backtracking at all):
|
|
|
445
445
|
Returns all direct child components collected in an array.
|
|
446
446
|
</p>
|
|
447
447
|
<p><a class="source-toggle" href="#"
|
|
448
|
-
onclick="toggleCode('
|
|
449
|
-
<div class="method-source-code" id="
|
|
448
|
+
onclick="toggleCode('M000177-source');return false;">[Source]</a></p>
|
|
449
|
+
<div class="method-source-code" id="M000177-source">
|
|
450
450
|
<pre>
|
|
451
451
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 92</span>
|
|
452
452
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">children</span>
|
|
@@ -460,7 +460,7 @@ Returns all direct child components collected in an array.
|
|
|
460
460
|
|
|
461
461
|
</div>
|
|
462
462
|
<div id="section">
|
|
463
|
-
<h2 class="section-title"><a name="
|
|
463
|
+
<h2 class="section-title"><a name="SEC00071">Decoration</a></h2>
|
|
464
464
|
<div class="section-comment">
|
|
465
465
|
|
|
466
466
|
</div>
|
|
@@ -476,38 +476,63 @@ Returns all direct child components collected in an array.
|
|
|
476
476
|
<div id="methods">
|
|
477
477
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
478
478
|
|
|
479
|
-
<div id="method-
|
|
480
|
-
<a name="
|
|
479
|
+
<div id="method-M000182" class="method-detail">
|
|
480
|
+
<a name="M000182"></a>
|
|
481
481
|
|
|
482
482
|
<div class="method-heading">
|
|
483
|
-
<a href="#
|
|
483
|
+
<a href="#M000182" class="method-signature">
|
|
484
484
|
<span class="method-name">add_decoration</span><span class="method-args">(d)</span>
|
|
485
485
|
</a>
|
|
486
486
|
</div>
|
|
487
487
|
|
|
488
488
|
<div class="method-description">
|
|
489
489
|
<p>
|
|
490
|
-
Adds decoration <tt>d</tt>
|
|
490
|
+
Adds decoration <tt>d</tt> to the decoration chain.
|
|
491
|
+
</p>
|
|
492
|
+
<p>
|
|
493
|
+
A global decoration is added in front of the decoration chain, a local
|
|
494
|
+
decoration is added in front of all other local decorations but after all
|
|
495
|
+
global decorations.
|
|
491
496
|
</p>
|
|
492
497
|
<p><a class="source-toggle" href="#"
|
|
493
|
-
onclick="toggleCode('
|
|
494
|
-
<div class="method-source-code" id="
|
|
498
|
+
onclick="toggleCode('M000182-source');return false;">[Source]</a></p>
|
|
499
|
+
<div class="method-source-code" id="M000182-source">
|
|
495
500
|
<pre>
|
|
496
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
501
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 155</span>
|
|
497
502
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_decoration</span>(<span class="ruby-identifier">d</span>)
|
|
498
|
-
<span class="ruby-
|
|
499
|
-
|
|
503
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">global?</span>
|
|
504
|
+
<span class="ruby-identifier">d</span>.<span class="ruby-identifier">owner</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span>
|
|
505
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span> = <span class="ruby-identifier">d</span>
|
|
506
|
+
<span class="ruby-keyword kw">else</span>
|
|
507
|
+
<span class="ruby-identifier">last_global</span> = <span class="ruby-keyword kw">nil</span>
|
|
508
|
+
<span class="ruby-identifier">each_decoration</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">i</span><span class="ruby-operator">|</span>
|
|
509
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">i</span>.<span class="ruby-identifier">global?</span>
|
|
510
|
+
<span class="ruby-identifier">last_global</span> = <span class="ruby-identifier">i</span>
|
|
511
|
+
<span class="ruby-keyword kw">else</span>
|
|
512
|
+
<span class="ruby-keyword kw">break</span>
|
|
513
|
+
<span class="ruby-keyword kw">end</span>
|
|
514
|
+
}
|
|
515
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">last_global</span>.<span class="ruby-identifier">nil?</span>
|
|
516
|
+
<span class="ruby-comment cmt"># no global decorations specified -> add in front</span>
|
|
517
|
+
<span class="ruby-identifier">d</span>.<span class="ruby-identifier">owner</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span>
|
|
518
|
+
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span> = <span class="ruby-identifier">d</span>
|
|
519
|
+
<span class="ruby-keyword kw">else</span>
|
|
520
|
+
<span class="ruby-comment cmt"># add after last_global</span>
|
|
521
|
+
<span class="ruby-identifier">d</span>.<span class="ruby-identifier">owner</span> = <span class="ruby-identifier">last_global</span>.<span class="ruby-identifier">owner</span>
|
|
522
|
+
<span class="ruby-identifier">last_global</span>.<span class="ruby-identifier">owner</span> = <span class="ruby-identifier">d</span>
|
|
523
|
+
<span class="ruby-keyword kw">end</span>
|
|
524
|
+
<span class="ruby-keyword kw">end</span>
|
|
500
525
|
<span class="ruby-keyword kw">end</span>
|
|
501
526
|
</pre>
|
|
502
527
|
</div>
|
|
503
528
|
</div>
|
|
504
529
|
</div>
|
|
505
530
|
|
|
506
|
-
<div id="method-
|
|
507
|
-
<a name="
|
|
531
|
+
<div id="method-M000179" class="method-detail">
|
|
532
|
+
<a name="M000179"></a>
|
|
508
533
|
|
|
509
534
|
<div class="method-heading">
|
|
510
|
-
<a href="#
|
|
535
|
+
<a href="#M000179" class="method-signature">
|
|
511
536
|
<span class="method-name">decoration</span><span class="method-args">()</span>
|
|
512
537
|
</a>
|
|
513
538
|
</div>
|
|
@@ -518,8 +543,8 @@ Returns the first decoration from the component’s decoration chain,
|
|
|
518
543
|
or <tt>self</tt> if no decorations were specified for the component.
|
|
519
544
|
</p>
|
|
520
545
|
<p><a class="source-toggle" href="#"
|
|
521
|
-
onclick="toggleCode('
|
|
522
|
-
<div class="method-source-code" id="
|
|
546
|
+
onclick="toggleCode('M000179-source');return false;">[Source]</a></p>
|
|
547
|
+
<div class="method-source-code" id="M000179-source">
|
|
523
548
|
<pre>
|
|
524
549
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 128</span>
|
|
525
550
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decoration</span>
|
|
@@ -530,11 +555,11 @@ or <tt>self</tt> if no decorations were specified for the component.
|
|
|
530
555
|
</div>
|
|
531
556
|
</div>
|
|
532
557
|
|
|
533
|
-
<div id="method-
|
|
534
|
-
<a name="
|
|
558
|
+
<div id="method-M000180" class="method-detail">
|
|
559
|
+
<a name="M000180"></a>
|
|
535
560
|
|
|
536
561
|
<div class="method-heading">
|
|
537
|
-
<a href="#
|
|
562
|
+
<a href="#M000180" class="method-signature">
|
|
538
563
|
<span class="method-name">decoration=</span><span class="method-args">(d)</span>
|
|
539
564
|
</a>
|
|
540
565
|
</div>
|
|
@@ -544,8 +569,8 @@ or <tt>self</tt> if no decorations were specified for the component.
|
|
|
544
569
|
Set the pointer to the first decoration to <tt>d</tt>.
|
|
545
570
|
</p>
|
|
546
571
|
<p><a class="source-toggle" href="#"
|
|
547
|
-
onclick="toggleCode('
|
|
548
|
-
<div class="method-source-code" id="
|
|
572
|
+
onclick="toggleCode('M000180-source');return false;">[Source]</a></p>
|
|
573
|
+
<div class="method-source-code" id="M000180-source">
|
|
549
574
|
<pre>
|
|
550
575
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 134</span>
|
|
551
576
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decoration=</span>(<span class="ruby-identifier">d</span>)
|
|
@@ -556,11 +581,11 @@ Set the pointer to the first decoration to <tt>d</tt>.
|
|
|
556
581
|
</div>
|
|
557
582
|
</div>
|
|
558
583
|
|
|
559
|
-
<div id="method-
|
|
560
|
-
<a name="
|
|
584
|
+
<div id="method-M000181" class="method-detail">
|
|
585
|
+
<a name="M000181"></a>
|
|
561
586
|
|
|
562
587
|
<div class="method-heading">
|
|
563
|
-
<a href="#
|
|
588
|
+
<a href="#M000181" class="method-signature">
|
|
564
589
|
<span class="method-name">each_decoration</span><span class="method-args">( {|decoration| ...}</span>
|
|
565
590
|
</a>
|
|
566
591
|
</div>
|
|
@@ -570,8 +595,8 @@ Set the pointer to the first decoration to <tt>d</tt>.
|
|
|
570
595
|
Iterates over all decorations (note that the component itself is excluded).
|
|
571
596
|
</p>
|
|
572
597
|
<p><a class="source-toggle" href="#"
|
|
573
|
-
onclick="toggleCode('
|
|
574
|
-
<div class="method-source-code" id="
|
|
598
|
+
onclick="toggleCode('M000181-source');return false;">[Source]</a></p>
|
|
599
|
+
<div class="method-source-code" id="M000181-source">
|
|
575
600
|
<pre>
|
|
576
601
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 140</span>
|
|
577
602
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_decoration</span> <span class="ruby-comment cmt"># :yields: decoration</span>
|
|
@@ -587,11 +612,11 @@ Iterates over all decorations (note that the component itself is excluded).
|
|
|
587
612
|
</div>
|
|
588
613
|
</div>
|
|
589
614
|
|
|
590
|
-
<div id="method-
|
|
591
|
-
<a name="
|
|
615
|
+
<div id="method-M000183" class="method-detail">
|
|
616
|
+
<a name="M000183"></a>
|
|
592
617
|
|
|
593
618
|
<div class="method-heading">
|
|
594
|
-
<a href="#
|
|
619
|
+
<a href="#M000183" class="method-signature">
|
|
595
620
|
<span class="method-name">remove_decoration</span><span class="method-args">(d)</span>
|
|
596
621
|
</a>
|
|
597
622
|
</div>
|
|
@@ -605,10 +630,10 @@ Returns the removed decoration or <tt>nil</tt> if it did not exist in the
|
|
|
605
630
|
decoration chain.
|
|
606
631
|
</p>
|
|
607
632
|
<p><a class="source-toggle" href="#"
|
|
608
|
-
onclick="toggleCode('
|
|
609
|
-
<div class="method-source-code" id="
|
|
633
|
+
onclick="toggleCode('M000183-source');return false;">[Source]</a></p>
|
|
634
|
+
<div class="method-source-code" id="M000183-source">
|
|
610
635
|
<pre>
|
|
611
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
636
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 185</span>
|
|
612
637
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_decoration</span>(<span class="ruby-identifier">d</span>)
|
|
613
638
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span> <span class="ruby-comment cmt"># 'd' is in front</span>
|
|
614
639
|
<span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">decoration</span> = <span class="ruby-identifier">d</span>.<span class="ruby-identifier">owner</span>
|
|
@@ -631,11 +656,11 @@ decoration chain.
|
|
|
631
656
|
</div>
|
|
632
657
|
</div>
|
|
633
658
|
|
|
634
|
-
<div id="method-
|
|
635
|
-
<a name="
|
|
659
|
+
<div id="method-M000184" class="method-detail">
|
|
660
|
+
<a name="M000184"></a>
|
|
636
661
|
|
|
637
662
|
<div class="method-heading">
|
|
638
|
-
<a href="#
|
|
663
|
+
<a href="#M000184" class="method-signature">
|
|
639
664
|
<span class="method-name">remove_decoration_if</span><span class="method-args">( {|decoration| ...}</span>
|
|
640
665
|
</a>
|
|
641
666
|
</div>
|
|
@@ -651,10 +676,10 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
|
651
676
|
remove_decoration_if {|d| d.class == HaloDecoration}
|
|
652
677
|
</pre>
|
|
653
678
|
<p><a class="source-toggle" href="#"
|
|
654
|
-
onclick="toggleCode('
|
|
655
|
-
<div class="method-source-code" id="
|
|
679
|
+
onclick="toggleCode('M000184-source');return false;">[Source]</a></p>
|
|
680
|
+
<div class="method-source-code" id="M000184-source">
|
|
656
681
|
<pre>
|
|
657
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
682
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 210</span>
|
|
658
683
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_decoration_if</span> <span class="ruby-comment cmt"># :yields: decoration</span>
|
|
659
684
|
<span class="ruby-identifier">to_remove</span> = []
|
|
660
685
|
<span class="ruby-identifier">each_decoration</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span> <span class="ruby-identifier">to_remove</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">d</span> <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">yield</span> <span class="ruby-identifier">d</span>}
|
|
@@ -668,7 +693,7 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
|
668
693
|
|
|
669
694
|
</div>
|
|
670
695
|
<div id="section">
|
|
671
|
-
<h2 class="section-title"><a name="
|
|
696
|
+
<h2 class="section-title"><a name="SEC00072">Backtrack</a></h2>
|
|
672
697
|
<div class="section-comment">
|
|
673
698
|
|
|
674
699
|
</div>
|
|
@@ -684,11 +709,11 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
|
684
709
|
<div id="methods">
|
|
685
710
|
<h3 class="section-bar">Public Instance methods</h3>
|
|
686
711
|
|
|
687
|
-
<div id="method-
|
|
688
|
-
<a name="
|
|
712
|
+
<div id="method-M000186" class="method-detail">
|
|
713
|
+
<a name="M000186"></a>
|
|
689
714
|
|
|
690
715
|
<div class="method-heading">
|
|
691
|
-
<a href="#
|
|
716
|
+
<a href="#M000186" class="method-signature">
|
|
692
717
|
<span class="method-name">backtrack_state</span><span class="method-args">(snapshot)</span>
|
|
693
718
|
</a>
|
|
694
719
|
</div>
|
|
@@ -715,7 +740,7 @@ the decoration-object itself!).
|
|
|
715
740
|
<p>
|
|
716
741
|
For example if you dynamically add children to your component, you might
|
|
717
742
|
want to backtrack the children array. Therefore you simply pass it to the
|
|
718
|
-
<a href="Snapshot.html#
|
|
743
|
+
<a href="Snapshot.html#M000075">Snapshot#add</a> method:
|
|
719
744
|
</p>
|
|
720
745
|
<pre>
|
|
721
746
|
def backtrack_state(snapshot)
|
|
@@ -737,10 +762,10 @@ as argument.
|
|
|
737
762
|
</dd>
|
|
738
763
|
</dl>
|
|
739
764
|
<p><a class="source-toggle" href="#"
|
|
740
|
-
onclick="toggleCode('
|
|
741
|
-
<div class="method-source-code" id="
|
|
765
|
+
onclick="toggleCode('M000186-source');return false;">[Source]</a></p>
|
|
766
|
+
<div class="method-source-code" id="M000186-source">
|
|
742
767
|
<pre>
|
|
743
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
768
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 267</span>
|
|
744
769
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
|
745
770
|
<span class="ruby-identifier">snapshot</span>.<span class="ruby-identifier">add</span>(<span class="ruby-ivar">@decoration</span>)
|
|
746
771
|
<span class="ruby-identifier">children</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">child</span><span class="ruby-operator">|</span> <span class="ruby-identifier">child</span>.<span class="ruby-identifier">backtrack_state_chain</span>(<span class="ruby-identifier">snapshot</span>) <span class="ruby-keyword kw">end</span>
|
|
@@ -750,11 +775,11 @@ as argument.
|
|
|
750
775
|
</div>
|
|
751
776
|
</div>
|
|
752
777
|
|
|
753
|
-
<div id="method-
|
|
754
|
-
<a name="
|
|
778
|
+
<div id="method-M000185" class="method-detail">
|
|
779
|
+
<a name="M000185"></a>
|
|
755
780
|
|
|
756
781
|
<div class="method-heading">
|
|
757
|
-
<a href="#
|
|
782
|
+
<a href="#M000185" class="method-signature">
|
|
758
783
|
<span class="method-name">backtrack_state_chain</span><span class="method-args">(snapshot)</span>
|
|
759
784
|
</a>
|
|
760
785
|
</div>
|
|
@@ -762,11 +787,11 @@ as argument.
|
|
|
762
787
|
<div class="method-description">
|
|
763
788
|
<p>
|
|
764
789
|
Starts the backtrack-state phase for the decoration chain, by invoking
|
|
765
|
-
method <a href="Component.html#
|
|
790
|
+
method <a href="Component.html#M000186">backtrack_state</a> of the first
|
|
766
791
|
decoration or the component itself if no decorations were specified.
|
|
767
792
|
</p>
|
|
768
793
|
<p>
|
|
769
|
-
See <a href="Component.html#
|
|
794
|
+
See <a href="Component.html#M000186">backtrack_state</a> for details.
|
|
770
795
|
</p>
|
|
771
796
|
<dl>
|
|
772
797
|
<dt><tt>snapshot</tt></dt><dd>An object of class <a href="Snapshot.html">Snapshot</a>
|
|
@@ -774,10 +799,10 @@ See <a href="Component.html#M000177">backtrack_state</a> for details.
|
|
|
774
799
|
</dd>
|
|
775
800
|
</dl>
|
|
776
801
|
<p><a class="source-toggle" href="#"
|
|
777
|
-
onclick="toggleCode('
|
|
778
|
-
<div class="method-source-code" id="
|
|
802
|
+
onclick="toggleCode('M000185-source');return false;">[Source]</a></p>
|
|
803
|
+
<div class="method-source-code" id="M000185-source">
|
|
779
804
|
<pre>
|
|
780
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
805
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 231</span>
|
|
781
806
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state_chain</span>(<span class="ruby-identifier">snapshot</span>)
|
|
782
807
|
<span class="ruby-identifier">decoration</span>.<span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
|
783
808
|
<span class="ruby-keyword kw">end</span>
|
|
@@ -789,7 +814,7 @@ See <a href="Component.html#M000177">backtrack_state</a> for details.
|
|
|
789
814
|
|
|
790
815
|
</div>
|
|
791
816
|
<div id="section">
|
|
792
|
-
<h2 class="section-title"><a name="
|
|
817
|
+
<h2 class="section-title"><a name="SEC00073">Call/Answer</a></h2>
|
|
793
818
|
<div class="section-comment">
|
|
794
819
|
|
|
795
820
|
</div>
|
|
@@ -805,11 +830,11 @@ See <a href="Component.html#M000177">backtrack_state</a> for details.
|
|
|
805
830
|
<div id="methods">
|
|
806
831
|
<h3 class="section-bar">Protected Instance methods</h3>
|
|
807
832
|
|
|
808
|
-
<div id="method-
|
|
809
|
-
<a name="
|
|
833
|
+
<div id="method-M000188" class="method-detail">
|
|
834
|
+
<a name="M000188"></a>
|
|
810
835
|
|
|
811
836
|
<div class="method-heading">
|
|
812
|
-
<a href="#
|
|
837
|
+
<a href="#M000188" class="method-signature">
|
|
813
838
|
<span class="method-name">answer</span><span class="method-args">(*args)</span>
|
|
814
839
|
</a>
|
|
815
840
|
</div>
|
|
@@ -819,17 +844,17 @@ See <a href="Component.html#M000177">backtrack_state</a> for details.
|
|
|
819
844
|
Return from a called component.
|
|
820
845
|
</p>
|
|
821
846
|
<p>
|
|
822
|
-
NOTE that <a href="Component.html#
|
|
847
|
+
NOTE that <a href="Component.html#M000188">answer</a> never returns.
|
|
823
848
|
</p>
|
|
824
849
|
<p>
|
|
825
|
-
See <a href="Component.html#
|
|
850
|
+
See <a href="Component.html#M000187">call</a> for a detailed description of
|
|
826
851
|
the call/answer mechanism.
|
|
827
852
|
</p>
|
|
828
853
|
<p><a class="source-toggle" href="#"
|
|
829
|
-
onclick="toggleCode('
|
|
830
|
-
<div class="method-source-code" id="
|
|
854
|
+
onclick="toggleCode('M000188-source');return false;">[Source]</a></p>
|
|
855
|
+
<div class="method-source-code" id="M000188-source">
|
|
831
856
|
<pre>
|
|
832
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
857
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 334</span>
|
|
833
858
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">answer</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
|
834
859
|
<span class="ruby-identifier">throw</span> <span class="ruby-identifier">:wee_answer</span>, <span class="ruby-identifier">args</span>
|
|
835
860
|
<span class="ruby-keyword kw">end</span>
|
|
@@ -838,11 +863,11 @@ the call/answer mechanism.
|
|
|
838
863
|
</div>
|
|
839
864
|
</div>
|
|
840
865
|
|
|
841
|
-
<div id="method-
|
|
842
|
-
<a name="
|
|
866
|
+
<div id="method-M000187" class="method-detail">
|
|
867
|
+
<a name="M000187"></a>
|
|
843
868
|
|
|
844
869
|
<div class="method-heading">
|
|
845
|
-
<a href="#
|
|
870
|
+
<a href="#M000187" class="method-signature">
|
|
846
871
|
<span class="method-name">call</span><span class="method-args">(component, return_callback=:use_continuation)</span>
|
|
847
872
|
</a>
|
|
848
873
|
</div>
|
|
@@ -851,7 +876,7 @@ the call/answer mechanism.
|
|
|
851
876
|
<p>
|
|
852
877
|
Call another component. The calling component is neither rendered nor are
|
|
853
878
|
it’s callbacks processed until the called component answers using
|
|
854
|
-
method <a href="Component.html#
|
|
879
|
+
method <a href="Component.html#M000188">answer</a>.
|
|
855
880
|
</p>
|
|
856
881
|
<dl>
|
|
857
882
|
<dt><tt>component</tt></dt><dd>The component to be called.
|
|
@@ -871,15 +896,15 @@ calling component (self), which delegates to the component to be called
|
|
|
871
896
|
href="Session.html">Session</a> by throwing <em>:wee_back_to_session</em>.
|
|
872
897
|
This means, that there is only ever one action callback invoked per
|
|
873
898
|
request. When at a later point in time the called component invokes <a
|
|
874
|
-
href="Component.html#
|
|
899
|
+
href="Component.html#M000188">answer</a>, this will throw a
|
|
875
900
|
<em>:wee_answer</em> exception which is catched in the <a
|
|
876
901
|
href="AnswerDecoration.html">AnswerDecoration</a>. The <a
|
|
877
902
|
href="AnswerDecoration.html">AnswerDecoration</a> then jumps back to the
|
|
878
903
|
continuation we created at the beginning, and finally method <a
|
|
879
|
-
href="Component.html#
|
|
904
|
+
href="Component.html#M000187">call</a> returns.
|
|
880
905
|
</p>
|
|
881
906
|
<p>
|
|
882
|
-
Note that <a href="Component.html#
|
|
907
|
+
Note that <a href="Component.html#M000187">call</a> returns to an
|
|
883
908
|
"old" stack-frame from a previous request. That is why we throw
|
|
884
909
|
<em>:wee_back_to_session</em> after invoking an action callback, and
|
|
885
910
|
that’s why only ever one is invoked. We could remove this limitation
|
|
@@ -887,10 +912,10 @@ without problems, but then there would be a difference between those action
|
|
|
887
912
|
callbacks that call other components and those that do not.
|
|
888
913
|
</p>
|
|
889
914
|
<p><a class="source-toggle" href="#"
|
|
890
|
-
onclick="toggleCode('
|
|
891
|
-
<div class="method-source-code" id="
|
|
915
|
+
onclick="toggleCode('M000187-source');return false;">[Source]</a></p>
|
|
916
|
+
<div class="method-source-code" id="M000187-source">
|
|
892
917
|
<pre>
|
|
893
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
|
918
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 305</span>
|
|
894
919
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>(<span class="ruby-identifier">component</span>, <span class="ruby-identifier">return_callback</span>=<span class="ruby-identifier">:use_continuation</span>)
|
|
895
920
|
<span class="ruby-identifier">add_decoration</span>(<span class="ruby-identifier">delegate</span> = <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">Delegate</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">component</span>))
|
|
896
921
|
<span class="ruby-identifier">component</span>.<span class="ruby-identifier">add_decoration</span>(<span class="ruby-identifier">answer</span> = <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">AnswerDecoration</span>.<span class="ruby-identifier">new</span>)
|