wee 0.8.0 → 0.9.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.
Files changed (231) hide show
  1. data/ChangeLog +286 -0
  2. data/Features +185 -0
  3. data/doc/rdoc/classes/ActionView.html +107 -0
  4. data/doc/rdoc/classes/ActionView/Base.html +133 -0
  5. data/doc/rdoc/classes/Array.html +7 -59
  6. data/doc/rdoc/classes/Cache/StorageCache.html +38 -38
  7. data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +30 -30
  8. data/doc/rdoc/classes/Cache/Strategy/LFU.html +24 -24
  9. data/doc/rdoc/classes/Cache/Strategy/LRU.html +24 -24
  10. data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +24 -24
  11. data/doc/rdoc/classes/Enumerable.html +6 -6
  12. data/doc/rdoc/classes/Hash.html +120 -0
  13. data/doc/rdoc/classes/Main.html +58 -34
  14. data/doc/rdoc/classes/Object.html +12 -12
  15. data/doc/rdoc/classes/OgScaffolder.html +165 -166
  16. data/doc/rdoc/classes/OgScaffolder/Editor.html +112 -112
  17. data/doc/rdoc/classes/String.html +7 -59
  18. data/doc/rdoc/classes/Struct.html +14 -14
  19. data/doc/rdoc/classes/Wee.html +70 -6
  20. data/doc/rdoc/classes/Wee/AbstractSession.html +502 -0
  21. data/doc/rdoc/classes/Wee/AnswerDecoration.html +11 -11
  22. data/doc/rdoc/classes/Wee/Application.html +139 -84
  23. data/doc/rdoc/classes/Wee/Brush.html +21 -18
  24. data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +90 -17
  25. data/doc/rdoc/classes/Wee/Brush/CheckboxTag.html +162 -0
  26. data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +7 -7
  27. data/doc/rdoc/classes/Wee/Brush/FormTag.html +41 -17
  28. data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +12 -12
  29. data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +7 -7
  30. data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +112 -86
  31. data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +12 -12
  32. data/doc/rdoc/classes/Wee/Brush/HiddenInputTag.html +160 -0
  33. data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +15 -15
  34. data/doc/rdoc/classes/Wee/Brush/ImageTag.html +21 -21
  35. data/doc/rdoc/classes/Wee/Brush/InputTag.html +14 -14
  36. data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +7 -7
  37. data/doc/rdoc/classes/Wee/Brush/Page.html +14 -14
  38. data/doc/rdoc/classes/Wee/Brush/RadioButtonTag.html +234 -0
  39. data/doc/rdoc/classes/Wee/Brush/RadioButtonTag/RadioGroup.html +207 -0
  40. data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +124 -28
  41. data/doc/rdoc/classes/Wee/Brush/SelectListTag/SelectListCallback.html +7 -7
  42. data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +7 -7
  43. data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +7 -7
  44. data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +14 -14
  45. data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +7 -7
  46. data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +42 -42
  47. data/doc/rdoc/classes/Wee/Brush/TableTag.html +7 -7
  48. data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +48 -15
  49. data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +7 -7
  50. data/doc/rdoc/classes/Wee/CallbackRegistry.html +38 -38
  51. data/doc/rdoc/classes/Wee/CallbackStream.html +18 -18
  52. data/doc/rdoc/classes/Wee/CanvasMixin.html +225 -0
  53. data/doc/rdoc/classes/Wee/Component.html +202 -201
  54. data/doc/rdoc/classes/Wee/Component/OnAnswer.html +7 -7
  55. data/doc/rdoc/classes/Wee/ComponentDispatcher.html +289 -0
  56. data/doc/rdoc/classes/Wee/ComponentRunner.html +321 -0
  57. data/doc/rdoc/classes/Wee/Context.html +63 -3
  58. data/doc/rdoc/classes/Wee/Decoration.html +45 -45
  59. data/doc/rdoc/classes/Wee/Delegate.html +30 -30
  60. data/doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html +164 -0
  61. data/doc/rdoc/classes/Wee/ErrorResponse.html +16 -16
  62. data/doc/rdoc/classes/Wee/Examples.html +114 -0
  63. data/doc/rdoc/classes/Wee/Examples/Calculator.html +319 -0
  64. data/doc/rdoc/classes/Wee/Examples/Counter.html +289 -0
  65. data/doc/rdoc/classes/Wee/Examples/EditableCounter.html +210 -0
  66. data/doc/rdoc/classes/Wee/Examples/Window.html +346 -0
  67. data/doc/rdoc/classes/Wee/FastCGIAdaptor.html +227 -0
  68. data/doc/rdoc/classes/Wee/FormDecoration.html +6 -6
  69. data/doc/rdoc/classes/Wee/GenericResponse.html +7 -7
  70. data/doc/rdoc/classes/Wee/HtmlCanvasRenderer.html +1230 -0
  71. data/doc/rdoc/classes/Wee/HtmlWriter.html +40 -40
  72. data/doc/rdoc/classes/Wee/IdGenerator.html +148 -0
  73. data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +27 -14
  74. data/doc/rdoc/classes/Wee/LoginDecoration.html +261 -0
  75. data/doc/rdoc/classes/Wee/Md5IdGenerator.html +14 -14
  76. data/doc/rdoc/classes/Wee/MessageBox.html +14 -14
  77. data/doc/rdoc/classes/Wee/Nitro.html +114 -0
  78. data/doc/rdoc/classes/Wee/Nitro/ControllerClassMixin.html +192 -0
  79. data/doc/rdoc/classes/Wee/Nitro/ControllerMixin.html +345 -0
  80. data/doc/rdoc/classes/Wee/Nitro/FormTag.html +155 -0
  81. data/doc/rdoc/classes/Wee/Nitro/HtmlCanvasRenderer.html +178 -0
  82. data/doc/rdoc/classes/Wee/Page.html +4 -0
  83. data/doc/rdoc/classes/Wee/PageDecoration.html +18 -18
  84. data/doc/rdoc/classes/Wee/PagelessApplication.html +13 -11
  85. data/doc/rdoc/classes/Wee/PagelessComponentDriver.html +296 -0
  86. data/doc/rdoc/classes/Wee/PagelessRequest.html +52 -21
  87. data/doc/rdoc/classes/Wee/PagelessSession.html +130 -91
  88. data/doc/rdoc/classes/Wee/Pager.html +534 -0
  89. data/doc/rdoc/classes/Wee/Presenter.html +482 -298
  90. data/doc/rdoc/classes/Wee/Rails.html +114 -0
  91. data/doc/rdoc/classes/Wee/Rails/ControllerClassMixin.html +192 -0
  92. data/doc/rdoc/classes/Wee/Rails/ControllerMixin.html +342 -0
  93. data/doc/rdoc/classes/Wee/Rails/FormTag.html +155 -0
  94. data/doc/rdoc/classes/Wee/Rails/HtmlCanvasRenderer.html +177 -0
  95. data/doc/rdoc/classes/Wee/RedirectResponse.html +7 -7
  96. data/doc/rdoc/classes/Wee/RefreshResponse.html +7 -7
  97. data/doc/rdoc/classes/Wee/Renderer.html +208 -0
  98. data/doc/rdoc/classes/Wee/RenderingContext.html +175 -3
  99. data/doc/rdoc/classes/Wee/Request.html +197 -46
  100. data/doc/rdoc/classes/Wee/RequestHandler.html +31 -31
  101. data/doc/rdoc/classes/Wee/Response.html +44 -43
  102. data/doc/rdoc/classes/Wee/Session.html +296 -402
  103. data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +14 -14
  104. data/doc/rdoc/classes/Wee/Snapshot.html +19 -19
  105. data/doc/rdoc/classes/Wee/Utils.html +22 -22
  106. data/doc/rdoc/classes/Wee/Utils/LRUCache.html +6 -6
  107. data/doc/rdoc/classes/Wee/ValueHolder.html +19 -19
  108. data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +72 -46
  109. data/doc/rdoc/classes/Wee/WrapperDecoration.html +6 -6
  110. data/doc/rdoc/created.rid +1 -1
  111. data/doc/rdoc/files/INSTALL.html +1 -1
  112. data/doc/rdoc/files/README.html +8 -12
  113. data/doc/rdoc/files/lib/cache/cache_rb.html +1 -1
  114. data/doc/rdoc/files/lib/wee/abstractsession_rb.html +108 -0
  115. data/doc/rdoc/files/lib/wee/adaptors/fastcgi_rb.html +108 -0
  116. data/doc/rdoc/files/lib/wee/adaptors/nitro_rb.html +101 -0
  117. data/doc/rdoc/files/lib/wee/adaptors/rails_rb.html +101 -0
  118. data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +1 -1
  119. data/doc/rdoc/files/lib/wee/application_rb.html +1 -1
  120. data/doc/rdoc/files/lib/wee/components/component_dispatcher_rb.html +108 -0
  121. data/doc/rdoc/files/lib/wee/components/form_decoration_rb.html +1 -1
  122. data/doc/rdoc/files/lib/wee/components/login_decoration_rb.html +101 -0
  123. data/doc/rdoc/files/lib/wee/components/messagebox_rb.html +1 -1
  124. data/doc/rdoc/files/lib/wee/components/page_decoration_rb.html +1 -1
  125. data/doc/rdoc/files/lib/wee/components/pager_rb.html +101 -0
  126. data/doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html +1 -1
  127. data/doc/rdoc/files/lib/wee/components_rb.html +4 -1
  128. data/doc/rdoc/files/lib/wee/continuation/core/component_rb.html +1 -1
  129. data/doc/rdoc/files/lib/wee/continuation/session_rb.html +1 -1
  130. data/doc/rdoc/files/lib/wee/continuation_rb.html +1 -1
  131. data/doc/rdoc/files/lib/wee/core/callback_rb.html +1 -1
  132. data/doc/rdoc/files/lib/wee/core/component_rb.html +1 -1
  133. data/doc/rdoc/files/lib/wee/core/componentrunner_rb.html +110 -0
  134. data/doc/rdoc/files/lib/wee/core/context_rb.html +101 -0
  135. data/doc/rdoc/files/lib/wee/core/decoration_rb.html +1 -1
  136. data/doc/rdoc/files/lib/wee/core/idgen_rb.html +101 -0
  137. data/doc/rdoc/files/lib/wee/core/page_rb.html +101 -0
  138. data/doc/rdoc/files/lib/wee/core/presenter_rb.html +1 -1
  139. data/doc/rdoc/files/lib/wee/core/renderer_rb.html +107 -0
  140. data/doc/rdoc/files/lib/wee/core/snapshot_rb.html +1 -1
  141. data/doc/rdoc/files/lib/wee/core/valueholder_rb.html +2 -2
  142. data/doc/rdoc/files/lib/wee/core_ext_rb.html +101 -0
  143. data/doc/rdoc/files/lib/wee/core_rb.html +7 -14
  144. data/doc/rdoc/files/lib/wee/databases/og/application_rb.html +1 -1
  145. data/doc/rdoc/files/lib/wee/databases/og/old_scaffolder_rb.html +1 -1
  146. data/doc/rdoc/files/lib/wee/databases/og/scaffolder_rb.html +1 -1
  147. data/doc/rdoc/files/lib/wee/databases/og/session_rb.html +1 -1
  148. data/doc/rdoc/files/lib/wee/databases/og_rb.html +1 -1
  149. data/doc/rdoc/files/lib/wee/examples/calculator_rb.html +107 -0
  150. data/doc/rdoc/files/lib/wee/examples/counter_rb.html +101 -0
  151. data/doc/rdoc/files/lib/wee/examples/editable_counter_rb.html +114 -0
  152. data/doc/rdoc/files/lib/wee/examples/window_rb.html +101 -0
  153. data/doc/rdoc/files/lib/wee/idgen/md5_rb.html +1 -1
  154. data/doc/rdoc/files/lib/wee/idgen/simple_rb.html +1 -1
  155. data/doc/rdoc/files/lib/wee/page_rb.html +1 -1
  156. data/doc/rdoc/files/lib/wee/pageless/application_rb.html +8 -1
  157. data/doc/rdoc/files/lib/wee/pageless/request_rb.html +1 -1
  158. data/doc/rdoc/files/lib/wee/pageless/session_rb.html +2 -1
  159. data/doc/rdoc/files/lib/wee/pageless_rb.html +1 -1
  160. data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +1 -1
  161. data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +1 -1
  162. data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +1 -1
  163. data/doc/rdoc/files/lib/wee/request_rb.html +5 -4
  164. data/doc/rdoc/files/lib/wee/requesthandler_rb.html +1 -1
  165. data/doc/rdoc/files/lib/wee/response_rb.html +2 -1
  166. data/doc/rdoc/files/lib/wee/session_rb.html +2 -3
  167. data/doc/rdoc/files/lib/wee/skeleton/og/components/main_rb.html +1 -1
  168. data/doc/rdoc/files/lib/wee/skeleton/og/conf/db_rb.html +2 -2
  169. data/doc/rdoc/files/lib/wee/skeleton/og/models/recipe_rb.html +1 -1
  170. data/doc/rdoc/files/lib/wee/skeleton/og/run_rb.html +1 -1
  171. data/doc/rdoc/files/lib/wee/skeleton/simple/components/main_rb.html +1 -1
  172. data/doc/rdoc/files/lib/wee/skeleton/simple/run_rb.html +1 -1
  173. data/doc/rdoc/files/lib/wee/snapshot_ext_rb.html +1 -1
  174. data/doc/rdoc/files/lib/wee/template_rb.html +1 -1
  175. data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +1 -1
  176. data/doc/rdoc/files/lib/wee/utils/cache_rb.html +1 -1
  177. data/doc/rdoc/files/lib/wee/utils/helper_rb.html +1 -1
  178. data/doc/rdoc/files/lib/wee/utils_rb.html +1 -1
  179. data/doc/rdoc/files/lib/wee_rb.html +5 -3
  180. data/doc/rdoc/fr_class_index.html +34 -2
  181. data/doc/rdoc/fr_file_index.html +17 -1
  182. data/doc/rdoc/fr_method_index.html +464 -314
  183. data/examples/ajax/ajax.rb +1 -1
  184. data/examples/demo.rb +47 -0
  185. data/examples/{calendar.rb → demo/calendar.rb} +89 -97
  186. data/examples/{example.rb → demo/example.rb} +17 -97
  187. data/examples/dispatcher.rb +37 -0
  188. data/examples/draw.rb +14 -11
  189. data/examples/nitro/run.rb +42 -0
  190. data/examples/radio.rb +44 -0
  191. data/examples/test.rb +3 -27
  192. data/lib/wee.rb +15 -3
  193. data/lib/wee/adaptors/nitro.rb +154 -0
  194. data/lib/wee/adaptors/rails.rb +154 -0
  195. data/lib/wee/application.rb +22 -20
  196. data/lib/wee/components.rb +3 -0
  197. data/lib/wee/components/component_dispatcher.rb +46 -0
  198. data/lib/wee/components/login_decoration.rb +35 -0
  199. data/lib/wee/components/messagebox.rb +2 -2
  200. data/lib/wee/components/pager.rb +102 -0
  201. data/lib/wee/continuation/core/component.rb +13 -12
  202. data/lib/wee/continuation/session.rb +11 -19
  203. data/lib/wee/core.rb +8 -7
  204. data/lib/wee/core/component.rb +8 -28
  205. data/lib/wee/core/componentrunner.rb +73 -0
  206. data/lib/wee/core/context.rb +27 -0
  207. data/lib/wee/core/idgen.rb +5 -0
  208. data/lib/wee/core/page.rb +1 -0
  209. data/lib/wee/core/presenter.rb +10 -126
  210. data/lib/wee/core/renderer.rb +23 -0
  211. data/lib/wee/core_ext.rb +122 -0
  212. data/lib/wee/databases/og/scaffolder.rb +0 -1
  213. data/lib/wee/examples/calculator.rb +70 -0
  214. data/lib/wee/examples/counter.rb +33 -0
  215. data/lib/wee/examples/editable_counter.rb +31 -0
  216. data/{examples → lib/wee/examples}/window.rb +29 -23
  217. data/lib/wee/idgen/md5.rb +1 -1
  218. data/lib/wee/idgen/simple.rb +1 -1
  219. data/lib/wee/pageless/session.rb +2 -3
  220. data/lib/wee/renderer/html/brushes.rb +142 -22
  221. data/lib/wee/renderer/html/canvas.rb +57 -19
  222. data/lib/wee/response.rb +3 -2
  223. data/lib/wee/session.rb +10 -54
  224. data/lib/wee/skeleton/og/components/main.rb +5 -1
  225. data/lib/wee/skeleton/og/conf/db.rb +1 -1
  226. data/lib/wee/snapshot_ext.rb +4 -10
  227. data/lib/wee/template.rb +19 -5
  228. data/lib/wee/utils/helper.rb +2 -2
  229. metadata +90 -13
  230. data/examples/calculator.rb +0 -67
  231. data/lib/wee/context.rb +0 -2
