wee 0.10.0 → 2.0.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 (369) hide show
  1. data/README.rdoc +127 -0
  2. data/Rakefile +11 -32
  3. data/doc/rdoc/classes/Array.html +28 -24
  4. data/doc/rdoc/classes/Hash.html +28 -24
  5. data/doc/rdoc/classes/Object.html +37 -84
  6. data/doc/rdoc/classes/String.html +89 -21
  7. data/doc/rdoc/classes/Struct.html +32 -82
  8. data/doc/rdoc/classes/Wee.html +285 -86
  9. data/doc/rdoc/classes/Wee/AnswerDecoration.html +111 -48
  10. data/doc/rdoc/classes/Wee/{Context.html → AnswerDecoration/Answer.html} +61 -51
  11. data/doc/rdoc/classes/Wee/Application.html +161 -322
  12. data/doc/rdoc/classes/Wee/Application/SessionCache.html +162 -0
  13. data/doc/rdoc/classes/Wee/Brush.html +147 -62
  14. data/doc/rdoc/classes/{Enumerable.html → Wee/Brush/ActionInputTag.html} +68 -41
  15. data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +150 -100
  16. data/doc/rdoc/classes/Wee/Brush/CheckboxTag.html +132 -46
  17. data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +63 -41
  18. data/doc/rdoc/classes/Wee/Brush/FormTag.html +184 -78
  19. data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +48 -65
  20. data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +83 -37
  21. data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +334 -310
  22. data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +74 -54
  23. data/doc/rdoc/classes/Wee/Brush/HiddenInputTag.html +58 -43
  24. data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +64 -74
  25. data/doc/rdoc/classes/Wee/Brush/ImageTag.html +109 -86
  26. data/doc/rdoc/classes/Wee/Brush/InputTag.html +205 -45
  27. data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +96 -34
  28. data/doc/rdoc/classes/Wee/Brush/Page.html +129 -67
  29. data/doc/rdoc/classes/Wee/{Utils/LRUCache.html → Brush/PasswordInputTag.html} +65 -38
  30. data/doc/rdoc/classes/Wee/Brush/RadioButtonTag.html +132 -78
  31. data/doc/rdoc/classes/Wee/Brush/{RadioButtonTag/RadioGroup.html → RadioGroup.html} +91 -53
  32. data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +301 -127
  33. data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +96 -33
  34. data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +59 -44
  35. data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +94 -57
  36. data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +96 -33
  37. data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +181 -121
  38. data/doc/rdoc/classes/Wee/Brush/TableTag.html +94 -32
  39. data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +257 -71
  40. data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +58 -43
  41. data/doc/rdoc/classes/Wee/CallAnswerMixin.html +289 -0
  42. data/doc/rdoc/classes/Wee/CallbackMixin.html +233 -0
  43. data/doc/rdoc/classes/Wee/CallbackRegistry.html +179 -155
  44. data/doc/rdoc/classes/Wee/Callbacks.html +262 -0
  45. data/doc/rdoc/classes/Wee/Component.html +228 -779
  46. data/doc/rdoc/classes/Wee/Decoration.html +144 -159
  47. data/doc/rdoc/classes/Wee/DecorationMixin.html +340 -0
  48. data/doc/rdoc/classes/Wee/Delegate.html +119 -76
  49. data/doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html +64 -47
  50. data/doc/rdoc/classes/Wee/ErrorResponse.html +59 -62
  51. data/doc/rdoc/classes/Wee/FormDecoration.html +51 -37
  52. data/doc/rdoc/classes/Wee/GenericResponse.html +60 -35
  53. data/doc/rdoc/classes/Wee/HtmlCanvas.html +1000 -602
  54. data/doc/rdoc/classes/Wee/HtmlDocument.html +288 -0
  55. data/doc/rdoc/classes/Wee/HtmlWriter.html +227 -126
  56. data/doc/rdoc/classes/Wee/IdGenerator.html +60 -31
  57. data/doc/rdoc/classes/Wee/IdGenerator/Secure.html +282 -0
  58. data/doc/rdoc/classes/Wee/{SimpleIdGenerator.html → IdGenerator/Sequential.html} +76 -49
  59. data/doc/rdoc/classes/Wee/JQuery.html +221 -0
  60. data/doc/rdoc/classes/Wee/LRUCache.html +514 -0
  61. data/doc/rdoc/classes/Wee/LRUCache/Item.html +158 -0
  62. data/doc/rdoc/classes/Wee/ObjectSnapshotMixin.html +187 -0
  63. data/doc/rdoc/classes/Wee/PageDecoration.html +88 -59
  64. data/doc/rdoc/classes/Wee/Presenter.html +124 -704
  65. data/doc/rdoc/classes/Wee/RedirectResponse.html +64 -33
  66. data/doc/rdoc/classes/Wee/RefreshResponse.html +59 -44
  67. data/doc/rdoc/classes/Wee/Renderer.html +234 -54
  68. data/doc/rdoc/classes/Wee/Request.html +151 -286
  69. data/doc/rdoc/classes/Wee/Response.html +29 -212
  70. data/doc/rdoc/classes/Wee/Session.html +585 -360
  71. data/doc/rdoc/classes/Wee/{StateHolder.html → Session/AbortCallbackProcessing.html} +67 -40
  72. data/doc/rdoc/classes/Wee/Session/MutexSerializer.html +166 -0
  73. data/doc/rdoc/classes/{Cache/Strategy/LFU/Item.html → Wee/Session/Page.html} +26 -27
  74. data/doc/rdoc/classes/Wee/Session/ThreadSerializer.html +219 -0
  75. data/doc/rdoc/classes/Wee/State.html +307 -0
  76. data/doc/rdoc/classes/{Cache/Strategy/LRU/Item.html → Wee/State/Snapshot.html} +26 -27
  77. data/doc/rdoc/classes/{Cache/Strategy/Unbounded/Item.html → Wee/State/SnapshotIVars.html} +26 -27
  78. data/doc/rdoc/classes/Wee/StructSnapshotMixin.html +183 -0
  79. data/doc/rdoc/classes/Wee/WrapperDecoration.html +101 -35
  80. data/doc/rdoc/created.rid +1 -1
  81. data/doc/rdoc/files/README_rdoc.html +243 -0
  82. data/doc/rdoc/files/lib/wee/application_rb.html +22 -30
  83. data/doc/rdoc/files/lib/wee/{page_rb.html → call_answer_rb.html} +14 -25
  84. data/doc/rdoc/files/lib/wee/callback_rb.html +12 -29
  85. data/doc/rdoc/files/lib/wee/component_rb.html +22 -27
  86. data/doc/rdoc/files/lib/wee/decoration_rb.html +19 -20
  87. data/doc/rdoc/files/lib/wee/{idgen_rb.html → html_brushes_rb.html} +14 -25
  88. data/doc/rdoc/files/lib/wee/html_canvas_rb.html +15 -23
  89. data/doc/rdoc/files/lib/wee/{abstractsession_rb.html → html_document_rb.html} +17 -25
  90. data/doc/rdoc/files/lib/wee/html_writer_rb.html +15 -23
  91. data/doc/rdoc/files/lib/wee/{webrick_rb.html → id_generator_rb.html} +19 -25
  92. data/doc/rdoc/files/lib/wee/{core/page_rb.html → jquery/jquery_rb.html} +14 -25
  93. data/doc/rdoc/files/lib/wee/{state_registry_rb.html → jquery_rb.html} +17 -27
  94. data/doc/rdoc/files/lib/{cache/cache_rb.html → wee/lru_cache_rb.html} +14 -25
  95. data/doc/rdoc/files/lib/wee/presenter_rb.html +12 -34
  96. data/doc/rdoc/files/lib/wee/{holder_rb.html → renderer_rb.html} +14 -25
  97. data/doc/rdoc/files/lib/wee/request_rb.html +18 -32
  98. data/doc/rdoc/files/lib/wee/response_rb.html +17 -24
  99. data/doc/rdoc/files/lib/wee/session_rb.html +21 -23
  100. data/doc/rdoc/files/lib/wee/state_rb.html +90 -0
  101. data/doc/rdoc/files/lib/wee_rb.html +48 -40
  102. data/doc/rdoc/fr_class_index.html +111 -75
  103. data/doc/rdoc/fr_file_index.html +46 -76
  104. data/doc/rdoc/fr_method_index.html +473 -480
  105. data/doc/rdoc/index.html +6 -9
  106. data/doc/rdoc/rdoc-style.css +210 -119
  107. data/examples/ObjectSpaceBrowser.rb +33 -23
  108. data/examples/ajax.rb +71 -0
  109. data/examples/continuations.rb +28 -0
  110. data/examples/demo.rb +92 -36
  111. data/examples/demo/calculator.rb +63 -0
  112. data/examples/demo/calendar.rb +42 -55
  113. data/examples/demo/counter.rb +38 -0
  114. data/{lib/wee/examples → examples/demo}/editable_counter.rb +11 -6
  115. data/examples/demo/example.rb +28 -24
  116. data/examples/demo/file_upload.rb +19 -0
  117. data/{lib/wee/components → examples/demo}/messagebox.rb +3 -3
  118. data/examples/demo/radio.rb +33 -0
  119. data/{lib/wee/examples → examples/demo}/window.rb +15 -10
  120. data/examples/hw.rb +3 -4
  121. data/{lib/wee/components → examples}/pager.rb +14 -14
  122. data/lib/wee.rb +48 -25
  123. data/lib/wee/application.rb +69 -131
  124. data/lib/wee/call_answer.rb +118 -0
  125. data/lib/wee/callback.rb +88 -0
  126. data/lib/wee/component.rb +141 -0
  127. data/lib/wee/decoration.rb +242 -0
  128. data/lib/wee/html_brushes.rb +725 -0
  129. data/lib/wee/html_canvas.rb +241 -0
  130. data/lib/wee/html_document.rb +45 -0
  131. data/lib/wee/html_writer.rb +71 -0
  132. data/lib/wee/id_generator.rb +70 -0
  133. data/lib/wee/jquery.rb +1 -0
  134. data/lib/wee/jquery/jquery.rb +17 -0
  135. data/lib/wee/jquery/public/jquery-1.3.2.min.js +19 -0
  136. data/lib/wee/jquery/public/wee-jquery.js +19 -0
  137. data/lib/wee/lru_cache.rb +89 -0
  138. data/lib/wee/presenter.rb +43 -0
  139. data/lib/wee/renderer.rb +65 -0
  140. data/lib/wee/request.rb +37 -113
  141. data/lib/wee/response.rb +43 -70
  142. data/lib/wee/session.rb +304 -113
  143. data/lib/wee/state.rb +85 -0
  144. data/test/component_spec.rb +17 -0
  145. data/wee.gemspec +4 -3
  146. metadata +249 -452
  147. data/ChangeLog +0 -657
  148. data/INSTALL +0 -17
  149. data/README +0 -272
  150. data/TODO +0 -142
  151. data/benchmark/Centrino1300/result.2000.counter.action +0 -45
  152. data/benchmark/Centrino1300/result.2000.counter.render +0 -43
  153. data/benchmark/Centrino1300/result.2000.filehandler +0 -43
  154. data/benchmark/Centrino600/result.2000.counter.action +0 -47
  155. data/benchmark/Centrino600/result.2000.counter.render +0 -45
  156. data/benchmark/Centrino600/result.2000.filehandler +0 -43
  157. data/benchmark/Makefile +0 -53
  158. data/benchmark/counter.rb +0 -77
  159. data/benchmark/filehandler.rb +0 -6
  160. data/benchmark/report_req.rb +0 -12
  161. data/bin/wee +0 -100
  162. data/doc/rdoc/classes/ActionView.html +0 -107
  163. data/doc/rdoc/classes/ActionView/Base.html +0 -133
  164. data/doc/rdoc/classes/Cache.html +0 -126
  165. data/doc/rdoc/classes/Cache/StorageCache.html +0 -320
  166. data/doc/rdoc/classes/Cache/Strategy.html +0 -128
  167. data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +0 -269
  168. data/doc/rdoc/classes/Cache/Strategy/LFU.html +0 -238
  169. data/doc/rdoc/classes/Cache/Strategy/LRU.html +0 -238
  170. data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +0 -225
  171. data/doc/rdoc/classes/LiteralMethod.html +0 -196
  172. data/doc/rdoc/classes/Main.html +0 -289
  173. data/doc/rdoc/classes/OgApplication.html +0 -126
  174. data/doc/rdoc/classes/OgScaffolder.html +0 -827
  175. data/doc/rdoc/classes/OgScaffolder/Editor.html +0 -565
  176. data/doc/rdoc/classes/OgSession.html +0 -172
  177. data/doc/rdoc/classes/Recipe.html +0 -113
  178. data/doc/rdoc/classes/Wee/AbstractSession.html +0 -502
  179. data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +0 -148
  180. data/doc/rdoc/classes/Wee/Brush/ActionMixin.html +0 -146
  181. data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +0 -154
  182. data/doc/rdoc/classes/Wee/Brush/AssignMixin.html +0 -141
  183. data/doc/rdoc/classes/Wee/Brush/CallbackMixin.html +0 -141
  184. data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +0 -148
  185. data/doc/rdoc/classes/Wee/Brush/SelectListTag/SelectListCallback.html +0 -158
  186. data/doc/rdoc/classes/Wee/Brush/ToCallback.html +0 -146
  187. data/doc/rdoc/classes/Wee/Callback.html +0 -231
  188. data/doc/rdoc/classes/Wee/CallbackStream.html +0 -227
  189. data/doc/rdoc/classes/Wee/Canvas.html +0 -235
  190. data/doc/rdoc/classes/Wee/CanvasMixin.html +0 -225
  191. data/doc/rdoc/classes/Wee/Component/OnAnswer.html +0 -153
  192. data/doc/rdoc/classes/Wee/ComponentDispatcher.html +0 -289
  193. data/doc/rdoc/classes/Wee/ComponentRunner.html +0 -321
  194. data/doc/rdoc/classes/Wee/ErrorPage.html +0 -175
  195. data/doc/rdoc/classes/Wee/Examples.html +0 -114
  196. data/doc/rdoc/classes/Wee/Examples/Calculator.html +0 -319
  197. data/doc/rdoc/classes/Wee/Examples/Counter.html +0 -289
  198. data/doc/rdoc/classes/Wee/Examples/EditableCounter.html +0 -210
  199. data/doc/rdoc/classes/Wee/Examples/Window.html +0 -346
  200. data/doc/rdoc/classes/Wee/FastCGIAdaptor.html +0 -227
  201. data/doc/rdoc/classes/Wee/Helper.html +0 -148
  202. data/doc/rdoc/classes/Wee/HtmlCanvasRenderer.html +0 -1230
  203. data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +0 -198
  204. data/doc/rdoc/classes/Wee/LoginDecoration.html +0 -261
  205. data/doc/rdoc/classes/Wee/Md5IdGenerator.html +0 -181
  206. data/doc/rdoc/classes/Wee/MessageBox.html +0 -180
  207. data/doc/rdoc/classes/Wee/MethodCallback.html +0 -193
  208. data/doc/rdoc/classes/Wee/Nitro.html +0 -114
  209. data/doc/rdoc/classes/Wee/Nitro/ControllerClassMixin.html +0 -192
  210. data/doc/rdoc/classes/Wee/Nitro/ControllerMixin.html +0 -345
  211. data/doc/rdoc/classes/Wee/Nitro/FormTag.html +0 -155
  212. data/doc/rdoc/classes/Wee/Nitro/HtmlCanvasRenderer.html +0 -178
  213. data/doc/rdoc/classes/Wee/Page.html +0 -115
  214. data/doc/rdoc/classes/Wee/PagelessApplication.html +0 -154
  215. data/doc/rdoc/classes/Wee/PagelessComponentDriver.html +0 -296
  216. data/doc/rdoc/classes/Wee/PagelessRequest.html +0 -208
  217. data/doc/rdoc/classes/Wee/PagelessSession.html +0 -359
  218. data/doc/rdoc/classes/Wee/Pager.html +0 -534
  219. data/doc/rdoc/classes/Wee/Rails.html +0 -114
  220. data/doc/rdoc/classes/Wee/Rails/ControllerClassMixin.html +0 -192
  221. data/doc/rdoc/classes/Wee/Rails/ControllerMixin.html +0 -342
  222. data/doc/rdoc/classes/Wee/Rails/FormTag.html +0 -155
  223. data/doc/rdoc/classes/Wee/Rails/HtmlCanvasRenderer.html +0 -177
  224. data/doc/rdoc/classes/Wee/RenderingContext.html +0 -283
  225. data/doc/rdoc/classes/Wee/RequestHandler.html +0 -341
  226. data/doc/rdoc/classes/Wee/Snapshot.html +0 -211
  227. data/doc/rdoc/classes/Wee/StateRegistry.html +0 -434
  228. data/doc/rdoc/classes/Wee/StateRegistry/Snapshot.html +0 -320
  229. data/doc/rdoc/classes/Wee/StateRegistry/WithObject.html +0 -153
  230. data/doc/rdoc/classes/Wee/Utils.html +0 -300
  231. data/doc/rdoc/classes/Wee/ValueHolder.html +0 -220
  232. data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +0 -368
  233. data/doc/rdoc/files/INSTALL.html +0 -130
  234. data/doc/rdoc/files/README.html +0 -471
  235. data/doc/rdoc/files/lib/wee/adaptors/fastcgi_rb.html +0 -108
  236. data/doc/rdoc/files/lib/wee/adaptors/nitro_rb.html +0 -101
  237. data/doc/rdoc/files/lib/wee/adaptors/rails_rb.html +0 -101
  238. data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +0 -108
  239. data/doc/rdoc/files/lib/wee/component_ext_rb.html +0 -101
  240. data/doc/rdoc/files/lib/wee/components/component_dispatcher_rb.html +0 -108
  241. data/doc/rdoc/files/lib/wee/components/form_decoration_rb.html +0 -101
  242. data/doc/rdoc/files/lib/wee/components/login_decoration_rb.html +0 -101
  243. data/doc/rdoc/files/lib/wee/components/messagebox_rb.html +0 -101
  244. data/doc/rdoc/files/lib/wee/components/page_decoration_rb.html +0 -101
  245. data/doc/rdoc/files/lib/wee/components/pager_rb.html +0 -101
  246. data/doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html +0 -101
  247. data/doc/rdoc/files/lib/wee/components_rb.html +0 -114
  248. data/doc/rdoc/files/lib/wee/context_rb.html +0 -101
  249. data/doc/rdoc/files/lib/wee/continuation/core/component_rb.html +0 -101
  250. data/doc/rdoc/files/lib/wee/continuation/session_rb.html +0 -108
  251. data/doc/rdoc/files/lib/wee/continuation_rb.html +0 -116
  252. data/doc/rdoc/files/lib/wee/core/callback_rb.html +0 -115
  253. data/doc/rdoc/files/lib/wee/core/component_rb.html +0 -108
  254. data/doc/rdoc/files/lib/wee/core/componentrunner_rb.html +0 -110
  255. data/doc/rdoc/files/lib/wee/core/context_rb.html +0 -101
  256. data/doc/rdoc/files/lib/wee/core/decoration_rb.html +0 -133
  257. data/doc/rdoc/files/lib/wee/core/idgen_rb.html +0 -101
  258. data/doc/rdoc/files/lib/wee/core/presenter_rb.html +0 -112
  259. data/doc/rdoc/files/lib/wee/core/renderer_rb.html +0 -107
  260. data/doc/rdoc/files/lib/wee/core/snapshot_rb.html +0 -113
  261. data/doc/rdoc/files/lib/wee/core/valueholder_rb.html +0 -110
  262. data/doc/rdoc/files/lib/wee/core_ext_rb.html +0 -101
  263. data/doc/rdoc/files/lib/wee/core_rb.html +0 -124
  264. data/doc/rdoc/files/lib/wee/databases/og/application_rb.html +0 -101
  265. data/doc/rdoc/files/lib/wee/databases/og/old_scaffolder_rb.html +0 -101
  266. data/doc/rdoc/files/lib/wee/databases/og/scaffolder_rb.html +0 -115
  267. data/doc/rdoc/files/lib/wee/databases/og/session_rb.html +0 -101
  268. data/doc/rdoc/files/lib/wee/databases/og_rb.html +0 -111
  269. data/doc/rdoc/files/lib/wee/examples/calculator_rb.html +0 -107
  270. data/doc/rdoc/files/lib/wee/examples/counter_rb.html +0 -101
  271. data/doc/rdoc/files/lib/wee/examples/editable_counter_rb.html +0 -114
  272. data/doc/rdoc/files/lib/wee/examples/window_rb.html +0 -101
  273. data/doc/rdoc/files/lib/wee/idgen/md5_rb.html +0 -115
  274. data/doc/rdoc/files/lib/wee/idgen/simple_rb.html +0 -107
  275. data/doc/rdoc/files/lib/wee/pageless/application_rb.html +0 -108
  276. data/doc/rdoc/files/lib/wee/pageless/request_rb.html +0 -101
  277. data/doc/rdoc/files/lib/wee/pageless/session_rb.html +0 -109
  278. data/doc/rdoc/files/lib/wee/pageless_rb.html +0 -110
  279. data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +0 -101
  280. data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +0 -108
  281. data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +0 -108
  282. data/doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html +0 -101
  283. data/doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html +0 -101
  284. data/doc/rdoc/files/lib/wee/rendering/html/writer_rb.html +0 -108
  285. data/doc/rdoc/files/lib/wee/requesthandler_rb.html +0 -101
  286. data/doc/rdoc/files/lib/wee/skeleton/og/components/main_rb.html +0 -101
  287. data/doc/rdoc/files/lib/wee/skeleton/og/conf/db_rb.html +0 -114
  288. data/doc/rdoc/files/lib/wee/skeleton/og/models/recipe_rb.html +0 -101
  289. data/doc/rdoc/files/lib/wee/skeleton/og/run_rb.html +0 -115
  290. data/doc/rdoc/files/lib/wee/skeleton/simple/components/main_rb.html +0 -101
  291. data/doc/rdoc/files/lib/wee/skeleton/simple/run_rb.html +0 -111
  292. data/doc/rdoc/files/lib/wee/snapshot_ext_rb.html +0 -101
  293. data/doc/rdoc/files/lib/wee/snapshot_rb.html +0 -107
  294. data/doc/rdoc/files/lib/wee/stuff_rb.html +0 -144
  295. data/doc/rdoc/files/lib/wee/template_rb.html +0 -101
  296. data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +0 -101
  297. data/doc/rdoc/files/lib/wee/utils/cache_rb.html +0 -108
  298. data/doc/rdoc/files/lib/wee/utils/helper_rb.html +0 -101
  299. data/doc/rdoc/files/lib/wee/utils_rb.html +0 -110
  300. data/examples/ajax/ajax.js +0 -444
  301. data/examples/ajax/ajax.rb +0 -31
  302. data/examples/cc.rb +0 -74
  303. data/examples/dispatcher.rb +0 -37
  304. data/examples/draw.rb +0 -94
  305. data/examples/live-update.rb +0 -45
  306. data/examples/nitro/run.rb +0 -42
  307. data/examples/og-test.rb +0 -60
  308. data/examples/radio.rb +0 -44
  309. data/examples/test.rb +0 -39
  310. data/install.rb +0 -14
  311. data/lib/cache/cache.rb +0 -167
  312. data/lib/wee/abstractsession.rb +0 -96
  313. data/lib/wee/adaptors/fastcgi.rb +0 -76
  314. data/lib/wee/adaptors/nitro.rb +0 -155
  315. data/lib/wee/adaptors/rails.rb +0 -154
  316. data/lib/wee/adaptors/webrick.rb +0 -89
  317. data/lib/wee/components.rb +0 -7
  318. data/lib/wee/components/component_dispatcher.rb +0 -46
  319. data/lib/wee/components/form_decoration.rb +0 -7
  320. data/lib/wee/components/login_decoration.rb +0 -35
  321. data/lib/wee/components/page_decoration.rb +0 -14
  322. data/lib/wee/components/wrapper_decoration.rb +0 -7
  323. data/lib/wee/continuation.rb +0 -5
  324. data/lib/wee/continuation/core/component.rb +0 -56
  325. data/lib/wee/continuation/session.rb +0 -64
  326. data/lib/wee/core.rb +0 -16
  327. data/lib/wee/core/callback.rb +0 -121
  328. data/lib/wee/core/component.rb +0 -356
  329. data/lib/wee/core/componentrunner.rb +0 -73
  330. data/lib/wee/core/context.rb +0 -27
  331. data/lib/wee/core/decoration.rb +0 -138
  332. data/lib/wee/core/idgen.rb +0 -5
  333. data/lib/wee/core/page.rb +0 -1
  334. data/lib/wee/core/presenter.rb +0 -100
  335. data/lib/wee/core/renderer.rb +0 -23
  336. data/lib/wee/core/snapshot.rb +0 -21
  337. data/lib/wee/core/valueholder.rb +0 -19
  338. data/lib/wee/core_ext.rb +0 -122
  339. data/lib/wee/databases/og.rb +0 -4
  340. data/lib/wee/databases/og/application.rb +0 -3
  341. data/lib/wee/databases/og/old_scaffolder.rb +0 -98
  342. data/lib/wee/databases/og/scaffolder.rb +0 -255
  343. data/lib/wee/databases/og/session.rb +0 -9
  344. data/lib/wee/examples/calculator.rb +0 -70
  345. data/lib/wee/examples/counter.rb +0 -33
  346. data/lib/wee/idgen/md5.rb +0 -21
  347. data/lib/wee/idgen/sequential.rb +0 -11
  348. data/lib/wee/pageless.rb +0 -3
  349. data/lib/wee/pageless/application.rb +0 -13
  350. data/lib/wee/pageless/request.rb +0 -27
  351. data/lib/wee/pageless/session.rb +0 -74
  352. data/lib/wee/renderer/html/brushes.rb +0 -667
  353. data/lib/wee/renderer/html/canvas.rb +0 -265
  354. data/lib/wee/renderer/html/writer.rb +0 -80
  355. data/lib/wee/requesthandler.rb +0 -81
  356. data/lib/wee/skeleton/og/README +0 -38
  357. data/lib/wee/skeleton/og/components/main.rb +0 -20
  358. data/lib/wee/skeleton/og/conf/db.rb +0 -8
  359. data/lib/wee/skeleton/og/models/recipe.rb +0 -5
  360. data/lib/wee/skeleton/og/run.rb +0 -23
  361. data/lib/wee/skeleton/simple/README +0 -32
  362. data/lib/wee/skeleton/simple/components/main.rb +0 -25
  363. data/lib/wee/skeleton/simple/run.rb +0 -12
  364. data/lib/wee/snapshot_ext.rb +0 -41
  365. data/lib/wee/template.rb +0 -42
  366. data/lib/wee/utils.rb +0 -5
  367. data/lib/wee/utils/autoreload.rb +0 -56
  368. data/lib/wee/utils/cache.rb +0 -7
  369. data/lib/wee/utils/helper.rb +0 -51
