wee 0.5.0 → 0.6.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +132 -0
- data/INSTALL +13 -3
- data/README +3 -3
- data/Rakefile +5 -1
- data/bin/wee +100 -0
- data/doc/rdoc/classes/Array.html +12 -12
- data/doc/rdoc/classes/Cache/StorageCache.html +38 -38
- data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +30 -30
- data/doc/rdoc/classes/Cache/Strategy/LFU.html +24 -24
- data/doc/rdoc/classes/Cache/Strategy/LRU.html +24 -24
- data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +24 -24
- data/doc/rdoc/classes/Enumerable.html +6 -6
- data/doc/rdoc/classes/Main.html +265 -0
- data/doc/rdoc/classes/Object.html +12 -12
- data/doc/rdoc/classes/OgApplication.html +2 -2
- data/doc/rdoc/classes/OgScaffolder.html +444 -64
- data/doc/rdoc/classes/OgScaffolder/Editor.html +490 -0
- data/doc/rdoc/classes/OgSession.html +4 -4
- data/doc/rdoc/classes/Recipe.html +113 -0
- data/doc/rdoc/classes/String.html +12 -12
- data/doc/rdoc/classes/Struct.html +12 -12
- data/doc/rdoc/classes/Wee.html +10 -1
- data/doc/rdoc/classes/Wee/AnswerDecoration.html +9 -9
- data/doc/rdoc/classes/Wee/Application.html +48 -47
- data/doc/rdoc/classes/Wee/Brush.html +19 -23
- data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +17 -14
- data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +20 -14
- data/doc/rdoc/classes/Wee/Brush/FormTag.html +25 -21
- data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +234 -100
- data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +28 -22
- data/doc/rdoc/classes/Wee/Brush/ImageTag.html +23 -24
- data/doc/rdoc/classes/Wee/Brush/InputTag.html +14 -14
- data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/Page.html +14 -14
- data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +33 -57
- data/doc/rdoc/classes/Wee/Brush/SelectListTag/SelectListCallback.html +154 -0
- data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +20 -14
- 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 +42 -42
- data/doc/rdoc/classes/Wee/Brush/TableTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +27 -21
- data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +20 -14
- data/doc/rdoc/classes/Wee/CallbackRegistry.html +64 -36
- data/doc/rdoc/classes/Wee/CallbackStream.html +21 -21
- data/doc/rdoc/classes/Wee/Canvas.html +24 -24
- data/doc/rdoc/classes/Wee/Component.html +179 -151
- data/doc/rdoc/classes/Wee/Component/OnAnswer.html +12 -12
- data/doc/rdoc/classes/Wee/Decoration.html +42 -42
- data/doc/rdoc/classes/Wee/Delegate.html +27 -27
- data/doc/rdoc/classes/Wee/ErrorResponse.html +14 -14
- data/doc/rdoc/classes/Wee/FormDecoration.html +6 -6
- data/doc/rdoc/classes/Wee/GenericResponse.html +7 -7
- data/doc/rdoc/classes/Wee/HtmlCanvas.html +326 -219
- data/doc/rdoc/classes/Wee/HtmlWriter.html +40 -40
- data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +19 -19
- data/doc/rdoc/classes/Wee/Md5IdGenerator.html +181 -0
- data/doc/rdoc/classes/Wee/MessageBox.html +12 -12
- data/doc/rdoc/classes/Wee/PageDecoration.html +18 -18
- data/doc/rdoc/classes/Wee/PagelessApplication.html +152 -0
- data/doc/rdoc/classes/Wee/PagelessRequest.html +177 -0
- data/doc/rdoc/classes/Wee/PagelessSession.html +320 -0
- data/doc/rdoc/classes/Wee/Presenter.html +145 -89
- data/doc/rdoc/classes/Wee/RedirectResponse.html +7 -7
- data/doc/rdoc/classes/Wee/RefreshResponse.html +7 -7
- data/doc/rdoc/classes/Wee/Request.html +116 -50
- data/doc/rdoc/classes/Wee/RequestHandler.html +31 -31
- data/doc/rdoc/classes/Wee/Response.html +76 -28
- data/doc/rdoc/classes/Wee/Session.html +129 -506
- data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +22 -40
- data/doc/rdoc/classes/Wee/Snapshot.html +19 -19
- data/doc/rdoc/classes/Wee/Utils.html +70 -17
- 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 +82 -49
- data/doc/rdoc/classes/Wee/WrapperDecoration.html +6 -6
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/INSTALL.html +17 -5
- data/doc/rdoc/files/README.html +9 -11
- 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 +1 -1
- data/doc/rdoc/files/lib/wee/continuation/session_rb.html +1 -3
- 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_rb.html +3 -3
- data/doc/rdoc/files/lib/wee/databases/og/application_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/databases/og/old_scaffolder_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/databases/og/scaffolder_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/databases/og/session_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/databases/og_rb.html +4 -1
- data/doc/rdoc/files/lib/wee/idgen/md5_rb.html +115 -0
- data/doc/rdoc/files/lib/wee/idgen/simple_rb.html +107 -0
- data/doc/rdoc/files/lib/wee/pageless/application_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/pageless/request_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/pageless/session_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/pageless_rb.html +110 -0
- data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +8 -1
- data/doc/rdoc/files/lib/wee/request_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/response_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/session_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/skeleton/og/components/main_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/skeleton/og/conf/db_rb.html +114 -0
- data/doc/rdoc/files/lib/wee/skeleton/og/models/recipe_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/skeleton/og/run_rb.html +115 -0
- data/doc/rdoc/files/lib/wee/skeleton/simple/components/main_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/skeleton/simple/run_rb.html +111 -0
- data/doc/rdoc/files/lib/wee/template_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/utils/helper_rb.html +1 -1
- data/doc/rdoc/files/lib/wee_rb.html +4 -2
- data/doc/rdoc/fr_class_index.html +8 -4
- data/doc/rdoc/fr_file_index.html +17 -1
- data/doc/rdoc/fr_method_index.html +312 -267
- data/examples/live-update.rb +1 -1
- data/install.rb +14 -0
- data/lib/wee.rb +6 -2
- data/lib/wee/adaptors/webrick.rb +17 -5
- data/lib/wee/application.rb +2 -1
- data/lib/wee/continuation/session.rb +1 -146
- data/lib/wee/core/callback.rb +11 -5
- data/lib/wee/core/component.rb +14 -10
- data/lib/wee/databases/og.rb +3 -113
- data/lib/wee/databases/og/application.rb +3 -0
- data/lib/wee/databases/og/old_scaffolder.rb +98 -0
- data/lib/wee/databases/og/scaffolder.rb +174 -0
- data/lib/wee/databases/og/session.rb +9 -0
- data/lib/wee/idgen/md5.rb +21 -0
- data/lib/wee/{idgen.rb → idgen/simple.rb} +2 -4
- data/lib/wee/pageless.rb +3 -0
- data/lib/wee/pageless/application.rb +9 -0
- data/lib/wee/pageless/request.rb +15 -0
- data/lib/wee/pageless/session.rb +89 -0
- data/lib/wee/renderer/html/brushes.rb +100 -115
- data/lib/wee/renderer/html/canvas.rb +32 -2
- data/lib/wee/request.rb +36 -24
- data/lib/wee/response.rb +8 -1
- data/lib/wee/session.rb +13 -7
- data/lib/wee/skeleton/og/README +38 -0
- data/lib/wee/skeleton/og/components/main.rb +16 -0
- data/lib/wee/skeleton/og/conf/db.rb +8 -0
- data/lib/wee/skeleton/og/models/recipe.rb +5 -0
- data/lib/wee/skeleton/og/run.rb +23 -0
- data/lib/wee/skeleton/simple/README +32 -0
- data/lib/wee/skeleton/simple/components/main.rb +25 -0
- data/lib/wee/skeleton/simple/run.rb +12 -0
- data/lib/wee/template.rb +28 -0
- data/lib/wee/utils/autoreload.rb +29 -0
- data/lib/wee/utils/helper.rb +9 -5
- data/test/test_request.rb +4 -3
- data/wee.gemspec +3 -1
- metadata +91 -22
@@ -88,10 +88,10 @@
|
|
88
88
|
<h3 class="section-bar">Methods</h3>
|
89
89
|
|
90
90
|
<div class="name-list">
|
91
|
-
<a href="#
|
92
|
-
<a href="#
|
93
|
-
<a href="#
|
94
|
-
<a href="#
|
91
|
+
<a href="#M000240">close</a>
|
92
|
+
<a href="#M000242">nest</a>
|
93
|
+
<a href="#M000239">new</a>
|
94
|
+
<a href="#M000241">set_brush</a>
|
95
95
|
</div>
|
96
96
|
</div>
|
97
97
|
|
@@ -113,19 +113,19 @@
|
|
113
113
|
<div id="methods">
|
114
114
|
<h3 class="section-bar">Public Class methods</h3>
|
115
115
|
|
116
|
-
<div id="method-
|
117
|
-
<a name="
|
116
|
+
<div id="method-M000239" class="method-detail">
|
117
|
+
<a name="M000239"></a>
|
118
118
|
|
119
119
|
<div class="method-heading">
|
120
|
-
<a href="#
|
120
|
+
<a href="#M000239" class="method-signature">
|
121
121
|
<span class="method-name">new</span><span class="method-args">()</span>
|
122
122
|
</a>
|
123
123
|
</div>
|
124
124
|
|
125
125
|
<div class="method-description">
|
126
126
|
<p><a class="source-toggle" href="#"
|
127
|
-
onclick="toggleCode('
|
128
|
-
<div class="method-source-code" id="
|
127
|
+
onclick="toggleCode('M000239-source');return false;">[Source]</a></p>
|
128
|
+
<div class="method-source-code" id="M000239-source">
|
129
129
|
<pre>
|
130
130
|
<span class="ruby-comment cmt"># File lib/wee/renderer/html/canvas.rb, line 4</span>
|
131
131
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
@@ -139,19 +139,19 @@
|
|
139
139
|
|
140
140
|
<h3 class="section-bar">Public Instance methods</h3>
|
141
141
|
|
142
|
-
<div id="method-
|
143
|
-
<a name="
|
142
|
+
<div id="method-M000240" class="method-detail">
|
143
|
+
<a name="M000240"></a>
|
144
144
|
|
145
145
|
<div class="method-heading">
|
146
|
-
<a href="#
|
146
|
+
<a href="#M000240" class="method-signature">
|
147
147
|
<span class="method-name">close</span><span class="method-args">()</span>
|
148
148
|
</a>
|
149
149
|
</div>
|
150
150
|
|
151
151
|
<div class="method-description">
|
152
152
|
<p><a class="source-toggle" href="#"
|
153
|
-
onclick="toggleCode('
|
154
|
-
<div class="method-source-code" id="
|
153
|
+
onclick="toggleCode('M000240-source');return false;">[Source]</a></p>
|
154
|
+
<div class="method-source-code" id="M000240-source">
|
155
155
|
<pre>
|
156
156
|
<span class="ruby-comment cmt"># File lib/wee/renderer/html/canvas.rb, line 9</span>
|
157
157
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">close</span>
|
@@ -163,19 +163,19 @@
|
|
163
163
|
</div>
|
164
164
|
</div>
|
165
165
|
|
166
|
-
<div id="method-
|
167
|
-
<a name="
|
166
|
+
<div id="method-M000242" class="method-detail">
|
167
|
+
<a name="M000242"></a>
|
168
168
|
|
169
169
|
<div class="method-heading">
|
170
|
-
<a href="#
|
170
|
+
<a href="#M000242" class="method-signature">
|
171
171
|
<span class="method-name">nest</span><span class="method-args">(&block)</span>
|
172
172
|
</a>
|
173
173
|
</div>
|
174
174
|
|
175
175
|
<div class="method-description">
|
176
176
|
<p><a class="source-toggle" href="#"
|
177
|
-
onclick="toggleCode('
|
178
|
-
<div class="method-source-code" id="
|
177
|
+
onclick="toggleCode('M000242-source');return false;">[Source]</a></p>
|
178
|
+
<div class="method-source-code" id="M000242-source">
|
179
179
|
<pre>
|
180
180
|
<span class="ruby-comment cmt"># File lib/wee/renderer/html/canvas.rb, line 25</span>
|
181
181
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">nest</span>(<span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
@@ -190,19 +190,19 @@
|
|
190
190
|
</div>
|
191
191
|
</div>
|
192
192
|
|
193
|
-
<div id="method-
|
194
|
-
<a name="
|
193
|
+
<div id="method-M000241" class="method-detail">
|
194
|
+
<a name="M000241"></a>
|
195
195
|
|
196
196
|
<div class="method-heading">
|
197
|
-
<a href="#
|
197
|
+
<a href="#M000241" class="method-signature">
|
198
198
|
<span class="method-name">set_brush</span><span class="method-args">(brush)</span>
|
199
199
|
</a>
|
200
200
|
</div>
|
201
201
|
|
202
202
|
<div class="method-description">
|
203
203
|
<p><a class="source-toggle" href="#"
|
204
|
-
onclick="toggleCode('
|
205
|
-
<div class="method-source-code" id="
|
204
|
+
onclick="toggleCode('M000241-source');return false;">[Source]</a></p>
|
205
|
+
<div class="method-source-code" id="M000241-source">
|
206
206
|
<pre>
|
207
207
|
<span class="ruby-comment cmt"># File lib/wee/renderer/html/canvas.rb, line 14</span>
|
208
208
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set_brush</span>(<span class="ruby-identifier">brush</span>)
|
@@ -87,7 +87,7 @@
|
|
87
87
|
<div id="description">
|
88
88
|
<p>
|
89
89
|
The base class of all components. You should at least overwrite method <a
|
90
|
-
href="Component.html#
|
90
|
+
href="Component.html#M000250">render</a> in your own subclasses.
|
91
91
|
</p>
|
92
92
|
|
93
93
|
</div>
|
@@ -96,14 +96,14 @@ href="Component.html#M000209">render</a> in your own subclasses.
|
|
96
96
|
<div id="contents-list">
|
97
97
|
<h3 class="section-bar">Contents</h3>
|
98
98
|
<ul>
|
99
|
-
<li><a href="#
|
100
|
-
<li><a href="#
|
101
|
-
<li><a href="#
|
102
|
-
<li><a href="#
|
103
|
-
<li><a href="#
|
104
|
-
<li><a href="#
|
105
|
-
<li><a href="#
|
106
|
-
<li><a href="#
|
99
|
+
<li><a href="#SEC00072">Render</a></li>
|
100
|
+
<li><a href="#SEC00073">Callback</a></li>
|
101
|
+
<li><a href="#SEC00074">Init</a></li>
|
102
|
+
<li><a href="#SEC00075">Children</a></li>
|
103
|
+
<li><a href="#SEC00076">Decoration</a></li>
|
104
|
+
<li><a href="#SEC00077">Backtrack</a></li>
|
105
|
+
<li><a href="#SEC00078">Call/Answer</a></li>
|
106
|
+
<li><a href="#SEC00121">Call/Answer</a></li>
|
107
107
|
</ul>
|
108
108
|
</div>
|
109
109
|
|
@@ -111,24 +111,24 @@ href="Component.html#M000209">render</a> in your own subclasses.
|
|
111
111
|
<h3 class="section-bar">Methods</h3>
|
112
112
|
|
113
113
|
<div class="name-list">
|
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="#
|
126
|
-
<a href="#
|
127
|
-
<a href="#
|
128
|
-
<a href="#
|
129
|
-
<a href="#
|
130
|
-
<a href="#
|
131
|
-
<a href="#
|
114
|
+
<a href="#M000255">add_child</a>
|
115
|
+
<a href="#M000259">add_decoration</a>
|
116
|
+
<a href="#M000265">answer</a>
|
117
|
+
<a href="#M000263">backtrack_state</a>
|
118
|
+
<a href="#M000262">backtrack_state_chain</a>
|
119
|
+
<a href="#M000264">call</a>
|
120
|
+
<a href="#M000266">call</a>
|
121
|
+
<a href="#M000254">children</a>
|
122
|
+
<a href="#M000256">decoration</a>
|
123
|
+
<a href="#M000257">decoration=</a>
|
124
|
+
<a href="#M000249">do_render_chain</a>
|
125
|
+
<a href="#M000258">each_decoration</a>
|
126
|
+
<a href="#M000253">initialize</a>
|
127
|
+
<a href="#M000252">process_callbacks</a>
|
128
|
+
<a href="#M000251">process_callbacks_chain</a>
|
129
|
+
<a href="#M000260">remove_decoration</a>
|
130
|
+
<a href="#M000261">remove_decoration_if</a>
|
131
|
+
<a href="#M000250">render</a>
|
132
132
|
</div>
|
133
133
|
</div>
|
134
134
|
|
@@ -148,7 +148,7 @@ href="Component.html#M000209">render</a> in your own subclasses.
|
|
148
148
|
|
149
149
|
<!-- if method_list -->
|
150
150
|
<div id="section">
|
151
|
-
<h2 class="section-title"><a name="
|
151
|
+
<h2 class="section-title"><a name="SEC00072">Render</a></h2>
|
152
152
|
<div class="section-comment">
|
153
153
|
|
154
154
|
</div>
|
@@ -164,11 +164,11 @@ href="Component.html#M000209">render</a> in your own subclasses.
|
|
164
164
|
<div id="methods">
|
165
165
|
<h3 class="section-bar">Public Instance methods</h3>
|
166
166
|
|
167
|
-
<div id="method-
|
168
|
-
<a name="
|
167
|
+
<div id="method-M000249" class="method-detail">
|
168
|
+
<a name="M000249"></a>
|
169
169
|
|
170
170
|
<div class="method-heading">
|
171
|
-
<a href="#
|
171
|
+
<a href="#M000249" class="method-signature">
|
172
172
|
<span class="method-name">do_render_chain</span><span class="method-args">(rendering_context)</span>
|
173
173
|
</a>
|
174
174
|
</div>
|
@@ -176,7 +176,7 @@ href="Component.html#M000209">render</a> in your own subclasses.
|
|
176
176
|
<div class="method-description">
|
177
177
|
<p>
|
178
178
|
Starts rendering the decoration chain by calling method <a
|
179
|
-
href="Presenter.html#
|
179
|
+
href="Presenter.html#M000284">Presenter#do_render</a> for the first
|
180
180
|
decoration of the component, or calling <em>do_render</em> for the
|
181
181
|
component itself if no decorations were specified.
|
182
182
|
</p>
|
@@ -186,8 +186,8 @@ component itself if no decorations were specified.
|
|
186
186
|
</dd>
|
187
187
|
</dl>
|
188
188
|
<p><a class="source-toggle" href="#"
|
189
|
-
onclick="toggleCode('
|
190
|
-
<div class="method-source-code" id="
|
189
|
+
onclick="toggleCode('M000249-source');return false;">[Source]</a></p>
|
190
|
+
<div class="method-source-code" id="M000249-source">
|
191
191
|
<pre>
|
192
192
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 19</span>
|
193
193
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_render_chain</span>(<span class="ruby-identifier">rendering_context</span>)
|
@@ -198,11 +198,11 @@ component itself if no decorations were specified.
|
|
198
198
|
</div>
|
199
199
|
</div>
|
200
200
|
|
201
|
-
<div id="method-
|
202
|
-
<a name="
|
201
|
+
<div id="method-M000250" class="method-detail">
|
202
|
+
<a name="M000250"></a>
|
203
203
|
|
204
204
|
<div class="method-heading">
|
205
|
-
<a href="#
|
205
|
+
<a href="#M000250" class="method-signature">
|
206
206
|
<span class="method-name">render</span><span class="method-args">()</span>
|
207
207
|
</a>
|
208
208
|
</div>
|
@@ -219,8 +219,8 @@ view. By default this method does nothing!
|
|
219
219
|
Use the current renderer as returned by renderer or it’s short-cut r.
|
220
220
|
</p>
|
221
221
|
<p><a class="source-toggle" href="#"
|
222
|
-
onclick="toggleCode('
|
223
|
-
<div class="method-source-code" id="
|
222
|
+
onclick="toggleCode('M000250-source');return false;">[Source]</a></p>
|
223
|
+
<div class="method-source-code" id="M000250-source">
|
224
224
|
<pre>
|
225
225
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 30</span>
|
226
226
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>
|
@@ -233,7 +233,7 @@ Use the current renderer as returned by renderer or it’s short-cut r.
|
|
233
233
|
|
234
234
|
</div>
|
235
235
|
<div id="section">
|
236
|
-
<h2 class="section-title"><a name="
|
236
|
+
<h2 class="section-title"><a name="SEC00073">Callback</a></h2>
|
237
237
|
<div class="section-comment">
|
238
238
|
|
239
239
|
</div>
|
@@ -249,11 +249,11 @@ Use the current renderer as returned by renderer or it’s short-cut r.
|
|
249
249
|
<div id="methods">
|
250
250
|
<h3 class="section-bar">Public Instance methods</h3>
|
251
251
|
|
252
|
-
<div id="method-
|
253
|
-
<a name="
|
252
|
+
<div id="method-M000252" class="method-detail">
|
253
|
+
<a name="M000252"></a>
|
254
254
|
|
255
255
|
<div class="method-heading">
|
256
|
-
<a href="#
|
256
|
+
<a href="#M000252" class="method-signature">
|
257
257
|
<span class="method-name">process_callbacks</span><span class="method-args">(callback_stream)</span>
|
258
258
|
</a>
|
259
259
|
</div>
|
@@ -273,8 +273,8 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
273
273
|
</dd>
|
274
274
|
</dl>
|
275
275
|
<p><a class="source-toggle" href="#"
|
276
|
-
onclick="toggleCode('
|
277
|
-
<div class="method-source-code" id="
|
276
|
+
onclick="toggleCode('M000252-source');return false;">[Source]</a></p>
|
277
|
+
<div class="method-source-code" id="M000252-source">
|
278
278
|
<pre>
|
279
279
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 59</span>
|
280
280
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks</span>(<span class="ruby-identifier">callback_stream</span>)
|
@@ -290,11 +290,11 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
290
290
|
</div>
|
291
291
|
</div>
|
292
292
|
|
293
|
-
<div id="method-
|
294
|
-
<a name="
|
293
|
+
<div id="method-M000251" class="method-detail">
|
294
|
+
<a name="M000251"></a>
|
295
295
|
|
296
296
|
<div class="method-heading">
|
297
|
-
<a href="#
|
297
|
+
<a href="#M000251" class="method-signature">
|
298
298
|
<span class="method-name">process_callbacks_chain</span><span class="method-args">(callback_stream)</span>
|
299
299
|
</a>
|
300
300
|
</div>
|
@@ -302,7 +302,7 @@ processed/invoked before any of the action callbacks are processed/invoked.
|
|
302
302
|
<div class="method-description">
|
303
303
|
<p>
|
304
304
|
Starts processing the callbacks for the decoration chain by invoking method
|
305
|
-
<a href="Component.html#
|
305
|
+
<a href="Component.html#M000252">process_callbacks</a> of the first
|
306
306
|
decoration or the component itself if no decorations were specified.
|
307
307
|
</p>
|
308
308
|
<dl>
|
@@ -311,8 +311,8 @@ decoration or the component itself if no decorations were specified.
|
|
311
311
|
</dd>
|
312
312
|
</dl>
|
313
313
|
<p><a class="source-toggle" href="#"
|
314
|
-
onclick="toggleCode('
|
315
|
-
<div class="method-source-code" id="
|
314
|
+
onclick="toggleCode('M000251-source');return false;">[Source]</a></p>
|
315
|
+
<div class="method-source-code" id="M000251-source">
|
316
316
|
<pre>
|
317
317
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 46</span>
|
318
318
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks_chain</span>(<span class="ruby-identifier">callback_stream</span>)
|
@@ -326,7 +326,7 @@ decoration or the component itself if no decorations were specified.
|
|
326
326
|
|
327
327
|
</div>
|
328
328
|
<div id="section">
|
329
|
-
<h2 class="section-title"><a name="
|
329
|
+
<h2 class="section-title"><a name="SEC00074">Init</a></h2>
|
330
330
|
<div class="section-comment">
|
331
331
|
|
332
332
|
</div>
|
@@ -342,11 +342,11 @@ decoration or the component itself if no decorations were specified.
|
|
342
342
|
<div id="methods">
|
343
343
|
<h3 class="section-bar">Protected Instance methods</h3>
|
344
344
|
|
345
|
-
<div id="method-
|
346
|
-
<a name="
|
345
|
+
<div id="method-M000253" class="method-detail">
|
346
|
+
<a name="M000253"></a>
|
347
347
|
|
348
348
|
<div class="method-heading">
|
349
|
-
<a href="#
|
349
|
+
<a href="#M000253" class="method-signature">
|
350
350
|
<span class="method-name">initialize</span><span class="method-args">()</span>
|
351
351
|
</a>
|
352
352
|
</div>
|
@@ -360,8 +360,8 @@ Call this method from your own components’ <em>initialize</em> method
|
|
360
360
|
using <tt>super</tt>, before setting up anything else!
|
361
361
|
</p>
|
362
362
|
<p><a class="source-toggle" href="#"
|
363
|
-
onclick="toggleCode('
|
364
|
-
<div class="method-source-code" id="
|
363
|
+
onclick="toggleCode('M000253-source');return false;">[Source]</a></p>
|
364
|
+
<div class="method-source-code" id="M000253-source">
|
365
365
|
<pre>
|
366
366
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 79</span>
|
367
367
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>() <span class="ruby-comment cmt"># :notnew:</span>
|
@@ -376,7 +376,7 @@ using <tt>super</tt>, before setting up anything else!
|
|
376
376
|
|
377
377
|
</div>
|
378
378
|
<div id="section">
|
379
|
-
<h2 class="section-title"><a name="
|
379
|
+
<h2 class="section-title"><a name="SEC00075">Children</a></h2>
|
380
380
|
<div class="section-comment">
|
381
381
|
|
382
382
|
</div>
|
@@ -392,11 +392,11 @@ using <tt>super</tt>, before setting up anything else!
|
|
392
392
|
<div id="methods">
|
393
393
|
<h3 class="section-bar">Protected Instance methods</h3>
|
394
394
|
|
395
|
-
<div id="method-
|
396
|
-
<a name="
|
395
|
+
<div id="method-M000255" class="method-detail">
|
396
|
+
<a name="M000255"></a>
|
397
397
|
|
398
398
|
<div class="method-heading">
|
399
|
-
<a href="#
|
399
|
+
<a href="#M000255" class="method-signature">
|
400
400
|
<span class="method-name">add_child</span><span class="method-args">(child)</span>
|
401
401
|
</a>
|
402
402
|
</div>
|
@@ -425,8 +425,8 @@ course only if you want backtracking at all):
|
|
425
425
|
end
|
426
426
|
</pre>
|
427
427
|
<p><a class="source-toggle" href="#"
|
428
|
-
onclick="toggleCode('
|
429
|
-
<div class="method-source-code" id="
|
428
|
+
onclick="toggleCode('M000255-source');return false;">[Source]</a></p>
|
429
|
+
<div class="method-source-code" id="M000255-source">
|
430
430
|
<pre>
|
431
431
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 115</span>
|
432
432
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_child</span>(<span class="ruby-identifier">child</span>)
|
@@ -438,11 +438,11 @@ course only if you want backtracking at all):
|
|
438
438
|
</div>
|
439
439
|
</div>
|
440
440
|
|
441
|
-
<div id="method-
|
442
|
-
<a name="
|
441
|
+
<div id="method-M000254" class="method-detail">
|
442
|
+
<a name="M000254"></a>
|
443
443
|
|
444
444
|
<div class="method-heading">
|
445
|
-
<a href="#
|
445
|
+
<a href="#M000254" class="method-signature">
|
446
446
|
<span class="method-name">children</span><span class="method-args">()</span>
|
447
447
|
</a>
|
448
448
|
</div>
|
@@ -452,8 +452,8 @@ course only if you want backtracking at all):
|
|
452
452
|
Returns all direct child components collected in an array.
|
453
453
|
</p>
|
454
454
|
<p><a class="source-toggle" href="#"
|
455
|
-
onclick="toggleCode('
|
456
|
-
<div class="method-source-code" id="
|
455
|
+
onclick="toggleCode('M000254-source');return false;">[Source]</a></p>
|
456
|
+
<div class="method-source-code" id="M000254-source">
|
457
457
|
<pre>
|
458
458
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 92</span>
|
459
459
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">children</span>
|
@@ -467,7 +467,7 @@ Returns all direct child components collected in an array.
|
|
467
467
|
|
468
468
|
</div>
|
469
469
|
<div id="section">
|
470
|
-
<h2 class="section-title"><a name="
|
470
|
+
<h2 class="section-title"><a name="SEC00076">Decoration</a></h2>
|
471
471
|
<div class="section-comment">
|
472
472
|
|
473
473
|
</div>
|
@@ -483,11 +483,11 @@ Returns all direct child components collected in an array.
|
|
483
483
|
<div id="methods">
|
484
484
|
<h3 class="section-bar">Public Instance methods</h3>
|
485
485
|
|
486
|
-
<div id="method-
|
487
|
-
<a name="
|
486
|
+
<div id="method-M000259" class="method-detail">
|
487
|
+
<a name="M000259"></a>
|
488
488
|
|
489
489
|
<div class="method-heading">
|
490
|
-
<a href="#
|
490
|
+
<a href="#M000259" class="method-signature">
|
491
491
|
<span class="method-name">add_decoration</span><span class="method-args">(d)</span>
|
492
492
|
</a>
|
493
493
|
</div>
|
@@ -500,12 +500,15 @@ Adds decoration <tt>d</tt> to the decoration chain.
|
|
500
500
|
A global decoration is added in front of the decoration chain, a local
|
501
501
|
decoration is added in front of all other local decorations but after all
|
502
502
|
global decorations.
|
503
|
+
</p>
|
504
|
+
<p>
|
505
|
+
Returns: <tt>self</tt>
|
503
506
|
</p>
|
504
507
|
<p><a class="source-toggle" href="#"
|
505
|
-
onclick="toggleCode('
|
506
|
-
<div class="method-source-code" id="
|
508
|
+
onclick="toggleCode('M000259-source');return false;">[Source]</a></p>
|
509
|
+
<div class="method-source-code" id="M000259-source">
|
507
510
|
<pre>
|
508
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
511
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 158</span>
|
509
512
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add_decoration</span>(<span class="ruby-identifier">d</span>)
|
510
513
|
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">d</span>.<span class="ruby-identifier">global?</span>
|
511
514
|
<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>
|
@@ -529,17 +532,19 @@ global decorations.
|
|
529
532
|
<span class="ruby-identifier">last_global</span>.<span class="ruby-identifier">owner</span> = <span class="ruby-identifier">d</span>
|
530
533
|
<span class="ruby-keyword kw">end</span>
|
531
534
|
<span class="ruby-keyword kw">end</span>
|
535
|
+
|
536
|
+
<span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>
|
532
537
|
<span class="ruby-keyword kw">end</span>
|
533
538
|
</pre>
|
534
539
|
</div>
|
535
540
|
</div>
|
536
541
|
</div>
|
537
542
|
|
538
|
-
<div id="method-
|
539
|
-
<a name="
|
543
|
+
<div id="method-M000256" class="method-detail">
|
544
|
+
<a name="M000256"></a>
|
540
545
|
|
541
546
|
<div class="method-heading">
|
542
|
-
<a href="#
|
547
|
+
<a href="#M000256" class="method-signature">
|
543
548
|
<span class="method-name">decoration</span><span class="method-args">()</span>
|
544
549
|
</a>
|
545
550
|
</div>
|
@@ -550,8 +555,8 @@ Returns the first decoration from the component’s decoration chain,
|
|
550
555
|
or <tt>self</tt> if no decorations were specified for the component.
|
551
556
|
</p>
|
552
557
|
<p><a class="source-toggle" href="#"
|
553
|
-
onclick="toggleCode('
|
554
|
-
<div class="method-source-code" id="
|
558
|
+
onclick="toggleCode('M000256-source');return false;">[Source]</a></p>
|
559
|
+
<div class="method-source-code" id="M000256-source">
|
555
560
|
<pre>
|
556
561
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 129</span>
|
557
562
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decoration</span>
|
@@ -562,11 +567,11 @@ or <tt>self</tt> if no decorations were specified for the component.
|
|
562
567
|
</div>
|
563
568
|
</div>
|
564
569
|
|
565
|
-
<div id="method-
|
566
|
-
<a name="
|
570
|
+
<div id="method-M000257" class="method-detail">
|
571
|
+
<a name="M000257"></a>
|
567
572
|
|
568
573
|
<div class="method-heading">
|
569
|
-
<a href="#
|
574
|
+
<a href="#M000257" class="method-signature">
|
570
575
|
<span class="method-name">decoration=</span><span class="method-args">(d)</span>
|
571
576
|
</a>
|
572
577
|
</div>
|
@@ -576,8 +581,8 @@ or <tt>self</tt> if no decorations were specified for the component.
|
|
576
581
|
Set the pointer to the first decoration to <tt>d</tt>.
|
577
582
|
</p>
|
578
583
|
<p><a class="source-toggle" href="#"
|
579
|
-
onclick="toggleCode('
|
580
|
-
<div class="method-source-code" id="
|
584
|
+
onclick="toggleCode('M000257-source');return false;">[Source]</a></p>
|
585
|
+
<div class="method-source-code" id="M000257-source">
|
581
586
|
<pre>
|
582
587
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 135</span>
|
583
588
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">decoration=</span>(<span class="ruby-identifier">d</span>)
|
@@ -588,11 +593,11 @@ Set the pointer to the first decoration to <tt>d</tt>.
|
|
588
593
|
</div>
|
589
594
|
</div>
|
590
595
|
|
591
|
-
<div id="method-
|
592
|
-
<a name="
|
596
|
+
<div id="method-M000258" class="method-detail">
|
597
|
+
<a name="M000258"></a>
|
593
598
|
|
594
599
|
<div class="method-heading">
|
595
|
-
<a href="#
|
600
|
+
<a href="#M000258" class="method-signature">
|
596
601
|
<span class="method-name">each_decoration</span><span class="method-args">( {|decoration| ...}</span>
|
597
602
|
</a>
|
598
603
|
</div>
|
@@ -602,8 +607,8 @@ Set the pointer to the first decoration to <tt>d</tt>.
|
|
602
607
|
Iterates over all decorations (note that the component itself is excluded).
|
603
608
|
</p>
|
604
609
|
<p><a class="source-toggle" href="#"
|
605
|
-
onclick="toggleCode('
|
606
|
-
<div class="method-source-code" id="
|
610
|
+
onclick="toggleCode('M000258-source');return false;">[Source]</a></p>
|
611
|
+
<div class="method-source-code" id="M000258-source">
|
607
612
|
<pre>
|
608
613
|
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 141</span>
|
609
614
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">each_decoration</span> <span class="ruby-comment cmt"># :yields: decoration</span>
|
@@ -619,11 +624,11 @@ Iterates over all decorations (note that the component itself is excluded).
|
|
619
624
|
</div>
|
620
625
|
</div>
|
621
626
|
|
622
|
-
<div id="method-
|
623
|
-
<a name="
|
627
|
+
<div id="method-M000260" class="method-detail">
|
628
|
+
<a name="M000260"></a>
|
624
629
|
|
625
630
|
<div class="method-heading">
|
626
|
-
<a href="#
|
631
|
+
<a href="#M000260" class="method-signature">
|
627
632
|
<span class="method-name">remove_decoration</span><span class="method-args">(d)</span>
|
628
633
|
</a>
|
629
634
|
</div>
|
@@ -637,10 +642,10 @@ Returns the removed decoration or <tt>nil</tt> if it did not exist in the
|
|
637
642
|
decoration chain.
|
638
643
|
</p>
|
639
644
|
<p><a class="source-toggle" href="#"
|
640
|
-
onclick="toggleCode('
|
641
|
-
<div class="method-source-code" id="
|
645
|
+
onclick="toggleCode('M000260-source');return false;">[Source]</a></p>
|
646
|
+
<div class="method-source-code" id="M000260-source">
|
642
647
|
<pre>
|
643
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
648
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 190</span>
|
644
649
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_decoration</span>(<span class="ruby-identifier">d</span>)
|
645
650
|
<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>
|
646
651
|
<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>
|
@@ -663,11 +668,11 @@ decoration chain.
|
|
663
668
|
</div>
|
664
669
|
</div>
|
665
670
|
|
666
|
-
<div id="method-
|
667
|
-
<a name="
|
671
|
+
<div id="method-M000261" class="method-detail">
|
672
|
+
<a name="M000261"></a>
|
668
673
|
|
669
674
|
<div class="method-heading">
|
670
|
-
<a href="#
|
675
|
+
<a href="#M000261" class="method-signature">
|
671
676
|
<span class="method-name">remove_decoration_if</span><span class="method-args">( {|decoration| ...}</span>
|
672
677
|
</a>
|
673
678
|
</div>
|
@@ -683,10 +688,10 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
683
688
|
remove_decoration_if {|d| d.class == HaloDecoration}
|
684
689
|
</pre>
|
685
690
|
<p><a class="source-toggle" href="#"
|
686
|
-
onclick="toggleCode('
|
687
|
-
<div class="method-source-code" id="
|
691
|
+
onclick="toggleCode('M000261-source');return false;">[Source]</a></p>
|
692
|
+
<div class="method-source-code" id="M000261-source">
|
688
693
|
<pre>
|
689
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
694
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 215</span>
|
690
695
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">remove_decoration_if</span> <span class="ruby-comment cmt"># :yields: decoration</span>
|
691
696
|
<span class="ruby-identifier">to_remove</span> = []
|
692
697
|
<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>}
|
@@ -700,7 +705,7 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
700
705
|
|
701
706
|
</div>
|
702
707
|
<div id="section">
|
703
|
-
<h2 class="section-title"><a name="
|
708
|
+
<h2 class="section-title"><a name="SEC00077">Backtrack</a></h2>
|
704
709
|
<div class="section-comment">
|
705
710
|
|
706
711
|
</div>
|
@@ -716,11 +721,11 @@ Example (removes all decorations of class <tt>HaloDecoration</tt>):
|
|
716
721
|
<div id="methods">
|
717
722
|
<h3 class="section-bar">Public Instance methods</h3>
|
718
723
|
|
719
|
-
<div id="method-
|
720
|
-
<a name="
|
724
|
+
<div id="method-M000263" class="method-detail">
|
725
|
+
<a name="M000263"></a>
|
721
726
|
|
722
727
|
<div class="method-heading">
|
723
|
-
<a href="#
|
728
|
+
<a href="#M000263" class="method-signature">
|
724
729
|
<span class="method-name">backtrack_state</span><span class="method-args">(snapshot)</span>
|
725
730
|
</a>
|
726
731
|
</div>
|
@@ -747,7 +752,7 @@ the decoration-object itself!).
|
|
747
752
|
<p>
|
748
753
|
For example if you dynamically add children to your component, you might
|
749
754
|
want to backtrack the children array. Therefore you simply pass it to the
|
750
|
-
<a href="Snapshot.html#
|
755
|
+
<a href="Snapshot.html#M000138">Snapshot#add</a> method:
|
751
756
|
</p>
|
752
757
|
<pre>
|
753
758
|
def backtrack_state(snapshot)
|
@@ -756,11 +761,11 @@ want to backtrack the children array. Therefore you simply pass it to the
|
|
756
761
|
end
|
757
762
|
</pre>
|
758
763
|
<p>
|
759
|
-
This will call <a href="../Array.html#
|
764
|
+
This will call <a href="../Array.html#M000010">Array#take_snapshot</a> to
|
760
765
|
take the snapshot for the children array. If at a later point in time a
|
761
766
|
snapshot is restored, <a
|
762
|
-
href="../Array.html#
|
763
|
-
the return value of <a href="../Array.html#
|
767
|
+
href="../Array.html#M000011">Array#restore_snapshot</a> will be called with
|
768
|
+
the return value of <a href="../Array.html#M000010">Array#take_snapshot</a>
|
764
769
|
as argument.
|
765
770
|
</p>
|
766
771
|
<dl>
|
@@ -769,10 +774,10 @@ as argument.
|
|
769
774
|
</dd>
|
770
775
|
</dl>
|
771
776
|
<p><a class="source-toggle" href="#"
|
772
|
-
onclick="toggleCode('
|
773
|
-
<div class="method-source-code" id="
|
777
|
+
onclick="toggleCode('M000263-source');return false;">[Source]</a></p>
|
778
|
+
<div class="method-source-code" id="M000263-source">
|
774
779
|
<pre>
|
775
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
780
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 272</span>
|
776
781
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
777
782
|
<span class="ruby-identifier">snapshot</span>.<span class="ruby-identifier">add</span>(<span class="ruby-ivar">@decoration</span>)
|
778
783
|
<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>
|
@@ -782,11 +787,11 @@ as argument.
|
|
782
787
|
</div>
|
783
788
|
</div>
|
784
789
|
|
785
|
-
<div id="method-
|
786
|
-
<a name="
|
790
|
+
<div id="method-M000262" class="method-detail">
|
791
|
+
<a name="M000262"></a>
|
787
792
|
|
788
793
|
<div class="method-heading">
|
789
|
-
<a href="#
|
794
|
+
<a href="#M000262" class="method-signature">
|
790
795
|
<span class="method-name">backtrack_state_chain</span><span class="method-args">(snapshot)</span>
|
791
796
|
</a>
|
792
797
|
</div>
|
@@ -794,11 +799,11 @@ as argument.
|
|
794
799
|
<div class="method-description">
|
795
800
|
<p>
|
796
801
|
Starts the backtrack-state phase for the decoration chain, by invoking
|
797
|
-
method <a href="Component.html#
|
802
|
+
method <a href="Component.html#M000263">backtrack_state</a> of the first
|
798
803
|
decoration or the component itself if no decorations were specified.
|
799
804
|
</p>
|
800
805
|
<p>
|
801
|
-
See <a href="Component.html#
|
806
|
+
See <a href="Component.html#M000263">backtrack_state</a> for details.
|
802
807
|
</p>
|
803
808
|
<dl>
|
804
809
|
<dt><tt>snapshot</tt></dt><dd>An object of class <a href="Snapshot.html">Snapshot</a>
|
@@ -806,10 +811,10 @@ See <a href="Component.html#M000222">backtrack_state</a> for details.
|
|
806
811
|
</dd>
|
807
812
|
</dl>
|
808
813
|
<p><a class="source-toggle" href="#"
|
809
|
-
onclick="toggleCode('
|
810
|
-
<div class="method-source-code" id="
|
814
|
+
onclick="toggleCode('M000262-source');return false;">[Source]</a></p>
|
815
|
+
<div class="method-source-code" id="M000262-source">
|
811
816
|
<pre>
|
812
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
817
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 236</span>
|
813
818
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state_chain</span>(<span class="ruby-identifier">snapshot</span>)
|
814
819
|
<span class="ruby-identifier">decoration</span>.<span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
815
820
|
<span class="ruby-keyword kw">end</span>
|
@@ -821,7 +826,7 @@ See <a href="Component.html#M000222">backtrack_state</a> for details.
|
|
821
826
|
|
822
827
|
</div>
|
823
828
|
<div id="section">
|
824
|
-
<h2 class="section-title"><a name="
|
829
|
+
<h2 class="section-title"><a name="SEC00078">Call/Answer</a></h2>
|
825
830
|
<div class="section-comment">
|
826
831
|
|
827
832
|
</div>
|
@@ -843,11 +848,11 @@ See <a href="Component.html#M000222">backtrack_state</a> for details.
|
|
843
848
|
<div id="methods">
|
844
849
|
<h3 class="section-bar">Protected Instance methods</h3>
|
845
850
|
|
846
|
-
<div id="method-
|
847
|
-
<a name="
|
851
|
+
<div id="method-M000265" class="method-detail">
|
852
|
+
<a name="M000265"></a>
|
848
853
|
|
849
854
|
<div class="method-heading">
|
850
|
-
<a href="#
|
855
|
+
<a href="#M000265" class="method-signature">
|
851
856
|
<span class="method-name">answer</span><span class="method-args">(*args)</span>
|
852
857
|
</a>
|
853
858
|
</div>
|
@@ -857,17 +862,17 @@ See <a href="Component.html#M000222">backtrack_state</a> for details.
|
|
857
862
|
Return from a called component.
|
858
863
|
</p>
|
859
864
|
<p>
|
860
|
-
NOTE that <a href="Component.html#
|
865
|
+
NOTE that <a href="Component.html#M000265">answer</a> never returns.
|
861
866
|
</p>
|
862
867
|
<p>
|
863
|
-
See <a href="Component.html#
|
868
|
+
See <a href="Component.html#M000264">call</a> for a detailed description of
|
864
869
|
the call/answer mechanism.
|
865
870
|
</p>
|
866
871
|
<p><a class="source-toggle" href="#"
|
867
|
-
onclick="toggleCode('
|
868
|
-
<div class="method-source-code" id="
|
872
|
+
onclick="toggleCode('M000265-source');return false;">[Source]</a></p>
|
873
|
+
<div class="method-source-code" id="M000265-source">
|
869
874
|
<pre>
|
870
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
875
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 350</span>
|
871
876
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">answer</span>(<span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
872
877
|
<span class="ruby-identifier">throw</span> <span class="ruby-identifier">:wee_answer</span>, <span class="ruby-identifier">args</span>
|
873
878
|
<span class="ruby-keyword kw">end</span>
|
@@ -876,17 +881,40 @@ the call/answer mechanism.
|
|
876
881
|
</div>
|
877
882
|
</div>
|
878
883
|
|
879
|
-
<div id="method-
|
880
|
-
<a name="
|
884
|
+
<div id="method-M000264" class="method-detail">
|
885
|
+
<a name="M000264"></a>
|
881
886
|
|
882
887
|
<div class="method-heading">
|
883
|
-
<a href="#
|
884
|
-
<span class="method-name">call</span><span class="method-args">(component, return_callback=nil, *
|
888
|
+
<a href="#M000264" class="method-signature">
|
889
|
+
<span class="method-name">call</span><span class="method-args">(component, return_callback=nil, *args)</span>
|
885
890
|
</a>
|
886
891
|
</div>
|
887
892
|
|
888
893
|
<div class="method-description">
|
889
894
|
<p>
|
895
|
+
Call another component. The calling component is neither rendered nor are
|
896
|
+
it’s callbacks processed until the called component answers using
|
897
|
+
method <a href="Component.html#M000265">answer</a>.
|
898
|
+
</p>
|
899
|
+
<dl>
|
900
|
+
<dt><tt>component</tt></dt><dd>The component to be called.
|
901
|
+
|
902
|
+
</dd>
|
903
|
+
<dt><tt>return_callback</tt></dt><dd>Is invoked when the called component answers. Either a symbol or any object
|
904
|
+
that responds to <a href="Component.html#M000264">call</a>. If it’s a
|
905
|
+
symbol, then the corresponding method of the current component will be
|
906
|
+
called.
|
907
|
+
|
908
|
+
</dd>
|
909
|
+
<dt><tt>args</tt></dt><dd>Arguments that are passed to the <tt>return_callback</tt> before the
|
910
|
+
‘onanswer’ arguments.
|
911
|
+
|
912
|
+
</dd>
|
913
|
+
</dl>
|
914
|
+
<p>
|
915
|
+
<b>How it works</b>
|
916
|
+
</p>
|
917
|
+
<p>
|
890
918
|
The component to be called is wrapped with an <a
|
891
919
|
href="AnswerDecoration.html">AnswerDecoration</a> and the
|
892
920
|
<tt>return_callback</tt> parameter is assigned to it’s
|
@@ -906,24 +934,24 @@ we’d break compatibility with the implementation using continuations.
|
|
906
934
|
</p>
|
907
935
|
<p>
|
908
936
|
When at a later point in time the called component invokes <a
|
909
|
-
href="Component.html#
|
937
|
+
href="Component.html#M000265">answer</a>, this will throw a
|
910
938
|
<em>:wee_answer</em> exception which is catched in the <a
|
911
939
|
href="AnswerDecoration.html">AnswerDecoration</a>. The <a
|
912
940
|
href="AnswerDecoration.html">AnswerDecoration</a> then invokes the
|
913
941
|
<tt>on_answer</tt> callback which cleans up the decorations we added during
|
914
|
-
<a href="Component.html#
|
942
|
+
<a href="Component.html#M000264">call</a>, and finally passes control to
|
915
943
|
the <tt>return_callback</tt>.
|
916
944
|
</p>
|
917
945
|
<p><a class="source-toggle" href="#"
|
918
|
-
onclick="toggleCode('
|
919
|
-
<div class="method-source-code" id="
|
946
|
+
onclick="toggleCode('M000264-source');return false;">[Source]</a></p>
|
947
|
+
<div class="method-source-code" id="M000264-source">
|
920
948
|
<pre>
|
921
|
-
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line
|
922
|
-
<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-keyword kw">nil</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">
|
949
|
+
<span class="ruby-comment cmt"># File lib/wee/core/component.rb, line 321</span>
|
950
|
+
<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-keyword kw">nil</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>)
|
923
951
|
<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>))
|
924
952
|
<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>)
|
925
953
|
<span class="ruby-identifier">answer</span>.<span class="ruby-identifier">on_answer</span> = <span class="ruby-constant">OnAnswer</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">self</span>, <span class="ruby-identifier">component</span>, <span class="ruby-identifier">delegate</span>, <span class="ruby-identifier">answer</span>,
|
926
|
-
<span class="ruby-identifier">return_callback</span>, <span class="ruby-identifier">
|
954
|
+
<span class="ruby-identifier">return_callback</span>, <span class="ruby-identifier">args</span>)
|
927
955
|
<span class="ruby-identifier">throw</span> <span class="ruby-identifier">:wee_back_to_session</span>
|
928
956
|
<span class="ruby-keyword kw">end</span>
|
929
957
|
</pre>
|
@@ -934,7 +962,7 @@ the <tt>return_callback</tt>.
|
|
934
962
|
|
935
963
|
</div>
|
936
964
|
<div id="section">
|
937
|
-
<h2 class="section-title"><a name="
|
965
|
+
<h2 class="section-title"><a name="SEC00121">Call/Answer</a></h2>
|
938
966
|
<div class="section-comment">
|
939
967
|
|
940
968
|
</div>
|
@@ -950,11 +978,11 @@ the <tt>return_callback</tt>.
|
|
950
978
|
<div id="methods">
|
951
979
|
<h3 class="section-bar">Protected Instance methods</h3>
|
952
980
|
|
953
|
-
<div id="method-
|
954
|
-
<a name="
|
981
|
+
<div id="method-M000266" class="method-detail">
|
982
|
+
<a name="M000266"></a>
|
955
983
|
|
956
984
|
<div class="method-heading">
|
957
|
-
<a href="#
|
985
|
+
<a href="#M000266" class="method-signature">
|
958
986
|
<span class="method-name">call</span><span class="method-args">(component, return_callback=:use_continuation, *additional_args)</span>
|
959
987
|
</a>
|
960
988
|
</div>
|
@@ -963,7 +991,7 @@ the <tt>return_callback</tt>.
|
|
963
991
|
<p>
|
964
992
|
Call another component. The calling component is neither rendered nor are
|
965
993
|
it’s callbacks processed until the called component answers using
|
966
|
-
method <a href="Component.html#
|
994
|
+
method <a href="Component.html#M000265">answer</a>.
|
967
995
|
</p>
|
968
996
|
<dl>
|
969
997
|
<dt><tt>component</tt></dt><dd>The component to be called.
|
@@ -983,15 +1011,15 @@ calling component (self), which delegates to the component to be called
|
|
983
1011
|
href="Session.html">Session</a> by throwing <em>:wee_back_to_session</em>.
|
984
1012
|
This means, that there is only ever one action callback invoked per
|
985
1013
|
request. When at a later point in time the called component invokes <a
|
986
|
-
href="Component.html#
|
1014
|
+
href="Component.html#M000265">answer</a>, this will throw a
|
987
1015
|
<em>:wee_answer</em> exception which is catched in the <a
|
988
1016
|
href="AnswerDecoration.html">AnswerDecoration</a>. The <a
|
989
1017
|
href="AnswerDecoration.html">AnswerDecoration</a> then jumps back to the
|
990
1018
|
continuation we created at the beginning, and finally method <a
|
991
|
-
href="Component.html#
|
1019
|
+
href="Component.html#M000264">call</a> returns.
|
992
1020
|
</p>
|
993
1021
|
<p>
|
994
|
-
Note that <a href="Component.html#
|
1022
|
+
Note that <a href="Component.html#M000264">call</a> returns to an
|
995
1023
|
"old" stack-frame from a previous request. That is why we throw
|
996
1024
|
<em>:wee_back_to_session</em> after invoking an action callback, and
|
997
1025
|
that’s why only ever one is invoked. We could remove this limitation
|
@@ -999,8 +1027,8 @@ without problems, but then there would be a difference between those action
|
|
999
1027
|
callbacks that call other components and those that do not.
|
1000
1028
|
</p>
|
1001
1029
|
<p><a class="source-toggle" href="#"
|
1002
|
-
onclick="toggleCode('
|
1003
|
-
<div class="method-source-code" id="
|
1030
|
+
onclick="toggleCode('M000266-source');return false;">[Source]</a></p>
|
1031
|
+
<div class="method-source-code" id="M000266-source">
|
1004
1032
|
<pre>
|
1005
1033
|
<span class="ruby-comment cmt"># File lib/wee/continuation/core/component.rb, line 36</span>
|
1006
1034
|
<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>, <span class="ruby-operator">*</span><span class="ruby-identifier">additional_args</span>)
|