@@ -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/context_rb.html">
59
- lib/wee/context.rb
58
+ <a href="../../files/lib/wee/core/context_rb.html">
59
+ lib/wee/core/context.rb
60
+ </a>
61
+ <br />
62
+ <a href="../../files/lib/wee/adaptors/rails_rb.html">
63
+ lib/wee/adaptors/rails.rb
64
+ </a>
65
+ <br />
66
+ <a href="../../files/lib/wee/adaptors/nitro_rb.html">
67
+ lib/wee/adaptors/nitro.rb
60
68
  </a>
61
69
  <br />
62
70
  </td>
@@ -65,7 +73,9 @@
65
73
  <tr class="top-aligned-row">
66
74
  <td><strong>Parent:</strong></td>
67
75
  <td>
68
- Struct.new(:request, :response, :callbacks, :document);
76
+ <a href="../Object.html">
77
+ Object
78
+ </a>
69
79
  </td>
70
80
  </tr>
71
81
  </table>
@@ -82,6 +92,16 @@
82
92
 
83
93
  </div>
84
94
 
95
+ <div id="method-list">
96
+ <h3 class="section-bar">Methods</h3>
97
+
98
+ <div class="name-list">
99
+ <a href="#M000164">new</a>&nbsp;&nbsp;
100
+ <a href="#M000165">request</a>&nbsp;&nbsp;
101
+ <a href="#M000166">response</a>&nbsp;&nbsp;
102
+ <a href="#M000167">session</a>&nbsp;&nbsp;
103
+ </div>
104
+ </div>
85
105
 
