wee 0.4.0 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- data/ChangeLog +75 -0
- data/README +17 -9
- data/Rakefile +2 -2
- data/TODO +20 -0
- data/benchmark/Makefile +14 -9
- data/benchmark/counter.rb +11 -30
- data/benchmark/report_req.rb +12 -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/Object.html +12 -12
- data/doc/rdoc/classes/OgApplication.html +126 -0
- data/doc/rdoc/classes/OgScaffolder.html +401 -0
- data/doc/rdoc/classes/OgSession.html +172 -0
- data/doc/rdoc/classes/String.html +12 -12
- data/doc/rdoc/classes/Struct.html +12 -12
- data/doc/rdoc/classes/Wee.html +5 -62
- data/doc/rdoc/classes/Wee/AnswerDecoration.html +9 -9
- data/doc/rdoc/classes/Wee/Application.html +107 -39
- data/doc/rdoc/classes/Wee/Brush.html +22 -18
- data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +17 -11
- data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +18 -10
- data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +30 -64
- data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +8 -10
- data/doc/rdoc/classes/Wee/Brush/FormTag.html +27 -79
- data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +146 -0
- data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +179 -65
- data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +12 -12
- data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +16 -18
- data/doc/rdoc/classes/Wee/Brush/ImageTag.html +203 -0
- data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +17 -11
- data/doc/rdoc/classes/Wee/Brush/InputTag.html +15 -15
- data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +147 -0
- data/doc/rdoc/classes/Wee/Brush/Page.html +17 -17
- data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +25 -50
- data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +7 -38
- data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +15 -16
- data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +65 -50
- data/doc/rdoc/classes/Wee/Brush/TableTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +14 -64
- data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +7 -7
- data/doc/rdoc/classes/Wee/Brush/ToCallback.html +146 -0
- data/doc/rdoc/classes/Wee/CallbackRegistry.html +40 -40
- data/doc/rdoc/classes/Wee/CallbackStream.html +18 -18
- data/doc/rdoc/classes/Wee/Canvas.html +24 -24
- data/doc/rdoc/classes/Wee/Component.html +232 -149
- data/doc/rdoc/classes/Wee/Component/OnAnswer.html +153 -0
- 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 +12 -12
- data/doc/rdoc/classes/Wee/FormDecoration.html +148 -0
- data/doc/rdoc/classes/Wee/GenericResponse.html +6 -6
- data/doc/rdoc/classes/Wee/HtmlCanvas.html +296 -215
- data/doc/rdoc/classes/Wee/HtmlWriter.html +83 -81
- data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +21 -16
- data/doc/rdoc/classes/Wee/MessageBox.html +180 -0
- data/doc/rdoc/classes/Wee/PageDecoration.html +30 -30
- data/doc/rdoc/classes/Wee/Presenter.html +237 -69
- data/doc/rdoc/classes/Wee/RedirectResponse.html +6 -6
- data/doc/rdoc/classes/Wee/RefreshResponse.html +6 -6
- data/doc/rdoc/classes/Wee/Request.html +18 -18
- data/doc/rdoc/classes/Wee/RequestHandler.html +43 -39
- data/doc/rdoc/classes/Wee/Response.html +24 -24
- data/doc/rdoc/classes/Wee/Session.html +746 -72
- data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +18 -18
- data/doc/rdoc/classes/Wee/Snapshot.html +19 -19
- data/doc/rdoc/classes/Wee/Utils.html +138 -2
- data/doc/rdoc/classes/Wee/Utils/LRUCache.html +7 -7
- data/doc/rdoc/classes/Wee/ValueHolder.html +18 -18
- data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +43 -68
- data/doc/rdoc/classes/Wee/WrapperDecoration.html +150 -0
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README.html +29 -15
- 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/form_decoration_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/components/messagebox_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/components/page_decoration_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/components_rb.html +4 -1
- data/doc/rdoc/files/lib/wee/continuation/core/component_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/continuation/session_rb.html +110 -0
- data/doc/rdoc/files/lib/wee/continuation_rb.html +116 -0
- data/doc/rdoc/files/lib/wee/core/callback_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core/component_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core/presenter_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/core_rb.html +3 -3
- data/doc/rdoc/files/lib/wee/databases/og_rb.html +108 -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 +1 -1
- data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/requesthandler_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/session_rb.html +1 -2
- data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/utils/cache_rb.html +1 -1
- data/doc/rdoc/files/lib/wee/utils/helper_rb.html +1 -8
- data/doc/rdoc/files/lib/wee/utils_rb.html +110 -0
- data/doc/rdoc/files/lib/wee_rb.html +1 -1
- data/doc/rdoc/fr_class_index.html +11 -1
- data/doc/rdoc/fr_file_index.html +8 -0
- data/doc/rdoc/fr_method_index.html +269 -228
- data/examples/calculator.rb +69 -0
- data/examples/calendar.rb +5 -17
- data/examples/example.rb +2 -2
- data/examples/hw.rb +17 -0
- data/examples/live-update.rb +45 -0
- data/examples/og-test.rb +51 -0
- data/lib/wee.rb +1 -1
- data/lib/wee/adaptors/webrick.rb +2 -0
- data/lib/wee/application.rb +16 -0
- data/lib/wee/components.rb +3 -0
- data/lib/wee/components/form_decoration.rb +7 -0
- data/{test → lib/wee}/components/messagebox.rb +1 -1
- data/lib/wee/components/page_decoration.rb +5 -5
- data/lib/wee/components/wrapper_decoration.rb +7 -0
- data/lib/wee/continuation.rb +5 -0
- data/lib/wee/continuation/core/component.rb +55 -0
- data/lib/wee/continuation/session.rb +217 -0
- data/lib/wee/core/callback.rb +11 -6
- data/lib/wee/core/component.rb +45 -33
- data/lib/wee/core/presenter.rb +68 -0
- data/lib/wee/databases/og.rb +114 -0
- data/lib/wee/renderer/html/brushes.rb +179 -98
- data/lib/wee/renderer/html/canvas.rb +37 -13
- data/lib/wee/renderer/html/writer.rb +34 -32
- data/lib/wee/requesthandler.rb +6 -3
- data/lib/wee/session.rb +73 -54
- data/lib/wee/utils.rb +5 -0
- data/lib/wee/utils/autoreload.rb +1 -1
- data/lib/wee/utils/cache.rb +0 -2
- data/lib/wee/utils/helper.rb +40 -8
- data/test/components/calltest-cont.rb +16 -0
- data/test/components/calltest.rb +15 -10
- data/test/stress.rb +31 -28
- data/test/stress_and_measure.rb +53 -0
- data/test/stressed_application.rb +15 -0
- data/test/test_html_writer.rb +9 -4
- metadata +236 -195
- data/benchmark/bench.sh +0 -24
@@ -88,9 +88,9 @@
|
|
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="#
|
91
|
+
<a href="#M000202">current</a>
|
92
|
+
<a href="#M000201">new</a>
|
93
|
+
<a href="#M000203">next</a>
|
94
94
|
</div>
|
95
95
|
</div>
|
96
96
|
|
@@ -112,19 +112,19 @@
|
|
112
112
|
<div id="methods">
|
113
113
|
<h3 class="section-bar">Public Class methods</h3>
|
114
114
|
|
115
|
-
<div id="method-
|
116
|
-
<a name="
|
115
|
+
<div id="method-M000201" class="method-detail">
|
116
|
+
<a name="M000201"></a>
|
117
117
|
|
118
118
|
<div class="method-heading">
|
119
|
-
<a href="#
|
119
|
+
<a href="#M000201" class="method-signature">
|
120
120
|
<span class="method-name">new</span><span class="method-args">(initial_value=0)</span>
|
121
121
|
</a>
|
122
122
|
</div>
|
123
123
|
|
124
124
|
<div class="method-description">
|
125
125
|
<p><a class="source-toggle" href="#"
|
126
|
-
onclick="toggleCode('
|
127
|
-
<div class="method-source-code" id="
|
126
|
+
onclick="toggleCode('M000201-source');return false;">[Source]</a></p>
|
127
|
+
<div class="method-source-code" id="M000201-source">
|
128
128
|
<pre>
|
129
129
|
<span class="ruby-comment cmt"># File lib/wee/idgen.rb, line 2</span>
|
130
130
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">initial_value</span>=<span class="ruby-value">0</span>)
|
@@ -137,19 +137,19 @@
|
|
137
137
|
|
138
138
|
<h3 class="section-bar">Public Instance methods</h3>
|
139
139
|
|
140
|
-
<div id="method-
|
141
|
-
<a name="
|
140
|
+
<div id="method-M000202" class="method-detail">
|
141
|
+
<a name="M000202"></a>
|
142
142
|
|
143
143
|
<div class="method-heading">
|
144
|
-
<a href="#
|
144
|
+
<a href="#M000202" class="method-signature">
|
145
145
|
<span class="method-name">current</span><span class="method-args">()</span>
|
146
146
|
</a>
|
147
147
|
</div>
|
148
148
|
|
149
149
|
<div class="method-description">
|
150
150
|
<p><a class="source-toggle" href="#"
|
151
|
-
onclick="toggleCode('
|
152
|
-
<div class="method-source-code" id="
|
151
|
+
onclick="toggleCode('M000202-source');return false;">[Source]</a></p>
|
152
|
+
<div class="method-source-code" id="M000202-source">
|
153
153
|
<pre>
|
154
154
|
<span class="ruby-comment cmt"># File lib/wee/idgen.rb, line 6</span>
|
155
155
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">current</span>
|
@@ -160,19 +160,19 @@
|
|
160
160
|
</div>
|
161
161
|
</div>
|
162
162
|
|
163
|
-
<div id="method-
|
164
|
-
<a name="
|
163
|
+
<div id="method-M000203" class="method-detail">
|
164
|
+
<a name="M000203"></a>
|
165
165
|
|
166
166
|
<div class="method-heading">
|
167
|
-
<a href="#
|
167
|
+
<a href="#M000203" class="method-signature">
|
168
168
|
<span class="method-name">next</span><span class="method-args">()</span>
|
169
169
|
</a>
|
170
170
|
</div>
|
171
171
|
|
172
172
|
<div class="method-description">
|
173
173
|
<p><a class="source-toggle" href="#"
|
174
|
-
onclick="toggleCode('
|
175
|
-
<div class="method-source-code" id="
|
174
|
+
onclick="toggleCode('M000203-source');return false;">[Source]</a></p>
|
175
|
+
<div class="method-source-code" id="M000203-source">
|
176
176
|
<pre>
|
177
177
|
<span class="ruby-comment cmt"># File lib/wee/idgen.rb, line 10</span>
|
178
178
|
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">next</span>
|
@@ -86,7 +86,7 @@ This class is for backtracking the state of components (or
|
|
86
86
|
decorations/presenters). Components that want an undo-facility to be
|
87
87
|
implemented (triggered for example by a browsers back-button), have to
|
88
88
|
overwrite the <a
|
89
|
-
href="Component.html#
|
89
|
+
href="Component.html#M000222">Component#backtrack_state</a> method. Class
|
90
90
|
<a href="Snapshot.html">Wee::Snapshot</a> simply represents a collection of
|
91
91
|
objects from which snapshots were taken via methods take_snapshot.
|
92
92
|
</p>
|
@@ -100,9 +100,9 @@ objects from which snapshots were taken via methods take_snapshot.
|
|
100
100
|
<h3 class="section-bar">Methods</h3>
|
101
101
|
|
102
102
|
<div class="name-list">
|
103
|
-
<a href="#
|
104
|
-
<a href="#
|
105
|
-
<a href="#
|
103
|
+
<a href="#M000093">add</a>
|
104
|
+
<a href="#M000092">new</a>
|
105
|
+
<a href="#M000094">restore</a>
|
106
106
|
</div>
|
107
107
|
</div>
|
108
108
|
|
@@ -124,19 +124,19 @@ objects from which snapshots were taken via methods take_snapshot.
|
|
124
124
|
<div id="methods">
|
125
125
|
<h3 class="section-bar">Public Class methods</h3>
|
126
126
|
|
127
|
-
<div id="method-
|
128
|
-
<a name="
|
127
|
+
<div id="method-M000092" class="method-detail">
|
128
|
+
<a name="M000092"></a>
|
129
129
|
|
130
130
|
<div class="method-heading">
|
131
|
-
<a href="#
|
131
|
+
<a href="#M000092" class="method-signature">
|
132
132
|
<span class="method-name">new</span><span class="method-args">()</span>
|
133
133
|
</a>
|
134
134
|
</div>
|
135
135
|
|
136
136
|
<div class="method-description">
|
137
137
|
<p><a class="source-toggle" href="#"
|
138
|
-
onclick="toggleCode('
|
139
|
-
<div class="method-source-code" id="
|
138
|
+
onclick="toggleCode('M000092-source');return false;">[Source]</a></p>
|
139
|
+
<div class="method-source-code" id="M000092-source">
|
140
140
|
<pre>
|
141
141
|
<span class="ruby-comment cmt"># File lib/wee/core/snapshot.rb, line 9</span>
|
142
142
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>
|
@@ -149,19 +149,19 @@ objects from which snapshots were taken via methods take_snapshot.
|
|
149
149
|
|
150
150
|
<h3 class="section-bar">Public Instance methods</h3>
|
151
151
|
|
152
|
-
<div id="method-
|
153
|
-
<a name="
|
152
|
+
<div id="method-M000093" class="method-detail">
|
153
|
+
<a name="M000093"></a>
|
154
154
|
|
155
155
|
<div class="method-heading">
|
156
|
-
<a href="#
|
156
|
+
<a href="#M000093" class="method-signature">
|
157
157
|
<span class="method-name">add</span><span class="method-args">(object)</span>
|
158
158
|
</a>
|
159
159
|
</div>
|
160
160
|
|
161
161
|
<div class="method-description">
|
162
162
|
<p><a class="source-toggle" href="#"
|
163
|
-
onclick="toggleCode('
|
164
|
-
<div class="method-source-code" id="
|
163
|
+
onclick="toggleCode('M000093-source');return false;">[Source]</a></p>
|
164
|
+
<div class="method-source-code" id="M000093-source">
|
165
165
|
<pre>
|
166
166
|
<span class="ruby-comment cmt"># File lib/wee/core/snapshot.rb, line 13</span>
|
167
167
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">add</span>(<span class="ruby-identifier">object</span>)
|
@@ -173,19 +173,19 @@ objects from which snapshots were taken via methods take_snapshot.
|
|
173
173
|
</div>
|
174
174
|
</div>
|
175
175
|
|
176
|
-
<div id="method-
|
177
|
-
<a name="
|
176
|
+
<div id="method-M000094" class="method-detail">
|
177
|
+
<a name="M000094"></a>
|
178
178
|
|
179
179
|
<div class="method-heading">
|
180
|
-
<a href="#
|
180
|
+
<a href="#M000094" class="method-signature">
|
181
181
|
<span class="method-name">restore</span><span class="method-args">()</span>
|
182
182
|
</a>
|
183
183
|
</div>
|
184
184
|
|
185
185
|
<div class="method-description">
|
186
186
|
<p><a class="source-toggle" href="#"
|
187
|
-
onclick="toggleCode('
|
188
|
-
<div class="method-source-code" id="
|
187
|
+
onclick="toggleCode('M000094-source');return false;">[Source]</a></p>
|
188
|
+
<div class="method-source-code" id="M000094-source">
|
189
189
|
<pre>
|
190
190
|
<span class="ruby-comment cmt"># File lib/wee/core/snapshot.rb, line 18</span>
|
191
191
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore</span>
|
@@ -55,8 +55,16 @@
|
|
55
55
|
<tr class="top-aligned-row">
|
56
56
|
<td><strong>In:</strong></td>
|
57
57
|
<td>
|
58
|
-
<a href="../../files/lib/wee/
|
59
|
-
lib/wee/utils
|
58
|
+
<a href="../../files/lib/wee/utils_rb.html">
|
59
|
+
lib/wee/utils.rb
|
60
|
+
</a>
|
61
|
+
<br />
|
62
|
+
<a href="../../files/lib/wee/utils/autoreload_rb.html">
|
63
|
+
lib/wee/utils/autoreload.rb
|
64
|
+
</a>
|
65
|
+
<br />
|
66
|
+
<a href="../../files/lib/wee/utils/helper_rb.html">
|
67
|
+
lib/wee/utils/helper.rb
|
60
68
|
</a>
|
61
69
|
<br />
|
62
70
|
</td>
|
@@ -76,6 +84,14 @@
|
|
76
84
|
|
77
85
|
</div>
|
78
86
|
|
87
|
+
<div id="method-list">
|
88
|
+
<h3 class="section-bar">Methods</h3>
|
89
|
+
|
90
|
+
<div class="name-list">
|
91
|
+
<a href="#M000045">app_for</a>
|
92
|
+
<a href="#M000044">autoreload</a>
|
93
|
+
</div>
|
94
|
+
</div>
|
79
95
|
|
80
96
|
</div>
|
81
97
|
|
@@ -98,6 +114,126 @@
|
|
98
114
|
|
99
115
|
|
100
116
|
<!-- if method_list -->
|
117
|
+
<div id="methods">
|
118
|
+
<h3 class="section-bar">Public Class methods</h3>
|
119
|
+
|
120
|
+
<div id="method-M000045" class="method-detail">
|
121
|
+
<a name="M000045"></a>
|
122
|
+
|
123
|
+
<div class="method-heading">
|
124
|
+
<a href="#M000045" class="method-signature">
|
125
|
+
<span class="method-name">app_for</span><span class="method-args">(component=nil, options={}, &block)</span>
|
126
|
+
</a>
|
127
|
+
</div>
|
128
|
+
|
129
|
+
<div class="method-description">
|
130
|
+
<dl>
|
131
|
+
<dt><tt>component</tt></dt><dd>The component class for which to create an application object. If a block
|
132
|
+
is given, this will be invoked to create a new component object.
|
133
|
+
|
134
|
+
</dd>
|
135
|
+
<dt><tt>options</tt></dt><dd>A Hash. Following keys are accepted:
|
136
|
+
|
137
|
+
<dl>
|
138
|
+
<dt>:application</dt><dd>The application class to use (default: <a
|
139
|
+
href="Application.html">Wee::Application</a>)
|
140
|
+
|
141
|
+
</dd>
|
142
|
+
<dt>:session</dt><dd>The session class to use (default: <a href="Session.html">Wee::Session</a>)
|
143
|
+
|
144
|
+
</dd>
|
145
|
+
<dt>:page_cache_capacity</dt><dd>The size of the sessions page_store (default: 10)
|
146
|
+
|
147
|
+
</dd>
|
148
|
+
<dt>:id_seed</dt><dd>Initial value of the <a href="SimpleIdGenerator.html">SimpleIdGenerator</a>
|
149
|
+
(default: rand(1_000_000))
|
150
|
+
|
151
|
+
</dd>
|
152
|
+
</dl>
|
153
|
+
</dd>
|
154
|
+
</dl>
|
155
|
+
<p><a class="source-toggle" href="#"
|
156
|
+
onclick="toggleCode('M000045-source');return false;">[Source]</a></p>
|
157
|
+
<div class="method-source-code" id="M000045-source">
|
158
|
+
<pre>
|
159
|
+
<span class="ruby-comment cmt"># File lib/wee/utils/helper.rb, line 22</span>
|
160
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">app_for</span>(<span class="ruby-identifier">component</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">options</span>={}, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
161
|
+
<span class="ruby-identifier">raise</span> <span class="ruby-value str">"either component or block must be given"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">component</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">block</span>.<span class="ruby-identifier">nil?</span>
|
162
|
+
|
163
|
+
<span class="ruby-identifier">defaults</span> = {
|
164
|
+
<span class="ruby-identifier">:application</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">Application</span>,
|
165
|
+
<span class="ruby-identifier">:session</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span>,
|
166
|
+
<span class="ruby-identifier">:page_cache_capacity</span> =<span class="ruby-operator">></span> <span class="ruby-value">10</span>,
|
167
|
+
<span class="ruby-identifier">:id_seed</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">rand</span>(<span class="ruby-value">1_000_000</span>)
|
168
|
+
}
|
169
|
+
<span class="ruby-identifier">options</span> = <span class="ruby-identifier">defaults</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">options</span>)
|
170
|
+
|
171
|
+
<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:application</span>].<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">app</span><span class="ruby-operator">|</span>
|
172
|
+
<span class="ruby-identifier">app</span>.<span class="ruby-identifier">default_request_handler</span> {
|
173
|
+
<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:session</span>].<span class="ruby-identifier">new</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">sess</span><span class="ruby-operator">|</span>
|
174
|
+
<span class="ruby-keyword kw">if</span> <span class="ruby-identifier">component</span>
|
175
|
+
<span class="ruby-identifier">sess</span>.<span class="ruby-identifier">root_component</span> = <span class="ruby-identifier">component</span>.<span class="ruby-identifier">new</span>
|
176
|
+
<span class="ruby-keyword kw">else</span>
|
177
|
+
<span class="ruby-identifier">sess</span>.<span class="ruby-identifier">root_component</span> = <span class="ruby-identifier">block</span>.<span class="ruby-identifier">call</span>
|
178
|
+
<span class="ruby-keyword kw">end</span>
|
179
|
+
<span class="ruby-identifier">sess</span>.<span class="ruby-identifier">page_store</span> = <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">Utils</span><span class="ruby-operator">::</span><span class="ruby-constant">LRUCache</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:page_cache_capacity</span>])
|
180
|
+
}
|
181
|
+
}
|
182
|
+
<span class="ruby-identifier">app</span>.<span class="ruby-identifier">id_generator</span> = <span class="ruby-constant">Wee</span><span class="ruby-operator">::</span><span class="ruby-constant">SimpleIdGenerator</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:id_seed</span>])
|
183
|
+
}
|
184
|
+
<span class="ruby-keyword kw">end</span>
|
185
|
+
</pre>
|
186
|
+
</div>
|
187
|
+
</div>
|
188
|
+
</div>
|
189
|
+
|
190
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
191
|
+
|
192
|
+
<div id="method-M000044" class="method-detail">
|
193
|
+
<a name="M000044"></a>
|
194
|
+
|
195
|
+
<div class="method-heading">
|
196
|
+
<a href="#M000044" class="method-signature">
|
197
|
+
<span class="method-name">autoreload</span><span class="method-args">(check_interval=10)</span>
|
198
|
+
</a>
|
199
|
+
</div>
|
200
|
+
|
201
|
+
<div class="method-description">
|
202
|
+
<p><a class="source-toggle" href="#"
|
203
|
+
onclick="toggleCode('M000044-source');return false;">[Source]</a></p>
|
204
|
+
<div class="method-source-code" id="M000044-source">
|
205
|
+
<pre>
|
206
|
+
<span class="ruby-comment cmt"># File lib/wee/utils/autoreload.rb, line 4</span>
|
207
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">autoreload</span>(<span class="ruby-identifier">check_interval</span>=<span class="ruby-value">10</span>)
|
208
|
+
<span class="ruby-constant">Thread</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Time</span>.<span class="ruby-identifier">now</span>) {<span class="ruby-operator">|</span><span class="ruby-identifier">start_time</span><span class="ruby-operator">|</span>
|
209
|
+
<span class="ruby-identifier">file_mtime</span> = {}
|
210
|
+
<span class="ruby-identifier">loop</span> <span class="ruby-keyword kw">do</span>
|
211
|
+
<span class="ruby-identifier">sleep</span> <span class="ruby-identifier">check_interval</span>
|
212
|
+
<span class="ruby-identifier">$LOADED_FEATURES</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">feature</span><span class="ruby-operator">|</span>
|
213
|
+
<span class="ruby-identifier">$LOAD_PATH</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">lp</span><span class="ruby-operator">|</span>
|
214
|
+
<span class="ruby-identifier">file</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">join</span>(<span class="ruby-identifier">lp</span>, <span class="ruby-identifier">feature</span>)
|
215
|
+
<span class="ruby-keyword kw">if</span> (<span class="ruby-constant">File</span>.<span class="ruby-identifier">exists?</span>(<span class="ruby-identifier">file</span>) <span class="ruby-keyword kw">and</span>
|
216
|
+
<span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">mtime</span> <span class="ruby-operator">></span> (<span class="ruby-identifier">file_mtime</span>[<span class="ruby-identifier">file</span>] <span class="ruby-operator">||</span> <span class="ruby-identifier">start_time</span>))
|
217
|
+
<span class="ruby-identifier">file_mtime</span>[<span class="ruby-identifier">file</span>] = <span class="ruby-constant">File</span>.<span class="ruby-identifier">stat</span>(<span class="ruby-identifier">file</span>).<span class="ruby-identifier">mtime</span>
|
218
|
+
<span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-node">"reload #{ file }"</span>
|
219
|
+
<span class="ruby-keyword kw">begin</span>
|
220
|
+
<span class="ruby-identifier">load</span>(<span class="ruby-identifier">file</span>)
|
221
|
+
<span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">Exception</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
222
|
+
<span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">puts</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">inspect</span>
|
223
|
+
<span class="ruby-keyword kw">end</span>
|
224
|
+
<span class="ruby-keyword kw">end</span>
|
225
|
+
<span class="ruby-keyword kw">end</span>
|
226
|
+
<span class="ruby-keyword kw">end</span>
|
227
|
+
<span class="ruby-keyword kw">end</span>
|
228
|
+
}
|
229
|
+
<span class="ruby-keyword kw">end</span>
|
230
|
+
</pre>
|
231
|
+
</div>
|
232
|
+
</div>
|
233
|
+
</div>
|
234
|
+
|
235
|
+
|
236
|
+
</div>
|
101
237
|
|
102
238
|
|
103
239
|
</div>
|
@@ -88,7 +88,7 @@
|
|
88
88
|
<h3 class="section-bar">Methods</h3>
|
89
89
|
|
90
90
|
<div class="name-list">
|
91
|
-
<a href="#
|
91
|
+
<a href="#M000046">new</a>
|
92
92
|
</div>
|
93
93
|
</div>
|
94
94
|
|
@@ -110,21 +110,21 @@
|
|
110
110
|
<div id="methods">
|
111
111
|
<h3 class="section-bar">Public Class methods</h3>
|
112
112
|
|
113
|
-
<div id="method-
|
114
|
-
<a name="
|
113
|
+
<div id="method-M000046" class="method-detail">
|
114
|
+
<a name="M000046"></a>
|
115
115
|
|
116
116
|
<div class="method-heading">
|
117
|
-
<a href="#
|
117
|
+
<a href="#M000046" class="method-signature">
|
118
118
|
<span class="method-name">new</span><span class="method-args">(capacity=20)</span>
|
119
119
|
</a>
|
120
120
|
</div>
|
121
121
|
|
122
122
|
<div class="method-description">
|
123
123
|
<p><a class="source-toggle" href="#"
|
124
|
-
onclick="toggleCode('
|
125
|
-
<div class="method-source-code" id="
|
124
|
+
onclick="toggleCode('M000046-source');return false;">[Source]</a></p>
|
125
|
+
<div class="method-source-code" id="M000046-source">
|
126
126
|
<pre>
|
127
|
-
<span class="ruby-comment cmt"># File lib/wee/utils/cache.rb, line
|
127
|
+
<span class="ruby-comment cmt"># File lib/wee/utils/cache.rb, line 4</span>
|
128
128
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">capacity</span>=<span class="ruby-value">20</span>)
|
129
129
|
<span class="ruby-keyword kw">super</span>(<span class="ruby-constant">Cache</span><span class="ruby-operator">::</span><span class="ruby-constant">Strategy</span><span class="ruby-operator">::</span><span class="ruby-constant">LRU</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">capacity</span>))
|
130
130
|
<span class="ruby-keyword kw">end</span>
|
@@ -97,9 +97,9 @@ href="Component.html">Wee::Component</a>.
|
|
97
97
|
<h3 class="section-bar">Methods</h3>
|
98
98
|
|
99
99
|
<div class="name-list">
|
100
|
-
<a href="#
|
101
|
-
<a href="#
|
102
|
-
<a href="#
|
100
|
+
<a href="#M000205">new</a>
|
101
|
+
<a href="#M000207">restore_snapshot</a>
|
102
|
+
<a href="#M000206">take_snapshot</a>
|
103
103
|
</div>
|
104
104
|
</div>
|
105
105
|
|
@@ -134,19 +134,19 @@ href="Component.html">Wee::Component</a>.
|
|
134
134
|
<div id="methods">
|
135
135
|
<h3 class="section-bar">Public Class methods</h3>
|
136
136
|
|
137
|
-
<div id="method-
|
138
|
-
<a name="
|
137
|
+
<div id="method-M000205" class="method-detail">
|
138
|
+
<a name="M000205"></a>
|
139
139
|
|
140
140
|
<div class="method-heading">
|
141
|
-
<a href="#
|
141
|
+
<a href="#M000205" class="method-signature">
|
142
142
|
<span class="method-name">new</span><span class="method-args">(value=nil)</span>
|
143
143
|
</a>
|
144
144
|
</div>
|
145
145
|
|
146
146
|
<div class="method-description">
|
147
147
|
<p><a class="source-toggle" href="#"
|
148
|
-
onclick="toggleCode('
|
149
|
-
<div class="method-source-code" id="
|
148
|
+
onclick="toggleCode('M000205-source');return false;">[Source]</a></p>
|
149
|
+
<div class="method-source-code" id="M000205-source">
|
150
150
|
<pre>
|
151
151
|
<span class="ruby-comment cmt"># File lib/wee/core/valueholder.rb, line 8</span>
|
152
152
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">value</span>=<span class="ruby-keyword kw">nil</span>)
|
@@ -159,19 +159,19 @@ href="Component.html">Wee::Component</a>.
|
|
159
159
|
|
160
160
|
<h3 class="section-bar">Public Instance methods</h3>
|
161
161
|
|
162
|
-
<div id="method-
|
163
|
-
<a name="
|
162
|
+
<div id="method-M000207" class="method-detail">
|
163
|
+
<a name="M000207"></a>
|
164
164
|
|
165
165
|
<div class="method-heading">
|
166
|
-
<a href="#
|
166
|
+
<a href="#M000207" class="method-signature">
|
167
167
|
<span class="method-name">restore_snapshot</span><span class="method-args">(value)</span>
|
168
168
|
</a>
|
169
169
|
</div>
|
170
170
|
|
171
171
|
<div class="method-description">
|
172
172
|
<p><a class="source-toggle" href="#"
|
173
|
-
onclick="toggleCode('
|
174
|
-
<div class="method-source-code" id="
|
173
|
+
onclick="toggleCode('M000207-source');return false;">[Source]</a></p>
|
174
|
+
<div class="method-source-code" id="M000207-source">
|
175
175
|
<pre>
|
176
176
|
<span class="ruby-comment cmt"># File lib/wee/core/valueholder.rb, line 16</span>
|
177
177
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_snapshot</span>(<span class="ruby-identifier">value</span>)
|
@@ -182,19 +182,19 @@ href="Component.html">Wee::Component</a>.
|
|
182
182
|
</div>
|
183
183
|
</div>
|
184
184
|
|
185
|
-
<div id="method-
|
186
|
-
<a name="
|
185
|
+
<div id="method-M000206" class="method-detail">
|
186
|
+
<a name="M000206"></a>
|
187
187
|
|
188
188
|
<div class="method-heading">
|
189
|
-
<a href="#
|
189
|
+
<a href="#M000206" class="method-signature">
|
190
190
|
<span class="method-name">take_snapshot</span><span class="method-args">()</span>
|
191
191
|
</a>
|
192
192
|
</div>
|
193
193
|
|
194
194
|
<div class="method-description">
|
195
195
|
<p><a class="source-toggle" href="#"
|
196
|
-
onclick="toggleCode('
|
197
|
-
<div class="method-source-code" id="
|
196
|
+
onclick="toggleCode('M000206-source');return false;">[Source]</a></p>
|
197
|
+
<div class="method-source-code" id="M000206-source">
|
198
198
|
<pre>
|
199
199
|
<span class="ruby-comment cmt"># File lib/wee/core/valueholder.rb, line 12</span>
|
200
200
|
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">take_snapshot</span>
|