@@ -1,31 +0,0 @@
1
- require 'rubygems'
2
- require 'wee'
3
- require 'wee/adaptors/webrick'
4
- require 'wee/utils'
5
-
6
- class AjaxTest < Wee::Component
7
-
8
- def render
9
- r.html {
10
- r.head {
11
- r.title("Ajax+Wee")
12
- r.javascript.src('/js/ajax.js')
13
- }
14
- r.body {
15
- r.h1 "Hello World from Wee!"
16
- r.anchor.id('tag').onclick_update('tag', :update).with('Halllllllooooo')
17
- }
18
- }
19
- end
20
-
21
- def update
22
- send_render_response {
23
- r.text "Live-updates works! This is no. #{ @live_updates = (@live_updates || 0) + 1 }"
24
- }
25
- end
26
- end
27
-
28
- Wee::WEBrickAdaptor.
29
- register('/app' => Wee::Utils.app_for(AjaxTest)).
30
- mount('/js', WEBrick::HTTPServlet::FileHandler, '.').
31
- start
@@ -1,74 +0,0 @@
1
- $LOAD_PATH.unshift << "../lib"
2
- require 'wee'
3
- require 'wee/continuation'
4
-
5
- class MessageBox < Wee::Component
6
- def initialize(text)
7
- super()
8
- @text = text
9
- end
10
-
11
- def render
12
- r.break
13
- r.text(@text)
14
- r.form do
15
- r.submit_button.value('OK').callback(:answer, true)
16
- r.space
17
- r.submit_button.value('Cancel').callback(:answer, false)
18
- end
19
- r.break
20
- end
21
- end
22
-
23
- class MessageBox2 < Wee::Component
24
- def initialize(text)
25
- super()
26
- @text = text
27
- end
28
-
29
- def render
30
- r.break
31
- r.text(@text)
32
- r.form do
33
- r.submit_button.value('OK')
34
- r.space
35
- r.submit_button.value('Cancel')
36
- end
37
- r.break
38
- end
39
- end
40
-
41
- class MainPage < Wee::Component
42
-
43
- def initialize
44
- super()
45
- @msgbox = MessageBox2.new("hallllo")
46
- children << @msgbox
47
- end
48
-
49
- def click
50
- if call MessageBox.new('Really quit?')
51
- call MessageBox.new('You clicked YES')
52
- else
53
- call MessageBox.new('You clicked Cancel')
54
- call MessageBox.new('super')
55
- end
56
- end
57
-
58
- def render
59
- r.page.title("Draw Test").with do
60
-
61
- r.break
62
- r.anchor.callback(:click).with('show')
63
- end
64
- end
65
-
66
- end
67
-
68
- if __FILE__ == $0
69
- require 'wee/adaptors/webrick'
70
- require 'wee/utils'
71
-
72
- app = Wee::Utils.app_for(MainPage)
73
- Wee::WEBrickAdaptor.register('/app' => app).start
74
- end
@@ -1,37 +0,0 @@
1
- require 'wee'
2
- require 'wee/examples/calculator'
3
- require 'wee/examples/counter'
4
-
5
- class Wee::Pager
6
- def render_arrow(sym, text, tooltip=text)
7
- index =
8
- case sym
9
- when :first
10
- 0
11
- when :prev
12
- @current_page - 1
13
- when :next
14
- @current_page + 1
15
- when :last
16
- last_page_index
17
- end
18
- r.anchor.info("pager/#{ index }").callback(sym).tooltip(tooltip).with { r.encode_text(text) }
19
- end
20
-
21
- def render_page_num(num, current)
22
- if current
23
- r.bold(num+1)
24
- else
25
- r.anchor.info("pager/#{ num }").callback(:goto, num).with(num+1)
26
- end
27
- end
28
- end
29
-
30
- comp = Wee::ComponentDispatcher.new
31
- comp.add_rule /calc/, Wee::Examples::Calculator.new
32
- comp.add_rule /pager\/(\d+)/, Wee::Pager.new(50) do |comp, match|
33
- comp.goto(Integer(match[1]))
34
- end
35
- comp.add_rule /(counter|)/, Wee::Examples::Counter.new
36
-
37
- Wee.run(comp)
@@ -1,94 +0,0 @@
1
- $LOAD_PATH.unshift << "../lib"
2
- require 'wee'
3
- require 'wee/adaptors/webrick'
4
- require 'wee/utils'
5
- require 'GD'
6
-
7
- class MainPage < Wee::Component
8
-
9
- def initialize
10
- @points = []
11
- end
12
-
13
- def backtrack_state(snap)
14
- snap.add(@points)
15
- end
16
-
17
- def create_image(points)
18
- im = GD::Image.newTrueColor(200,200)
19
-
20
- white = GD::Image.trueColor(255,255,255)
21
- black = GD::Image.trueColor(0,0,0)
22
- red = GD::Image.trueColor(255,0,0)
23
-
24
- im.transparent(white)
25
- im.filledRectangle(0,0,199,199,white)
26
- im.rectangle(0,0,199,199,black)
27
-
28
- points.each do |x,y|
29
- im.filledRectangle(x,y,x+10,y+10, red)
30
- end
31
-
32
- im.pngStr
33
- end
34
-
35
- def clear
36
- @points.clear
37
- end
38
-
39
- #def process_request(context)
40
- # query = context.request.unparsed_uri.split('?').last
41
- # @x, @y = query.split(",").map {|i| i.to_i} if query
42
- # super
43
- #end
44
-
45
- # TODO: move the above into method point (we need the current context,
46
- # Session.current_context)
47
- #def draw_point
48
- # @points << [@x, @y]
49
- #end
50
-
51
- def render
52
- r.page.title("Draw Test").with do
53
-
54
- ctx = r.context.context
55
- img_id = ctx.handler_registry.handler_id_for_resource(
56
- Wee::ResourceHandler.new(create_image(@points), 'image/png'))
57
-
58
- img_url = ctx.application.gen_resource_url(ctx.session_id, ctx.page_id, img_id)
59
-
60
- r.anchor.action(:draw_point).with {
61
- r.image.src(img_url).ismap("")
62
- }
63
-
64
- r.break
65
- r.anchor.action(:clear).with('Clear')
66
- end
67
- end
68
-
69
- end
70
-
71
- class MySession < Wee::Session
72
- def initialize
73
- super do
74
- self.root_component = MainPage.new
75
- self.page_store = Wee::Utils::LRUCache.new(10) # backtrack up to 10 pages
76
- end
77
- end
78
- end
79
-
80
- class MyApplication < Wee::Application
81
- def shutdown
82
- end
83
- end
84
-
85
- if __FILE__ == $0
86
- raise "this example does not work with the current version of Wee"
87
- Wee::Application.new {|app|
88
- app.name = 'Counter'
89
- app.path = '/app'
90
- app.session_class = MySession
91
- app.session_store = Wee::Utils::LRUCache.new(1000) # handle up to 1000 sessions
92
- app.dumpfile = ''
93
- }.start
94
- end
@@ -1,45 +0,0 @@
1
- require 'rubygems'
2
- require 'wee'
3
- require 'wee/adaptors/webrick'
4
- require 'wee/utils'
5
-
6
- class LiveUpdateTest < Wee::Component
7
- def initialize
8
- super
9
- add_decoration(Wee::PageDecoration.new("Hello World"))
10
- @live_updates = 0
11
- end
12
-
13
- def render
14
- r.h1 "Hello World from Wee!"
15
- r.anchor.callback { @live_updates += 1; do_live_update }.with('live update')
16
- end
17
-
18
- def render_live_update
19
- r.page { r.text "Live-updates works! This is no. #{ @live_updates }" }
20
- end
21
-
22
- def do_live_update
23
- # generate a response
24
- response = Wee::GenericResponse.new('text/html', '')
25
-
26
- # get the current context we are in
27
- context = session.current_context
28
-
29
- # a rendering context is needed to use 'r' (if you want, you can
30
- # simply omit this and just return the response with some html/xml filled
31
- # in.
32
- rendering_context = Wee::RenderingContext.new(context.request,
33
- context.response, session.current_callbacks,
34
- Wee::HtmlWriter.new(response.content))
35
-
36
- with_renderer_for(rendering_context) do
37
- # call your own render method for the live-update
38
- render_live_update
39
- end
40
-
41
- send_response(response)
42
- end
43
- end
44
-
45
- Wee::WEBrickAdaptor.register('/app' => Wee::Utils.app_for(LiveUpdateTest)).start
@@ -1,42 +0,0 @@
1
- require 'wee'
2
- require 'wee/adaptors/nitro'
3
- require 'wee/examples/calculator'
4
- require 'wee/examples/window'
5
-
6
- require 'rubygems'
7
- require 'nitro'
8
- require 'nitro/controller'
9
-
10
- class MyComponent < Wee::Component
11
- def initialize
12
- super
13
- add_decoration(Wee::FormDecoration.new)
14
- add_decoration(Wee::PageDecoration.new('Hello from Wee/Nitro!'))
15
-
16
- @windows = (0..2).map {|i|
17
- Wee::Examples::Window.new {|w|
18
- w.title = 'Calculator'
19
- w.pos_y = (i*200).to_s + "px"
20
- w.child = Wee::Examples::Calculator.new
21
- }
22
- }
23
- end
24
-
25
- def children
26
- @windows
27
- end
28
-
29
- def render
30
- @windows.each {|window| r.render window}
31
- end
32
- end
33
-
34
- class AppController < Nitro::Controller
35
- include Wee::Nitro::ControllerMixin
36
-
37
- scaffold_with_component do
38
- MyComponent.new
39
- end
40
- end
41
-
42
- Nitro.run(:host => '127.0.0.1', :port => 9999, :dispatcher => Nitro::Dispatcher.new('/' => AppController))
@@ -1,60 +0,0 @@
1
- # -----------------------------------------
2
- # The datamodel
3
- # -----------------------------------------
4
-
5
- require 'rubygems'
6
- require_gem 'og', '>= 0.21.0'
7
-
8
- class Customer < Og::Entity
9
- property :address, String, :sql => 'VARCHAR(100) NOT NULL'
10
- property :email, String, :sql => 'VARCHAR(50) NOT NULL'
11
- property :password, String, :sql => 'VARCHAR(10) NOT NULL', :ui => :password
12
-
13
- property :birth_date, Date, :label => 'Date of Birth'
14
- property :active, TrueClass
15
-
16
- validate_value :address
17
- validate_value :email
18
- validate_value :password
19
- end
20
-
21
- # -----------------------------------------
22
- # The Wee part
23
- # -----------------------------------------
24
-
25
- require 'wee'
26
-
27
- class CustomerList < Wee::Component
28
- def initialize
29
- super()
30
- add_decoration(Wee::PageDecoration.new("Hello World"))
31
-
32
- add_child(@customer_list = OgScaffolder.new(Customer))
33
- add_child(@customer_list2 = OgScaffolder.new(Customer))
34
- end
35
-
36
- def render
37
- r.render @customer_list
38
- r.render @customer_list2
39
- end
40
- end
41
-
42
- if __FILE__ == $0
43
- require 'wee/adaptors/webrick'
44
- require 'wee/utils'
45
- require 'wee/databases/og'
46
-
47
- DB_CONFIG = {
48
- :address => "localhost",
49
- :name => "mneumann",
50
- :store => "psql",
51
- :user => "mneumann",
52
- :password => "",
53
- #:destroy => true,
54
- :connection_count => 10
55
- }
56
-
57
- app = Wee::Utils.app_for(CustomerList, :application => OgApplication, :session => OgSession)
58
- app.db = Og.setup(DB_CONFIG)
59
- Wee::WEBrickAdaptor.register('/app' => app).start
60
- end
@@ -1,44 +0,0 @@
1
- require 'wee'
2
- require 'wee/adaptors/webrick'
3
- require 'wee/utils'
4
-
5
- class RadioTest < Wee::Component
6
- def initialize
7
- super
8
- add_decoration(Wee::PageDecoration.new("Radio Test"))
9
- end
10
-
11
- def render
12
- grp1 = r.new_radio_group
13
- grp2 = r.new_radio_group
14
-
15
- r.form do
16
- r.paragraph
17
- r.text "Group1"
18
- r.break
19
-
20
- r.text "R1: "
21
- r.radio_button.group(grp1).checked.callback { p "G1.R1" }
22
- r.break
23
-
24
- r.text "R2: "
25
- r.radio_button.group(grp1).callback { p "G1.R2" }
26
-
27
- r.paragraph
28
- r.text "Group2"
29
- r.break
30
-
31
- r.text "R1: "
32
- r.radio_button.group(grp2).checked.callback { p "G2.R1" }
33
- r.break
34
-
35
- r.text "R2: "
36
- r.radio_button.group(grp2).callback { p "G2.R2" }
37
-
38
- r.paragraph
39
- r.submit_button.value('Submit')
40
- end
41
- end
42
- end
43
-
44
- Wee::WEBrickAdaptor.register('/app' => Wee::Utils.app_for(RadioTest)).start
@@ -1,39 +0,0 @@
1
- #!/usr/bin/env ruby
2
- $LOAD_PATH.unshift << "../lib"
3
- require 'wee'
4
- require 'wee/examples/counter'
5
-
6
- class MainPage < Wee::Component
7
- def initialize
8
- super
9
- @counters = (1..10).map {|i| Wee::Examples::Counter.new(i)}
10
- children.push(*@counters)
11
- end
12
-
13
- def render
14
- r.page.title("Counter Test").with do
15
- @counters.each { |cnt| r.render(cnt); r.break }
16
- end
17
- end
18
- end
19
-
20
- class MySession < Wee::Session
21
- def initialize
22
- super do
23
- self.root_component = MainPage.new
24
- self.page_store = Wee::Utils::LRUCache.new(10) # backtrack up to 10 pages
25
- self.expire_after = 60
26
- end
27
- end
28
- end
29
-
30
- if __FILE__ == $0
31
- require 'wee/utils'
32
- require 'wee/adaptors/webrick'
33
- app = Wee::Application.new {|app|
34
- app.default_request_handler { MySession.new }
35
- app.id_generator = Wee::SequentialIdGenerator.new(rand(1_000_000))
36
- app.max_request_handlers = 2
37
- }
38
- Wee::WEBrickAdaptor.register('/app' => app).start
39
- end