86
106
  </div>
87
107
 
@@ -94,10 +114,162 @@
94
114
 
95
115
 
96
116
 
117
+ <div id="attribute-list">
118
+ <h3 class="section-bar">Attributes</h3>
119
+
120
+ <div class="name-list">
121
+ <table>
122
+ <tr class="top-aligned-row context-row">
123
+ <td class="context-item-name">callbacks</td>
124
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
125
+ <td class="context-item-desc"></td>
126
+ </tr>
127
+ <tr class="top-aligned-row context-row">
128
+ <td class="context-item-name">component_name</td>
129
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
130
+ <td class="context-item-desc"></td>
131
+ </tr>
132
+ <tr class="top-aligned-row context-row">
133
+ <td class="context-item-name">component_name</td>
134
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
135
+ <td class="context-item-desc"></td>
136
+ </tr>
137
+ <tr class="top-aligned-row context-row">
138
+ <td class="context-item-name">context</td>
139
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
140
+ <td class="context-item-desc"></td>
141
+ </tr>
142
+ <tr class="top-aligned-row context-row">
143
+ <td class="context-item-name">controller</td>
144
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
145
+ <td class="context-item-desc"></td>
146
+ </tr>
147
+ <tr class="top-aligned-row context-row">
148
+ <td class="context-item-name">controller</td>
149
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
150
+ <td class="context-item-desc"></td>
151
+ </tr>
152
+ <tr class="top-aligned-row context-row">
153
+ <td class="context-item-name">document</td>
154
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
155
+ <td class="context-item-desc"></td>
156
+ </tr>
157
+ <tr class="top-aligned-row context-row">
158
+ <td class="context-item-name">redirect_action</td>
159
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
160
+ <td class="context-item-desc"></td>
161
+ </tr>
162
+ <tr class="top-aligned-row context-row">
163
+ <td class="context-item-name">redirect_action</td>
164
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
165
+ <td class="context-item-desc"></td>
166
+ </tr>
167
+ </table>
168
+ </div>
169
+ </div>
97
170
 
