wee 0.5.0 → 0.6.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/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>)
|