98
171
 
99
172
 
100
173
  <!-- if method_list -->
174
+ <div id="methods">
175
+ <h3 class="section-bar">Public Class methods</h3>
176
+
177
+ <div id="method-M000164" class="method-detail">
178
+ <a name="M000164"></a>
179
+
180
+ <div class="method-heading">
181
+ <a href="#M000164" class="method-signature">
182
+ <span class="method-name">new</span><span class="method-args">(context=nil, callbacks=nil, document=nil)</span>
183
+ </a>
184
+ </div>
185
+
186
+ <div class="method-description">
187
+ <p><a class="source-toggle" href="#"
188
+ onclick="toggleCode('M000164-source');return false;">[Source]</a></p>
189
+ <div class="method-source-code" id="M000164-source">
190
+ <pre>
191
+ <span class="ruby-comment cmt"># File lib/wee/core/context.rb, line 12</span>
192
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">context</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">callbacks</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">document</span>=<span class="ruby-keyword kw">nil</span>)
193
+ <span class="ruby-ivar">@context</span>, <span class="ruby-ivar">@callbacks</span>, <span class="ruby-ivar">@document</span> = <span class="ruby-identifier">context</span>, <span class="ruby-identifier">callbacks</span>, <span class="ruby-identifier">document</span>
194
+ <span class="ruby-keyword kw">end</span>
195
+ </pre>
196
+ </div>
197
+ </div>
198
+ </div>
199
+
200
+ <h3 class="section-bar">Public Instance methods</h3>
201
+
202
+ <div id="method-M000165" class="method-detail">
203
+ <a name="M000165"></a>
204
+
205
+ <div class="method-heading">
206
+ <a href="#M000165" class="method-signature">
207
+ <span class="method-name">request</span><span class="method-args">()</span>
208
+ </a>
209
+ </div>
210
+
211
+ <div class="method-description">
212
+ <p><a class="source-toggle" href="#"
213
+ onclick="toggleCode('M000165-source');return false;">[Source]</a></p>
214
+ <div class="method-source-code" id="M000165-source">
215
+ <pre>
216
+ <span class="ruby-comment cmt"># File lib/wee/core/context.rb, line 16</span>
217
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">request</span>
218
+ <span class="ruby-ivar">@context</span>.<span class="ruby-identifier">request</span>
219
+ <span class="ruby-keyword kw">end</span>
220
+ </pre>
221
+ </div>
222
+ </div>
223
+ </div>
224
+
225
+ <div id="method-M000166" class="method-detail">
226
+ <a name="M000166"></a>
227
+
228
+ <div class="method-heading">
229
+ <a href="#M000166" class="method-signature">
230
+ <span class="method-name">response</span><span class="method-args">()</span>
231
+ </a>
232
+ </div>
233
+
234
+ <div class="method-description">
235
+ <p><a class="source-toggle" href="#"
236
+ onclick="toggleCode('M000166-source');return false;">[Source]</a></p>
237
+ <div class="method-source-code" id="M000166-source">
238
+ <pre>
239
+ <span class="ruby-comment cmt"># File lib/wee/core/context.rb, line 20</span>
240
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">response</span>
241
+ <span class="ruby-ivar">@context</span>.<span class="ruby-identifier">response</span>
242
+ <span class="ruby-keyword kw">end</span>
243
+ </pre>
244
+ </div>
245
+ </div>
246
+ </div>
247
+
248
+ <div id="method-M000167" class="method-detail">
249
+ <a name="M000167"></a>
250
+
251
+ <div class="method-heading">
252
+ <a href="#M000167" class="method-signature">
253
+ <span class="method-name">session</span><span class="method-args">()</span>
254
+ </a>
255
+ </div>
256
+
257
+ <div class="method-description">
258
+ <p><a class="source-toggle" href="#"
259
+ onclick="toggleCode('M000167-source');return false;">[Source]</a></p>
260
+ <div class="method-source-code" id="M000167-source">
261
+ <pre>
262
+ <span class="ruby-comment cmt"># File lib/wee/core/context.rb, line 24</span>
263
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">session</span>
264
+ <span class="ruby-ivar">@context</span>.<span class="ruby-identifier">session</span>
265
+ <span class="ruby-keyword kw">end</span>
266
+ </pre>
267
+ </div>
268
+ </div>
269
+ </div>
270
+
271
+
272
+ </div>
101
273
 
102
274
 
103
275
  </div>
@@ -86,9 +86,10 @@ Represents a request.
86
86
  </p>
87
87
  <p>
88
88
  NOTE that if there are fields named &quot;xxx&quot; and
89
- &quot;xxx.yyy&quot;, the value of fields[&#8216;xxx&#8217;] is a Hash {nil
90
- =&gt; val of &quot;xxx&quot;, &#8216;yyy&#8217; =&gt; val of
91
- &#8216;xxx.yyy&#8217;}. This is for the image-button to work correctly.
89
+ &quot;xxx.yyy&quot;, the value of fields[&#8216;xxx&#8217;] is a <a
90
+ href="../Hash.html">Hash</a> {nil =&gt; val of &quot;xxx&quot;,
91
+ &#8216;yyy&#8217; =&gt; val of &#8216;xxx.yyy&#8217;}. This is for the
92
+ image-button to work correctly.
92
93
  </p>
93
94
 
94
95
  </div>
@@ -100,11 +101,15 @@ NOTE that if there are fields named &quot;xxx&quot; and
100
101
  <h3 class="section-bar">Methods</h3>
101
102
 
102
103
  <div class="name-list">
103
- <a href="#M000282">application_path</a>&nbsp;&nbsp;
104
- <a href="#M000283">build_url</a>&nbsp;&nbsp;
105
- <a href="#M000281">new</a>&nbsp;&nbsp;
106
- <a href="#M000284">parse_fields</a>&nbsp;&nbsp;
107
- <a href="#M000285">parse_path</a>&nbsp;&nbsp;
104
+ <a href="#M000386">action?</a>&nbsp;&nbsp;
105
+ <a href="#M000385">application_path</a>&nbsp;&nbsp;
106
+ <a href="#M000388">build_url</a>&nbsp;&nbsp;
107
+ <a href="#M000390">make_request_path</a>&nbsp;&nbsp;
108
+ <a href="#M000384">new</a>&nbsp;&nbsp;
109
+ <a href="#M000389">pageless?</a>&nbsp;&nbsp;
110
+ <a href="#M000391">parse_fields</a>&nbsp;&nbsp;
111
+ <a href="#M000392">parse_path</a>&nbsp;&nbsp;
112
+ <a href="#M000387">render?</a>&nbsp;&nbsp;
108
113
  </div>
109
114
  </div>
110
115
 
@@ -124,7 +129,7 @@ NOTE that if there are fields named &quot;xxx&quot; and
124
129
  <tr class="top-aligned-row context-row">
125
130
  <td class="context-item-name">DELIM</td>
126
131
  <td>=</td>
127
- <td class="context-item-value">'=/'</td>
132
+ <td class="context-item-value">'/___/'</td>
128
133
  </tr>
129
134
  </table>
130
135
  </div>
@@ -147,6 +152,14 @@ NOTE that if there are fields named &quot;xxx&quot; and
147
152
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
148
153
  <td class="context-item-desc"></td>
149
154
  </tr>
155
+ <tr class="top-aligned-row context-row">
156
+ <td class="context-item-name">info</td>
157
+ <td class="context-item-value">&nbsp;[RW]&nbsp;</td>
158
+ <td class="context-item-desc">
159
+ The part of the URL that is user-defineable
160
+
161
+ </td>
162
+ </tr>
150
163
  <tr class="top-aligned-row context-row">
151
164
  <td class="context-item-name">page_id</td>
152
165
  <td class="context-item-value">&nbsp;[R]&nbsp;</td>
@@ -167,22 +180,23 @@ NOTE that if there are fields named &quot;xxx&quot; and
167
180
  <div id="methods">
168
181
  <h3 class="section-bar">Public Class methods</h3>
169
182
 
170
- <div id="method-M000281" class="method-detail">
171
- <a name="M000281"></a>
183
+ <div id="method-M000384" class="method-detail">
184
+ <a name="M000384"></a>
172
185
 
173
186
  <div class="method-heading">
174
- <a href="#M000281" class="method-signature">
187
+ <a href="#M000384" class="method-signature">
175
188
  <span class="method-name">new</span><span class="method-args">(app_path, path, headers, fields, cookies)</span>
176
189
  </a>
177
190
  </div>
178
191
 
179
192
  <div class="method-description">
180
193
  <p><a class="source-toggle" href="#"
181
- onclick="toggleCode('M000281-source');return false;">[Source]</a></p>
182
- <div class="method-source-code" id="M000281-source">
194
+ onclick="toggleCode('M000384-source');return false;">[Source]</a></p>
195
+ <div class="method-source-code" id="M000384-source">
183
196
  <pre>
184
- <span class="ruby-comment cmt"># File lib/wee/request.rb, line 14</span>
197
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 17</span>
185
198
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">app_path</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">fields</span>, <span class="ruby-identifier">cookies</span>)
199
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">app_path</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?/</span>
186
200
  <span class="ruby-ivar">@app_path</span>, <span class="ruby-ivar">@path</span>, <span class="ruby-ivar">@headers</span>, <span class="ruby-ivar">@cookies</span> = <span class="ruby-identifier">app_path</span>, <span class="ruby-identifier">path</span>, <span class="ruby-identifier">headers</span>, <span class="ruby-identifier">cookies</span>
187
201
  <span class="ruby-identifier">parse_fields</span>(<span class="ruby-identifier">fields</span>)
188
202
  <span class="ruby-identifier">parse_path</span>
@@ -194,21 +208,47 @@ NOTE that if there are fields named &quot;xxx&quot; and
194
208
 
195
209
  <h3 class="section-bar">Public Instance methods</h3>
196
210
 
197
- <div id="method-M000282" class="method-detail">
198
- <a name="M000282"></a>
211
+ <div id="method-M000386" class="method-detail">
212
+ <a name="M000386"></a>
213
+
214
+ <div class="method-heading">
215
+ <a href="#M000386" class="method-signature">
216
+ <span class="method-name">action?</span><span class="method-args">()</span>
217
+ </a>
218
+ </div>
219
+
220
+ <div class="method-description">
221
+ <p>
222
+ Is this an action request?
223
+ </p>
224
+ <p><a class="source-toggle" href="#"
225
+ onclick="toggleCode('M000386-source');return false;">[Source]</a></p>
226
+ <div class="method-source-code" id="M000386-source">
227
+ <pre>
228
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 29</span>
229
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">action?</span>
230
+ <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">render?</span>
231
+ <span class="ruby-keyword kw">end</span>
232
+ </pre>
233
+ </div>
234
+ </div>
235
+ </div>
236
+
237
+ <div id="method-M000385" class="method-detail">
238
+ <a name="M000385"></a>
199
239
 
200
240
  <div class="method-heading">
201
- <a href="#M000282" class="method-signature">
241
+ <a href="#M000385" class="method-signature">
202
242
  <span class="method-name">application_path</span><span class="method-args">()</span>
203
243
  </a>
204
244
  </div>
205
245
 
206
246
  <div class="method-description">
207
247
  <p><a class="source-toggle" href="#"
208
- onclick="toggleCode('M000282-source');return false;">[Source]</a></p>
209
- <div class="method-source-code" id="M000282-source">
248
+ onclick="toggleCode('M000385-source');return false;">[Source]</a></p>
249
+ <div class="method-source-code" id="M000385-source">
210
250
  <pre>
211
- <span class="ruby-comment cmt"># File lib/wee/request.rb, line 20</span>
251
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 24</span>
212
252
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">application_path</span>
213
253
  <span class="ruby-ivar">@app_path</span>
214
254
  <span class="ruby-keyword kw">end</span>
@@ -217,32 +257,56 @@ NOTE that if there are fields named &quot;xxx&quot; and
217
257
  </div>
218
258
  </div>
219
259
 
220
- <div id="method-M000283" class="method-detail">
221
- <a name="M000283"></a>
260
+ <div id="method-M000388" class="method-detail">
261
+ <a name="M000388"></a>
222
262
 
223
263
  <div class="method-heading">
224
- <a href="#M000283" class="method-signature">
225
- <span class="method-name">build_url</span><span class="method-args">(request_handler_id=nil, page_id=nil, callback_id=nil)</span>
264
+ <a href="#M000388" class="method-signature">
265
+ <span class="method-name">build_url</span><span class="method-args">(hash={})</span>
226
266
  </a>
227
267
  </div>
228
268
 
229
269
  <div class="method-description">
230
270
  <p><a class="source-toggle" href="#"
231
- onclick="toggleCode('M000283-source');return false;">[Source]</a></p>
232
- <div class="method-source-code" id="M000283-source">
271
+ onclick="toggleCode('M000388-source');return false;">[Source]</a></p>
272
+ <div class="method-source-code" id="M000388-source">
233
273
  <pre>
234
- <span class="ruby-comment cmt"># File lib/wee/request.rb, line 24</span>
235
- <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_url</span>(<span class="ruby-identifier">request_handler_id</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">page_id</span>=<span class="ruby-keyword kw">nil</span>, <span class="ruby-identifier">callback_id</span>=<span class="ruby-keyword kw">nil</span>)
274
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 38</span>
275
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">build_url</span>(<span class="ruby-identifier">hash</span>={})
276
+ <span class="ruby-identifier">default</span> = {
277
+ <span class="ruby-identifier">:request_handler_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">request_handler_id</span>,
278
+ <span class="ruby-identifier">:page_id</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">page_id</span>,
279
+ <span class="ruby-identifier">:info</span> =<span class="ruby-operator">&gt;</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">info</span>
280
+ }
281
+ <span class="ruby-identifier">hash</span> = <span class="ruby-identifier">default</span>.<span class="ruby-identifier">update</span>(<span class="ruby-identifier">hash</span>)
282
+
283
+ <span class="ruby-identifier">request_handler_id</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:request_handler_id</span>]
284
+ <span class="ruby-identifier">page_id</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:page_id</span>]
285
+ <span class="ruby-identifier">callback_id</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:callback_id</span>]
286
+ <span class="ruby-identifier">info</span> = <span class="ruby-identifier">hash</span>[<span class="ruby-identifier">:info</span>]
287
+
236
288
  <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">request_handler_id</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">page_id</span>.<span class="ruby-identifier">nil?</span>
289
+ <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">pageless?</span>
290
+ <span class="ruby-identifier">raise</span> <span class="ruby-constant">ArgumentError</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">page_id</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-keyword kw">not</span> <span class="ruby-identifier">callback_id</span>.<span class="ruby-identifier">nil?</span>
291
+ <span class="ruby-keyword kw">end</span>
237
292
 
238
- <span class="ruby-identifier">arr</span> = [<span class="ruby-identifier">request_handler_id</span>, <span class="ruby-identifier">page_id</span>].<span class="ruby-identifier">compact</span>
293
+ <span class="ruby-comment cmt"># build request path, e.g. /___/req-id/page-id</span>
294
+ <span class="ruby-identifier">req_path</span> = <span class="ruby-identifier">make_request_path</span>(<span class="ruby-identifier">request_handler_id</span>, <span class="ruby-identifier">page_id</span>)
239
295
 
240
- <span class="ruby-identifier">url</span> = <span class="ruby-value str">&quot;&quot;</span>
296
+ <span class="ruby-comment cmt"># build the whole url</span>
297
+ <span class="ruby-identifier">url</span> = <span class="ruby-value str">&quot;&quot;</span>
241
298
  <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-ivar">@app_path</span>
242
- <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">empty?</span>
243
- <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span>[<span class="ruby-value">-1</span>,<span class="ruby-value">1</span>] <span class="ruby-operator">!=</span> <span class="ruby-value str">'/'</span> <span class="ruby-comment cmt"># /appXXX -&gt; /app/XXX</span>
244
- <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-constant">DELIM</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'/'</span>))
299
+
300
+ <span class="ruby-identifier">raise</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">url</span>[<span class="ruby-value">-1</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?/</span> <span class="ruby-comment cmt"># sanity check</span>
301
+
302
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>
303
+ <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/'</span>
304
+ <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">info</span>
245
305
  <span class="ruby-keyword kw">end</span>
306
+ <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-identifier">req_path</span>
307
+
308
+ <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> <span class="ruby-value str">'/'</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">info</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">req_path</span>.<span class="ruby-identifier">empty?</span>
309
+
246
310
  <span class="ruby-identifier">url</span> <span class="ruby-operator">&lt;&lt;</span> (<span class="ruby-value str">'?'</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">callback_id</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">callback_id</span>
247
311
 
248
312
  <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">url</span>
@@ -252,23 +316,101 @@ NOTE that if there are fields named &quot;xxx&quot; and
252
316
  </div>
253
317
  </div>
254
318
 
319
+ <div id="method-M000387" class="method-detail">
320
+ <a name="M000387"></a>
321
+
322
+ <div class="method-heading">
323
+ <a href="#M000387" class="method-signature">
324
+ <span class="method-name">render?</span><span class="method-args">()</span>
325
+ </a>
326
+ </div>
327
+
328
+ <div class="method-description">
329
+ <p>
330
+ Is this a render request?
331
+ </p>
332
+ <p><a class="source-toggle" href="#"
333
+ onclick="toggleCode('M000387-source');return false;">[Source]</a></p>
334
+ <div class="method-source-code" id="M000387-source">
335
+ <pre>
336
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 34</span>
337
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render?</span>
338
+ <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fields</span>.<span class="ruby-identifier">empty?</span>
339
+ <span class="ruby-keyword kw">end</span>
340
+ </pre>
341
+ </div>
342
+ </div>
343
+ </div>
344
+
255
345
  <h3 class="section-bar">Private Instance methods</h3>
256
346
 
257
- <div id="method-M000284" class="method-detail">
258
- <a name="M000284"></a>
347
+ <div id="method-M000390" class="method-detail">
348
+ <a name="M000390"></a>
259
349
 
260
350
  <div class="method-heading">
261
- <a href="#M000284" class="method-signature">
351
+ <a href="#M000390" class="method-signature">
352
+ <span class="method-name">make_request_path</span><span class="method-args">(request_handler_id, page_id)</span>
353
+ </a>
354
+ </div>
355
+
356
+ <div class="method-description">
357
+ <p><a class="source-toggle" href="#"
358
+ onclick="toggleCode('M000390-source');return false;">[Source]</a></p>
359
+ <div class="method-source-code" id="M000390-source">
360
+ <pre>
361
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 84</span>
362
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">make_request_path</span>(<span class="ruby-identifier">request_handler_id</span>, <span class="ruby-identifier">page_id</span>)
363
+ <span class="ruby-identifier">arr</span> = [<span class="ruby-identifier">request_handler_id</span>, <span class="ruby-identifier">page_id</span>].<span class="ruby-identifier">compact</span>
364
+ <span class="ruby-identifier">req_path</span> =
365
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">empty?</span>
366
+ <span class="ruby-value str">&quot;&quot;</span>
367
+ <span class="ruby-keyword kw">else</span>
368
+ <span class="ruby-constant">DELIM</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">arr</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">'/'</span>)
369
+ <span class="ruby-keyword kw">end</span>
370
+ <span class="ruby-keyword kw">end</span>
371
+ </pre>
372
+ </div>
373
+ </div>
374
+ </div>
375
+
376
+ <div id="method-M000389" class="method-detail">
377
+ <a name="M000389"></a>
378
+
379
+ <div class="method-heading">
380
+ <a href="#M000389" class="method-signature">
381
+ <span class="method-name">pageless?</span><span class="method-args">()</span>
382
+ </a>
383
+ </div>
384
+
385
+ <div class="method-description">
386
+ <p><a class="source-toggle" href="#"
387
+ onclick="toggleCode('M000389-source');return false;">[Source]</a></p>
388
+ <div class="method-source-code" id="M000389-source">
389
+ <pre>
390
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 80</span>
391
+ <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">pageless?</span>
392
+ <span class="ruby-keyword kw">false</span>
393
+ <span class="ruby-keyword kw">end</span>
394
+ </pre>
395
+ </div>
396
+ </div>
397
+ </div>
398
+
399
+ <div id="method-M000391" class="method-detail">
400
+ <a name="M000391"></a>
401
+
402
+ <div class="method-heading">
403
+ <a href="#M000391" class="method-signature">
262
404
  <span class="method-name">parse_fields</span><span class="method-args">(fields)</span>
263
405
  </a>
264
406
  </div>
265
407
 
266
408
  <div class="method-description">
267
409
  <p><a class="source-toggle" href="#"
268
- onclick="toggleCode('M000284-source');return false;">[Source]</a></p>
269
- <div class="method-source-code" id="M000284-source">
410
+ onclick="toggleCode('M000391-source');return false;">[Source]</a></p>
411
+ <div class="method-source-code" id="M000391-source">
270
412
  <pre>
271
- <span class="ruby-comment cmt"># File lib/wee/request.rb, line 42</span>
413
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 94</span>
272
414
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_fields</span>(<span class="ruby-identifier">fields</span>)
273
415
  <span class="ruby-identifier">fields</span> <span class="ruby-operator">||=</span> <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
274
416
  <span class="ruby-ivar">@fields</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
@@ -294,23 +436,32 @@ NOTE that if there are fields named &quot;xxx&quot; and
294
436
  </div>
295
437
  </div>
296
438
 
297
- <div id="method-M000285" class="method-detail">
298
- <a name="M000285"></a>
439
+ <div id="method-M000392" class="method-detail">
440
+ <a name="M000392"></a>
299
441
 
300
442
  <div class="method-heading">
301
- <a href="#M000285" class="method-signature">
443
+ <a href="#M000392" class="method-signature">
302
444
  <span class="method-name">parse_path</span><span class="method-args">()</span>
303
445
  </a>
304
446
  </div>
305
447
 
306
448
  <div class="method-description">
307
449
  <p><a class="source-toggle" href="#"
308
- onclick="toggleCode('M000285-source');return false;">[Source]</a></p>
309
- <div class="method-source-code" id="M000285-source">
450
+ onclick="toggleCode('M000392-source');return false;">[Source]</a></p>
451
+ <div class="method-source-code" id="M000392-source">
310
452
  <pre>
311
- <span class="ruby-comment cmt"># File lib/wee/request.rb, line 63</span>
453
+ <span class="ruby-comment cmt"># File lib/wee/request.rb, line 115</span>
312
454
  <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">parse_path</span>
313
455
  <span class="ruby-identifier">full_app_path</span>, <span class="ruby-identifier">req_path</span> = <span class="ruby-ivar">@path</span>.<span class="ruby-identifier">split</span>(<span class="ruby-constant">DELIM</span>, <span class="ruby-value">2</span>)
456
+
457
+ <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">full_app_path</span> <span class="ruby-operator">==</span> <span class="ruby-ivar">@app_path</span>
458
+ <span class="ruby-ivar">@info</span> = <span class="ruby-keyword kw">nil</span>
459
+ <span class="ruby-keyword kw">elsif</span> <span class="ruby-identifier">full_app_path</span>[<span class="ruby-value">0</span>, <span class="ruby-ivar">@app_path</span>.<span class="ruby-identifier">size</span>] <span class="ruby-operator">==</span> <span class="ruby-ivar">@app_path</span> <span class="ruby-keyword kw">and</span> <span class="ruby-identifier">full_app_path</span>[<span class="ruby-ivar">@app_path</span>.<span class="ruby-identifier">size</span>] <span class="ruby-operator">==</span> <span class="ruby-value">?/</span>
460
+ <span class="ruby-ivar">@info</span> = <span class="ruby-identifier">full_app_path</span>[<span class="ruby-ivar">@app_path</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">+</span><span class="ruby-value">1</span><span class="ruby-operator">..</span><span class="ruby-value">-1</span>]
461
+ <span class="ruby-keyword kw">else</span>
462
+ <span class="ruby-identifier">raise</span> <span class="ruby-value str">&quot;dispatched to wrong handler&quot;</span>
463
+ <span class="ruby-keyword kw">end</span>
464
+
314
465
  <span class="ruby-ivar">@request_handler_id</span> = <span class="ruby-ivar">@page_id</span> = <span class="ruby-keyword kw">nil</span>
315
466
  <span class="ruby-ivar">@request_handler_id</span>, <span class="ruby-ivar">@page_id</span> = <span class="ruby-identifier">req_path</span>.<span class="ruby-identifier">split</span>(<span class="ruby-value str">'/'</span>, <span class="ruby-value">2</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">req_path</span>
316
467
  <span class="ruby-keyword kw">end</span>