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.
- data/README.rdoc +127 -0
- data/Rakefile +11 -32
- data/doc/rdoc/classes/Array.html +28 -24
- data/doc/rdoc/classes/Hash.html +28 -24
- data/doc/rdoc/classes/Object.html +37 -84
- data/doc/rdoc/classes/String.html +89 -21
- data/doc/rdoc/classes/Struct.html +32 -82
- data/doc/rdoc/classes/Wee.html +285 -86
- data/doc/rdoc/classes/Wee/AnswerDecoration.html +111 -48
- data/doc/rdoc/classes/Wee/{Context.html → AnswerDecoration/Answer.html} +61 -51
- data/doc/rdoc/classes/Wee/Application.html +161 -322
- data/doc/rdoc/classes/Wee/Application/SessionCache.html +162 -0
- data/doc/rdoc/classes/Wee/Brush.html +147 -62
- data/doc/rdoc/classes/{Enumerable.html → Wee/Brush/ActionInputTag.html} +68 -41
- data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +150 -100
- data/doc/rdoc/classes/Wee/Brush/CheckboxTag.html +132 -46
- data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +63 -41
- data/doc/rdoc/classes/Wee/Brush/FormTag.html +184 -78
- data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +48 -65
- data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +83 -37
- data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +334 -310
- data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +74 -54
- data/doc/rdoc/classes/Wee/Brush/HiddenInputTag.html +58 -43
- data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +64 -74
- data/doc/rdoc/classes/Wee/Brush/ImageTag.html +109 -86
- data/doc/rdoc/classes/Wee/Brush/InputTag.html +205 -45
- data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +96 -34
- data/doc/rdoc/classes/Wee/Brush/Page.html +129 -67
- data/doc/rdoc/classes/Wee/{Utils/LRUCache.html → Brush/PasswordInputTag.html} +65 -38
- data/doc/rdoc/classes/Wee/Brush/RadioButtonTag.html +132 -78
- data/doc/rdoc/classes/Wee/Brush/{RadioButtonTag/RadioGroup.html → RadioGroup.html} +91 -53
- data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +301 -127
- data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +96 -33
- data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +59 -44
- data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +94 -57
- data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +96 -33
- data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +181 -121
- data/doc/rdoc/classes/Wee/Brush/TableTag.html +94 -32
- data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +257 -71
- data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +58 -43
- data/doc/rdoc/classes/Wee/CallAnswerMixin.html +289 -0
- data/doc/rdoc/classes/Wee/CallbackMixin.html +233 -0
- data/doc/rdoc/classes/Wee/CallbackRegistry.html +179 -155
- data/doc/rdoc/classes/Wee/Callbacks.html +262 -0
- data/doc/rdoc/classes/Wee/Component.html +228 -779
- data/doc/rdoc/classes/Wee/Decoration.html +144 -159
- data/doc/rdoc/classes/Wee/DecorationMixin.html +340 -0
- data/doc/rdoc/classes/Wee/Delegate.html +119 -76
- data/doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html +64 -47
- data/doc/rdoc/classes/Wee/ErrorResponse.html +59 -62
- data/doc/rdoc/classes/Wee/FormDecoration.html +51 -37
- data/doc/rdoc/classes/Wee/GenericResponse.html +60 -35
- data/doc/rdoc/classes/Wee/HtmlCanvas.html +1000 -602
- data/doc/rdoc/classes/Wee/HtmlDocument.html +288 -0
- data/doc/rdoc/classes/Wee/HtmlWriter.html +227 -126
- data/doc/rdoc/classes/Wee/IdGenerator.html +60 -31
- data/doc/rdoc/classes/Wee/IdGenerator/Secure.html +282 -0
- data/doc/rdoc/classes/Wee/{SimpleIdGenerator.html → IdGenerator/Sequential.html} +76 -49
- data/doc/rdoc/classes/Wee/JQuery.html +221 -0
- data/doc/rdoc/classes/Wee/LRUCache.html +514 -0
- data/doc/rdoc/classes/Wee/LRUCache/Item.html +158 -0
- data/doc/rdoc/classes/Wee/ObjectSnapshotMixin.html +187 -0
- data/doc/rdoc/classes/Wee/PageDecoration.html +88 -59
- data/doc/rdoc/classes/Wee/Presenter.html +124 -704
- data/doc/rdoc/classes/Wee/RedirectResponse.html +64 -33
- data/doc/rdoc/classes/Wee/RefreshResponse.html +59 -44
- data/doc/rdoc/classes/Wee/Renderer.html +234 -54
- data/doc/rdoc/classes/Wee/Request.html +151 -286
- data/doc/rdoc/classes/Wee/Response.html +29 -212
- data/doc/rdoc/classes/Wee/Session.html +585 -360
- data/doc/rdoc/classes/Wee/{StateHolder.html → Session/AbortCallbackProcessing.html} +67 -40
- data/doc/rdoc/classes/Wee/Session/MutexSerializer.html +166 -0
- data/doc/rdoc/classes/{Cache/Strategy/LFU/Item.html → Wee/Session/Page.html} +26 -27
- data/doc/rdoc/classes/Wee/Session/ThreadSerializer.html +219 -0
- data/doc/rdoc/classes/Wee/State.html +307 -0
- data/doc/rdoc/classes/{Cache/Strategy/LRU/Item.html → Wee/State/Snapshot.html} +26 -27
- data/doc/rdoc/classes/{Cache/Strategy/Unbounded/Item.html → Wee/State/SnapshotIVars.html} +26 -27
- data/doc/rdoc/classes/Wee/StructSnapshotMixin.html +183 -0
- data/doc/rdoc/classes/Wee/WrapperDecoration.html +101 -35
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README_rdoc.html +243 -0
- data/doc/rdoc/files/lib/wee/application_rb.html +22 -30
- data/doc/rdoc/files/lib/wee/{page_rb.html → call_answer_rb.html} +14 -25
- data/doc/rdoc/files/lib/wee/callback_rb.html +12 -29
- data/doc/rdoc/files/lib/wee/component_rb.html +22 -27
- data/doc/rdoc/files/lib/wee/decoration_rb.html +19 -20
- data/doc/rdoc/files/lib/wee/{idgen_rb.html → html_brushes_rb.html} +14 -25
- data/doc/rdoc/files/lib/wee/html_canvas_rb.html +15 -23
- data/doc/rdoc/files/lib/wee/{abstractsession_rb.html → html_document_rb.html} +17 -25
- data/doc/rdoc/files/lib/wee/html_writer_rb.html +15 -23
- data/doc/rdoc/files/lib/wee/{webrick_rb.html → id_generator_rb.html} +19 -25
- data/doc/rdoc/files/lib/wee/{core/page_rb.html → jquery/jquery_rb.html} +14 -25
- data/doc/rdoc/files/lib/wee/{state_registry_rb.html → jquery_rb.html} +17 -27
- data/doc/rdoc/files/lib/{cache/cache_rb.html → wee/lru_cache_rb.html} +14 -25
- data/doc/rdoc/files/lib/wee/presenter_rb.html +12 -34
- data/doc/rdoc/files/lib/wee/{holder_rb.html → renderer_rb.html} +14 -25
- data/doc/rdoc/files/lib/wee/request_rb.html +18 -32
- data/doc/rdoc/files/lib/wee/response_rb.html +17 -24
- data/doc/rdoc/files/lib/wee/session_rb.html +21 -23
- data/doc/rdoc/files/lib/wee/state_rb.html +90 -0
- data/doc/rdoc/files/lib/wee_rb.html +48 -40
- data/doc/rdoc/fr_class_index.html +111 -75
- data/doc/rdoc/fr_file_index.html +46 -76
- data/doc/rdoc/fr_method_index.html +473 -480
- data/doc/rdoc/index.html +6 -9
- data/doc/rdoc/rdoc-style.css +210 -119
- data/examples/ObjectSpaceBrowser.rb +33 -23
- data/examples/ajax.rb +71 -0
- data/examples/continuations.rb +28 -0
- data/examples/demo.rb +92 -36
- data/examples/demo/calculator.rb +63 -0
- data/examples/demo/calendar.rb +42 -55
- data/examples/demo/counter.rb +38 -0
- data/{lib/wee/examples → examples/demo}/editable_counter.rb +11 -6
- data/examples/demo/example.rb +28 -24
- data/examples/demo/file_upload.rb +19 -0
- data/{lib/wee/components → examples/demo}/messagebox.rb +3 -3
- data/examples/demo/radio.rb +33 -0
- data/{lib/wee/examples → examples/demo}/window.rb +15 -10
- data/examples/hw.rb +3 -4
- data/{lib/wee/components → examples}/pager.rb +14 -14
- data/lib/wee.rb +48 -25
- data/lib/wee/application.rb +69 -131
- data/lib/wee/call_answer.rb +118 -0
- data/lib/wee/callback.rb +88 -0
- data/lib/wee/component.rb +141 -0
- data/lib/wee/decoration.rb +242 -0
- data/lib/wee/html_brushes.rb +725 -0
- data/lib/wee/html_canvas.rb +241 -0
- data/lib/wee/html_document.rb +45 -0
- data/lib/wee/html_writer.rb +71 -0
- data/lib/wee/id_generator.rb +70 -0
- data/lib/wee/jquery.rb +1 -0
- data/lib/wee/jquery/jquery.rb +17 -0
- data/lib/wee/jquery/public/jquery-1.3.2.min.js +19 -0
- data/lib/wee/jquery/public/wee-jquery.js +19 -0
- data/lib/wee/lru_cache.rb +89 -0
- data/lib/wee/presenter.rb +43 -0
- data/lib/wee/renderer.rb +65 -0
- data/lib/wee/request.rb +37 -113
- data/lib/wee/response.rb +43 -70
- data/lib/wee/session.rb +304 -113
- data/lib/wee/state.rb +85 -0
- data/test/component_spec.rb +17 -0
- data/wee.gemspec +4 -3
- metadata +249 -452
- data/ChangeLog +0 -657
- data/INSTALL +0 -17
- data/README +0 -272
- data/TODO +0 -142
- data/benchmark/Centrino1300/result.2000.counter.action +0 -45
- data/benchmark/Centrino1300/result.2000.counter.render +0 -43
- data/benchmark/Centrino1300/result.2000.filehandler +0 -43
- data/benchmark/Centrino600/result.2000.counter.action +0 -47
- data/benchmark/Centrino600/result.2000.counter.render +0 -45
- data/benchmark/Centrino600/result.2000.filehandler +0 -43
- data/benchmark/Makefile +0 -53
- data/benchmark/counter.rb +0 -77
- data/benchmark/filehandler.rb +0 -6
- data/benchmark/report_req.rb +0 -12
- data/bin/wee +0 -100
- data/doc/rdoc/classes/ActionView.html +0 -107
- data/doc/rdoc/classes/ActionView/Base.html +0 -133
- data/doc/rdoc/classes/Cache.html +0 -126
- data/doc/rdoc/classes/Cache/StorageCache.html +0 -320
- data/doc/rdoc/classes/Cache/Strategy.html +0 -128
- data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +0 -269
- data/doc/rdoc/classes/Cache/Strategy/LFU.html +0 -238
- data/doc/rdoc/classes/Cache/Strategy/LRU.html +0 -238
- data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +0 -225
- data/doc/rdoc/classes/LiteralMethod.html +0 -196
- data/doc/rdoc/classes/Main.html +0 -289
- data/doc/rdoc/classes/OgApplication.html +0 -126
- data/doc/rdoc/classes/OgScaffolder.html +0 -827
- data/doc/rdoc/classes/OgScaffolder/Editor.html +0 -565
- data/doc/rdoc/classes/OgSession.html +0 -172
- data/doc/rdoc/classes/Recipe.html +0 -113
- data/doc/rdoc/classes/Wee/AbstractSession.html +0 -502
- data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +0 -148
- data/doc/rdoc/classes/Wee/Brush/ActionMixin.html +0 -146
- data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +0 -154
- data/doc/rdoc/classes/Wee/Brush/AssignMixin.html +0 -141
- data/doc/rdoc/classes/Wee/Brush/CallbackMixin.html +0 -141
- data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +0 -148
- data/doc/rdoc/classes/Wee/Brush/SelectListTag/SelectListCallback.html +0 -158
- data/doc/rdoc/classes/Wee/Brush/ToCallback.html +0 -146
- data/doc/rdoc/classes/Wee/Callback.html +0 -231
- data/doc/rdoc/classes/Wee/CallbackStream.html +0 -227
- data/doc/rdoc/classes/Wee/Canvas.html +0 -235
- data/doc/rdoc/classes/Wee/CanvasMixin.html +0 -225
- data/doc/rdoc/classes/Wee/Component/OnAnswer.html +0 -153
- data/doc/rdoc/classes/Wee/ComponentDispatcher.html +0 -289
- data/doc/rdoc/classes/Wee/ComponentRunner.html +0 -321
- data/doc/rdoc/classes/Wee/ErrorPage.html +0 -175
- data/doc/rdoc/classes/Wee/Examples.html +0 -114
- data/doc/rdoc/classes/Wee/Examples/Calculator.html +0 -319
- data/doc/rdoc/classes/Wee/Examples/Counter.html +0 -289
- data/doc/rdoc/classes/Wee/Examples/EditableCounter.html +0 -210
- data/doc/rdoc/classes/Wee/Examples/Window.html +0 -346
- data/doc/rdoc/classes/Wee/FastCGIAdaptor.html +0 -227
- data/doc/rdoc/classes/Wee/Helper.html +0 -148
- data/doc/rdoc/classes/Wee/HtmlCanvasRenderer.html +0 -1230
- data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +0 -198
- data/doc/rdoc/classes/Wee/LoginDecoration.html +0 -261
- data/doc/rdoc/classes/Wee/Md5IdGenerator.html +0 -181
- data/doc/rdoc/classes/Wee/MessageBox.html +0 -180
- data/doc/rdoc/classes/Wee/MethodCallback.html +0 -193
- data/doc/rdoc/classes/Wee/Nitro.html +0 -114
- data/doc/rdoc/classes/Wee/Nitro/ControllerClassMixin.html +0 -192
- data/doc/rdoc/classes/Wee/Nitro/ControllerMixin.html +0 -345
- data/doc/rdoc/classes/Wee/Nitro/FormTag.html +0 -155
- data/doc/rdoc/classes/Wee/Nitro/HtmlCanvasRenderer.html +0 -178
- data/doc/rdoc/classes/Wee/Page.html +0 -115
- data/doc/rdoc/classes/Wee/PagelessApplication.html +0 -154
- data/doc/rdoc/classes/Wee/PagelessComponentDriver.html +0 -296
- data/doc/rdoc/classes/Wee/PagelessRequest.html +0 -208
- data/doc/rdoc/classes/Wee/PagelessSession.html +0 -359
- data/doc/rdoc/classes/Wee/Pager.html +0 -534
- data/doc/rdoc/classes/Wee/Rails.html +0 -114
- data/doc/rdoc/classes/Wee/Rails/ControllerClassMixin.html +0 -192
- data/doc/rdoc/classes/Wee/Rails/ControllerMixin.html +0 -342
- data/doc/rdoc/classes/Wee/Rails/FormTag.html +0 -155
- data/doc/rdoc/classes/Wee/Rails/HtmlCanvasRenderer.html +0 -177
- data/doc/rdoc/classes/Wee/RenderingContext.html +0 -283
- data/doc/rdoc/classes/Wee/RequestHandler.html +0 -341
- data/doc/rdoc/classes/Wee/Snapshot.html +0 -211
- data/doc/rdoc/classes/Wee/StateRegistry.html +0 -434
- data/doc/rdoc/classes/Wee/StateRegistry/Snapshot.html +0 -320
- data/doc/rdoc/classes/Wee/StateRegistry/WithObject.html +0 -153
- data/doc/rdoc/classes/Wee/Utils.html +0 -300
- data/doc/rdoc/classes/Wee/ValueHolder.html +0 -220
- data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +0 -368
- data/doc/rdoc/files/INSTALL.html +0 -130
- data/doc/rdoc/files/README.html +0 -471
- data/doc/rdoc/files/lib/wee/adaptors/fastcgi_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/adaptors/nitro_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/adaptors/rails_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/component_ext_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/component_dispatcher_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/components/form_decoration_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/login_decoration_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/messagebox_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/page_decoration_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/pager_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components/wrapper_decoration_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/components_rb.html +0 -114
- data/doc/rdoc/files/lib/wee/context_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/continuation/core/component_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/continuation/session_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/continuation_rb.html +0 -116
- data/doc/rdoc/files/lib/wee/core/callback_rb.html +0 -115
- data/doc/rdoc/files/lib/wee/core/component_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/core/componentrunner_rb.html +0 -110
- data/doc/rdoc/files/lib/wee/core/context_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/core/decoration_rb.html +0 -133
- data/doc/rdoc/files/lib/wee/core/idgen_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/core/presenter_rb.html +0 -112
- data/doc/rdoc/files/lib/wee/core/renderer_rb.html +0 -107
- data/doc/rdoc/files/lib/wee/core/snapshot_rb.html +0 -113
- data/doc/rdoc/files/lib/wee/core/valueholder_rb.html +0 -110
- data/doc/rdoc/files/lib/wee/core_ext_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/core_rb.html +0 -124
- data/doc/rdoc/files/lib/wee/databases/og/application_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/databases/og/old_scaffolder_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/databases/og/scaffolder_rb.html +0 -115
- data/doc/rdoc/files/lib/wee/databases/og/session_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/databases/og_rb.html +0 -111
- data/doc/rdoc/files/lib/wee/examples/calculator_rb.html +0 -107
- data/doc/rdoc/files/lib/wee/examples/counter_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/examples/editable_counter_rb.html +0 -114
- data/doc/rdoc/files/lib/wee/examples/window_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/idgen/md5_rb.html +0 -115
- data/doc/rdoc/files/lib/wee/idgen/simple_rb.html +0 -107
- data/doc/rdoc/files/lib/wee/pageless/application_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/pageless/request_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/pageless/session_rb.html +0 -109
- data/doc/rdoc/files/lib/wee/pageless_rb.html +0 -110
- data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/rendering/html/writer_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/requesthandler_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/skeleton/og/components/main_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/skeleton/og/conf/db_rb.html +0 -114
- data/doc/rdoc/files/lib/wee/skeleton/og/models/recipe_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/skeleton/og/run_rb.html +0 -115
- data/doc/rdoc/files/lib/wee/skeleton/simple/components/main_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/skeleton/simple/run_rb.html +0 -111
- data/doc/rdoc/files/lib/wee/snapshot_ext_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/snapshot_rb.html +0 -107
- data/doc/rdoc/files/lib/wee/stuff_rb.html +0 -144
- data/doc/rdoc/files/lib/wee/template_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/utils/autoreload_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/utils/cache_rb.html +0 -108
- data/doc/rdoc/files/lib/wee/utils/helper_rb.html +0 -101
- data/doc/rdoc/files/lib/wee/utils_rb.html +0 -110
- data/examples/ajax/ajax.js +0 -444
- data/examples/ajax/ajax.rb +0 -31
- data/examples/cc.rb +0 -74
- data/examples/dispatcher.rb +0 -37
- data/examples/draw.rb +0 -94
- data/examples/live-update.rb +0 -45
- data/examples/nitro/run.rb +0 -42
- data/examples/og-test.rb +0 -60
- data/examples/radio.rb +0 -44
- data/examples/test.rb +0 -39
- data/install.rb +0 -14
- data/lib/cache/cache.rb +0 -167
- data/lib/wee/abstractsession.rb +0 -96
- data/lib/wee/adaptors/fastcgi.rb +0 -76
- data/lib/wee/adaptors/nitro.rb +0 -155
- data/lib/wee/adaptors/rails.rb +0 -154
- data/lib/wee/adaptors/webrick.rb +0 -89
- data/lib/wee/components.rb +0 -7
- data/lib/wee/components/component_dispatcher.rb +0 -46
- data/lib/wee/components/form_decoration.rb +0 -7
- data/lib/wee/components/login_decoration.rb +0 -35
- data/lib/wee/components/page_decoration.rb +0 -14
- data/lib/wee/components/wrapper_decoration.rb +0 -7
- data/lib/wee/continuation.rb +0 -5
- data/lib/wee/continuation/core/component.rb +0 -56
- data/lib/wee/continuation/session.rb +0 -64
- data/lib/wee/core.rb +0 -16
- data/lib/wee/core/callback.rb +0 -121
- data/lib/wee/core/component.rb +0 -356
- data/lib/wee/core/componentrunner.rb +0 -73
- data/lib/wee/core/context.rb +0 -27
- data/lib/wee/core/decoration.rb +0 -138
- data/lib/wee/core/idgen.rb +0 -5
- data/lib/wee/core/page.rb +0 -1
- data/lib/wee/core/presenter.rb +0 -100
- data/lib/wee/core/renderer.rb +0 -23
- data/lib/wee/core/snapshot.rb +0 -21
- data/lib/wee/core/valueholder.rb +0 -19
- data/lib/wee/core_ext.rb +0 -122
- data/lib/wee/databases/og.rb +0 -4
- data/lib/wee/databases/og/application.rb +0 -3
- data/lib/wee/databases/og/old_scaffolder.rb +0 -98
- data/lib/wee/databases/og/scaffolder.rb +0 -255
- data/lib/wee/databases/og/session.rb +0 -9
- data/lib/wee/examples/calculator.rb +0 -70
- data/lib/wee/examples/counter.rb +0 -33
- data/lib/wee/idgen/md5.rb +0 -21
- data/lib/wee/idgen/sequential.rb +0 -11
- data/lib/wee/pageless.rb +0 -3
- data/lib/wee/pageless/application.rb +0 -13
- data/lib/wee/pageless/request.rb +0 -27
- data/lib/wee/pageless/session.rb +0 -74
- data/lib/wee/renderer/html/brushes.rb +0 -667
- data/lib/wee/renderer/html/canvas.rb +0 -265
- data/lib/wee/renderer/html/writer.rb +0 -80
- data/lib/wee/requesthandler.rb +0 -81
- data/lib/wee/skeleton/og/README +0 -38
- data/lib/wee/skeleton/og/components/main.rb +0 -20
- data/lib/wee/skeleton/og/conf/db.rb +0 -8
- data/lib/wee/skeleton/og/models/recipe.rb +0 -5
- data/lib/wee/skeleton/og/run.rb +0 -23
- data/lib/wee/skeleton/simple/README +0 -32
- data/lib/wee/skeleton/simple/components/main.rb +0 -25
- data/lib/wee/skeleton/simple/run.rb +0 -12
- data/lib/wee/snapshot_ext.rb +0 -41
- data/lib/wee/template.rb +0 -42
- data/lib/wee/utils.rb +0 -5
- data/lib/wee/utils/autoreload.rb +0 -56
- data/lib/wee/utils/cache.rb +0 -7
- data/lib/wee/utils/helper.rb +0 -51
data/README.rdoc
ADDED
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
= Wee Web Framework
|
|
2
|
+
|
|
3
|
+
== Copyright and License
|
|
4
|
+
|
|
5
|
+
Copyright (c) 2004, 2005, 2009 by Michael Neumann (mneumann@ntecs.de).
|
|
6
|
+
|
|
7
|
+
Released under the same terms of license as Ruby.
|
|
8
|
+
|
|
9
|
+
== Introduction
|
|
10
|
+
|
|
11
|
+
Wee is a light-weight, very high-level and modern web-framework that makes
|
|
12
|
+
<b>W</b>eb <b>e</b>ngineering <b>e</b>asy. It mainly inherits many ideas and
|
|
13
|
+
features from Seaside[http://seaside.st/], but was written from scratch
|
|
14
|
+
without ever looking at the Seaside (or any other) sources. All code was
|
|
15
|
+
developed from ideas and lots of discussions with Avi Bryant.
|
|
16
|
+
|
|
17
|
+
== Features
|
|
18
|
+
|
|
19
|
+
=== Reusable components
|
|
20
|
+
|
|
21
|
+
Wee has _real_ components, which are like widgets in a GUI. Once written, you
|
|
22
|
+
can use them everywhere. They are completely independent and do not interfere
|
|
23
|
+
with other components. Components encapsulate state, a view and actions. Of
|
|
24
|
+
course you can use an external model or use templates for rendering.
|
|
25
|
+
|
|
26
|
+
=== Backtracking
|
|
27
|
+
|
|
28
|
+
See the <i>What is backtracking?</i> section below. In short, backtracking lets
|
|
29
|
+
the browser's back and forward-button play well together with your application.
|
|
30
|
+
|
|
31
|
+
=== Clean and concise
|
|
32
|
+
|
|
33
|
+
Wee is well thought out, is written in *and* supports clean and concise code.
|
|
34
|
+
Furthermore I think most parts are now very well documented.
|
|
35
|
+
|
|
36
|
+
=== Templating-independent
|
|
37
|
+
|
|
38
|
+
Wee does not depend on a special templating-engine. You can use a different
|
|
39
|
+
templating engine for each component if you want.
|
|
40
|
+
|
|
41
|
+
=== Powerful programmatic HTML generation
|
|
42
|
+
|
|
43
|
+
Wee ships with an easy to use and very powerful programmatic HTML-generation
|
|
44
|
+
library. For example you can create a select list easily with this piece of
|
|
45
|
+
code:
|
|
46
|
+
|
|
47
|
+
# select an object from these items
|
|
48
|
+
items = [1, 2, 3, 4]
|
|
49
|
+
|
|
50
|
+
# the labels shown to the user
|
|
51
|
+
labels = items.map {|i| i.to_s}
|
|
52
|
+
|
|
53
|
+
# render it
|
|
54
|
+
r.select_list(items).labels(labels).callback {|choosen| p choosen}
|
|
55
|
+
|
|
56
|
+
# render a multi-select list, with objects 2 and 4 selected
|
|
57
|
+
r.select_list(items).multi.labels(labels).selected([2,4])
|
|
58
|
+
|
|
59
|
+
The callback is called with the selected objects from the _items_ array. Items
|
|
60
|
+
can be any object, even whole components:
|
|
61
|
+
|
|
62
|
+
labels = ["msg1", "msg2"]
|
|
63
|
+
items = labels.collect {|m| MessageBox.new(m)}
|
|
64
|
+
r.select_list(items).labels(labels).callback {|choosen| call choosen.first}
|
|
65
|
+
|
|
66
|
+
== Observations and Limitations
|
|
67
|
+
|
|
68
|
+
* Components are thread-safe by nature as a fresh components-tree is created
|
|
69
|
+
for each session and requests inside a session are serialized.
|
|
70
|
+
|
|
71
|
+
== What is backtracking?
|
|
72
|
+
|
|
73
|
+
If you want, you can make the back-button of your browser work correctly
|
|
74
|
+
together with your web-application. Imagine you have a simple counter
|
|
75
|
+
application, which shows the current count and two links _inc_ and _dec_ with
|
|
76
|
+
which you can increase or decrease the current count. Starting with an inital
|
|
77
|
+
count of 0 you increase the counter up to 8, then click three times the back
|
|
78
|
+
button of your browser (now displays 5). Finally you decrease by one and
|
|
79
|
+
your counter shows what you'd have expected: 4. In contrast, traditional
|
|
80
|
+
web applications would have shown 7, because the back button usually does
|
|
81
|
+
not trigger a HTTP request and as such the server-side state still has
|
|
82
|
+
a value of 8 for the counter when the request to decrease comes in.
|
|
83
|
+
|
|
84
|
+
The solution to this problem is to take snapshots of the components state
|
|
85
|
+
after an action is performed and restoring the state before peforming
|
|
86
|
+
actions. Each action generates a new state, which is indicated by
|
|
87
|
+
a so-called <i>page-id</i> within the URL.
|
|
88
|
+
|
|
89
|
+
== Decorations
|
|
90
|
+
|
|
91
|
+
Decorations are used to modify the look and behaviour of a component without
|
|
92
|
+
modifying the components tree itself. A component can have more than one
|
|
93
|
+
decoration. Decorations are implemented as a linked list (Wee::Decoration#next
|
|
94
|
+
points to the next decoration), starting at Wee::Component#decoration, which
|
|
95
|
+
either points to the next decoration in the chain, or to itself.
|
|
96
|
+
|
|
97
|
+
== The request/response cycle
|
|
98
|
+
|
|
99
|
+
The request/response cycle in Wee is actually split into two separate phases.
|
|
100
|
+
|
|
101
|
+
=== Render Phase
|
|
102
|
+
|
|
103
|
+
The rendering phase is assumed to be side-effect free! So, you as a programmer
|
|
104
|
+
should take care to meet this assumption. Rendering is performed by method
|
|
105
|
+
Wee::Component#render_on.
|
|
106
|
+
|
|
107
|
+
=== Action Phase (Invoking Callbacks)
|
|
108
|
+
|
|
109
|
+
Possible sources for callbacks are links (anchors) and all kinds of
|
|
110
|
+
form-elements like submit buttons, input-fields etc. There are two different
|
|
111
|
+
kinds of callbacks:
|
|
112
|
+
|
|
113
|
+
* Input callbacks (input-fields)
|
|
114
|
+
|
|
115
|
+
* Action callbacks (anchor, submit-button)
|
|
116
|
+
|
|
117
|
+
The distinction between input and action callbacks is important, as action
|
|
118
|
+
callbacks might depend on values of input-fields being assigned to instance
|
|
119
|
+
variables of the controlling component. Hence, Wee first invokes all input
|
|
120
|
+
callbacks before any action callback is triggered. Callback processing
|
|
121
|
+
is performed by method Wee::Component#process_callbacks.
|
|
122
|
+
|
|
123
|
+
The result of the action phase is an updated components state. As such, a
|
|
124
|
+
snapshot is taken of the new state and stored under a new page-id. Then, a
|
|
125
|
+
redirect requests is sent back to the client, including this new page-id.
|
|
126
|
+
The client automatically follows this redirect and triggers a render phase of
|
|
127
|
+
the new page.
|
data/Rakefile
CHANGED
|
@@ -1,46 +1,25 @@
|
|
|
1
1
|
require 'rake/rdoctask'
|
|
2
|
-
require 'rake/testtask'
|
|
3
2
|
|
|
4
3
|
Rake::RDocTask.new do |rd|
|
|
5
|
-
rd.main = "README"
|
|
6
|
-
rd.rdoc_dir = 'doc/
|
|
7
|
-
rd.rdoc_files.include('lib/**/*.rb', 'README'
|
|
8
|
-
rd.options << '--
|
|
4
|
+
rd.main = "README.rdoc"
|
|
5
|
+
rd.rdoc_dir = 'doc/rdoc'
|
|
6
|
+
rd.rdoc_files.include('lib/**/*.rb', 'README.rdoc')
|
|
7
|
+
rd.options << '--inline-source'
|
|
8
|
+
rd.options << '--all'
|
|
9
|
+
rd.options << '--accessor=html_attr=HtmlAttribute'
|
|
10
|
+
rd.options << '--accessor=generic_tag=GenericTagBrush'
|
|
11
|
+
rd.options << '--accessor=generic_single_tag=GenericSingleTagBrush'
|
|
12
|
+
rd.options << '--accessor=brush_tag=Brush'
|
|
9
13
|
end
|
|
10
14
|
|
|
11
|
-
task :
|
|
12
|
-
sh '
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
Rake::TestTask.new do |t|
|
|
16
|
-
t.test_files = FileList['test/test*.rb']
|
|
17
|
-
t.verbose = true
|
|
15
|
+
task :test do
|
|
16
|
+
sh 'mspec -I./lib -f s test/component_spec.rb'
|
|
18
17
|
end
|
|
19
18
|
|
|
20
19
|
task :package do
|
|
21
20
|
sh 'gem build wee.gemspec'
|
|
22
21
|
end
|
|
23
22
|
|
|
24
|
-
task :gem_install => [:package] do
|
|
25
|
-
sh '(yes | gem uninstall wee) || true'
|
|
26
|
-
sh 'gem install --no-rdoc wee-*.gem'
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
task :install do
|
|
30
|
-
ruby 'install.rb'
|
|
31
|
-
end
|
|
32
|
-
|
|
33
|
-
task :tag do
|
|
34
|
-
if File.read('lib/wee.rb') =~ /Version\s+=\s+"(\d+\.\d+\.\d+)"/
|
|
35
|
-
version = $1
|
|
36
|
-
else
|
|
37
|
-
raise "no version"
|
|
38
|
-
end
|
|
39
|
-
baseurl = "svn+ssh://ntecs.de/data/projects/svn/public/Wee"
|
|
40
|
-
|
|
41
|
-
sh "svn cp -m 'tagged #{ version }' #{ baseurl }/trunk #{ baseurl }/tags/wee-#{ version }"
|
|
42
|
-
end
|
|
43
|
-
|
|
44
23
|
task :clean => [:clobber_rdoc]
|
|
45
24
|
|
|
46
25
|
task :default => [:test, :rdoc, :clean]
|
data/doc/rdoc/classes/Array.html
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
6
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
4
|
<head>
|
|
8
|
-
<title>Class: Array</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
|
5
|
+
<title>Class: Array [RDoc Documentation]</title>
|
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
7
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
8
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
9
|
<script type="text/javascript">
|
|
@@ -25,7 +22,7 @@
|
|
|
25
22
|
return false;
|
|
26
23
|
|
|
27
24
|
elemStyle = elem.style;
|
|
28
|
-
|
|
25
|
+
|
|
29
26
|
if ( elemStyle.display != "block" ) {
|
|
30
27
|
elemStyle.display = "block"
|
|
31
28
|
} else {
|
|
@@ -34,10 +31,10 @@
|
|
|
34
31
|
|
|
35
32
|
return true;
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
|
|
38
35
|
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }
|
|
40
|
-
|
|
36
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
|
37
|
+
|
|
41
38
|
// ]]>
|
|
42
39
|
</script>
|
|
43
40
|
|
|
@@ -45,7 +42,6 @@
|
|
|
45
42
|
<body>
|
|
46
43
|
|
|
47
44
|
|
|
48
|
-
|
|
49
45
|
<div id="classHeader">
|
|
50
46
|
<table class="header-table">
|
|
51
47
|
<tr class="top-aligned-row">
|
|
@@ -55,45 +51,56 @@
|
|
|
55
51
|
<tr class="top-aligned-row">
|
|
56
52
|
<td><strong>In:</strong></td>
|
|
57
53
|
<td>
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
<a href="../files/lib/wee/state_rb.html">
|
|
57
|
+
|
|
58
|
+
lib/wee/state.rb
|
|
59
|
+
|
|
60
60
|
</a>
|
|
61
|
+
|
|
62
|
+
|
|
61
63
|
<br />
|
|
64
|
+
|
|
62
65
|
</td>
|
|
63
66
|
</tr>
|
|
64
67
|
|
|
68
|
+
|
|
65
69
|
<tr class="top-aligned-row">
|
|
66
70
|
<td><strong>Parent:</strong></td>
|
|
67
71
|
<td>
|
|
72
|
+
|
|
68
73
|
<a href="Object.html">
|
|
74
|
+
|
|
69
75
|
Object
|
|
76
|
+
|
|
70
77
|
</a>
|
|
78
|
+
|
|
71
79
|
</td>
|
|
72
80
|
</tr>
|
|
81
|
+
|
|
73
82
|
</table>
|
|
74
83
|
</div>
|
|
75
84
|
<!-- banner header -->
|
|
76
85
|
|
|
77
86
|
<div id="bodyContent">
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
81
88
|
<div id="contextContent">
|
|
82
89
|
|
|
83
|
-
|
|
84
|
-
|
|
85
90
|
</div>
|
|
86
91
|
|
|
87
92
|
|
|
88
93
|
</div>
|
|
89
94
|
|
|
90
|
-
|
|
91
95
|
<!-- if includes -->
|
|
96
|
+
|
|
92
97
|
<div id="includes">
|
|
93
98
|
<h3 class="section-bar">Included Modules</h3>
|
|
94
99
|
|
|
95
100
|
<div id="includes-list">
|
|
101
|
+
|
|
96
102
|
<span class="include-name"><a href="Wee/DupReplaceSnapshotMixin.html">Wee::DupReplaceSnapshotMixin</a></span>
|
|
103
|
+
|
|
97
104
|
</div>
|
|
98
105
|
</div>
|
|
99
106
|
|
|
@@ -102,19 +109,16 @@
|
|
|
102
109
|
|
|
103
110
|
|
|
104
111
|
|
|
105
|
-
|
|
106
|
-
|
|
112
|
+
<!-- if method_list -->
|
|
107
113
|
|
|
108
114
|
|
|
109
|
-
<!-- if method_list -->
|
|
110
115
|
|
|
111
116
|
|
|
112
117
|
</div>
|
|
113
118
|
|
|
114
|
-
|
|
115
119
|
<div id="validator-badges">
|
|
116
120
|
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
117
121
|
</div>
|
|
118
122
|
|
|
119
123
|
</body>
|
|
120
|
-
</html>
|
|
124
|
+
</html>
|
data/doc/rdoc/classes/Hash.html
CHANGED
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
6
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
4
|
<head>
|
|
8
|
-
<title>Class: Hash</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
|
5
|
+
<title>Class: Hash [RDoc Documentation]</title>
|
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
7
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
8
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
9
|
<script type="text/javascript">
|
|
@@ -25,7 +22,7 @@
|
|
|
25
22
|
return false;
|
|
26
23
|
|
|
27
24
|
elemStyle = elem.style;
|
|
28
|
-
|
|
25
|
+
|
|
29
26
|
if ( elemStyle.display != "block" ) {
|
|
30
27
|
elemStyle.display = "block"
|
|
31
28
|
} else {
|
|
@@ -34,10 +31,10 @@
|
|
|
34
31
|
|
|
35
32
|
return true;
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
|
|
38
35
|
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }
|
|
40
|
-
|
|
36
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
|
37
|
+
|
|
41
38
|
// ]]>
|
|
42
39
|
</script>
|
|
43
40
|
|
|
@@ -45,7 +42,6 @@
|
|
|
45
42
|
<body>
|
|
46
43
|
|
|
47
44
|
|
|
48
|
-
|
|
49
45
|
<div id="classHeader">
|
|
50
46
|
<table class="header-table">
|
|
51
47
|
<tr class="top-aligned-row">
|
|
@@ -55,45 +51,56 @@
|
|
|
55
51
|
<tr class="top-aligned-row">
|
|
56
52
|
<td><strong>In:</strong></td>
|
|
57
53
|
<td>
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
<a href="../files/lib/wee/state_rb.html">
|
|
57
|
+
|
|
58
|
+
lib/wee/state.rb
|
|
59
|
+
|
|
60
60
|
</a>
|
|
61
|
+
|
|
62
|
+
|
|
61
63
|
<br />
|
|
64
|
+
|
|
62
65
|
</td>
|
|
63
66
|
</tr>
|
|
64
67
|
|
|
68
|
+
|
|
65
69
|
<tr class="top-aligned-row">
|
|
66
70
|
<td><strong>Parent:</strong></td>
|
|
67
71
|
<td>
|
|
72
|
+
|
|
68
73
|
<a href="Object.html">
|
|
74
|
+
|
|
69
75
|
Object
|
|
76
|
+
|
|
70
77
|
</a>
|
|
78
|
+
|
|
71
79
|
</td>
|
|
72
80
|
</tr>
|
|
81
|
+
|
|
73
82
|
</table>
|
|
74
83
|
</div>
|
|
75
84
|
<!-- banner header -->
|
|
76
85
|
|
|
77
86
|
<div id="bodyContent">
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
81
88
|
<div id="contextContent">
|
|
82
89
|
|
|
83
|
-
|
|
84
|
-
|
|
85
90
|
</div>
|
|
86
91
|
|
|
87
92
|
|
|
88
93
|
</div>
|
|
89
94
|
|
|
90
|
-
|
|
91
95
|
<!-- if includes -->
|
|
96
|
+
|
|
92
97
|
<div id="includes">
|
|
93
98
|
<h3 class="section-bar">Included Modules</h3>
|
|
94
99
|
|
|
95
100
|
<div id="includes-list">
|
|
101
|
+
|
|
96
102
|
<span class="include-name"><a href="Wee/DupReplaceSnapshotMixin.html">Wee::DupReplaceSnapshotMixin</a></span>
|
|
103
|
+
|
|
97
104
|
</div>
|
|
98
105
|
</div>
|
|
99
106
|
|
|
@@ -102,19 +109,16 @@
|
|
|
102
109
|
|
|
103
110
|
|
|
104
111
|
|
|
105
|
-
|
|
106
|
-
|
|
112
|
+
<!-- if method_list -->
|
|
107
113
|
|
|
108
114
|
|
|
109
|
-
<!-- if method_list -->
|
|
110
115
|
|
|
111
116
|
|
|
112
117
|
</div>
|
|
113
118
|
|
|
114
|
-
|
|
115
119
|
<div id="validator-badges">
|
|
116
120
|
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
117
121
|
</div>
|
|
118
122
|
|
|
119
123
|
</body>
|
|
120
|
-
</html>
|
|
124
|
+
</html>
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
-
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
-
|
|
1
|
+
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
|
|
2
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
|
|
6
3
|
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
4
|
<head>
|
|
8
|
-
<title>Class: Object</title>
|
|
9
|
-
<meta http-equiv="Content-Type" content="text/html; charset=
|
|
5
|
+
<title>Class: Object [RDoc Documentation]</title>
|
|
6
|
+
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
|
10
7
|
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
8
|
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
|
12
9
|
<script type="text/javascript">
|
|
@@ -25,7 +22,7 @@
|
|
|
25
22
|
return false;
|
|
26
23
|
|
|
27
24
|
elemStyle = elem.style;
|
|
28
|
-
|
|
25
|
+
|
|
29
26
|
if ( elemStyle.display != "block" ) {
|
|
30
27
|
elemStyle.display = "block"
|
|
31
28
|
} else {
|
|
@@ -34,10 +31,10 @@
|
|
|
34
31
|
|
|
35
32
|
return true;
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
|
|
38
35
|
// Make codeblocks hidden by default
|
|
39
|
-
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }
|
|
40
|
-
|
|
36
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
|
|
37
|
+
|
|
41
38
|
// ]]>
|
|
42
39
|
</script>
|
|
43
40
|
|
|
@@ -45,7 +42,6 @@
|
|
|
45
42
|
<body>
|
|
46
43
|
|
|
47
44
|
|
|
48
|
-
|
|
49
45
|
<div id="classHeader">
|
|
50
46
|
<table class="header-table">
|
|
51
47
|
<tr class="top-aligned-row">
|
|
@@ -55,124 +51,81 @@
|
|
|
55
51
|
<tr class="top-aligned-row">
|
|
56
52
|
<td><strong>In:</strong></td>
|
|
57
53
|
<td>
|
|
58
|
-
|
|
59
|
-
|
|
54
|
+
|
|
55
|
+
|
|
56
|
+
<a href="../files/lib/wee/state_rb.html">
|
|
57
|
+
|
|
58
|
+
lib/wee/state.rb
|
|
59
|
+
|
|
60
60
|
</a>
|
|
61
|
+
|
|
62
|
+
|
|
61
63
|
<br />
|
|
64
|
+
|
|
62
65
|
</td>
|
|
63
66
|
</tr>
|
|
64
67
|
|
|
68
|
+
|
|
65
69
|
<tr class="top-aligned-row">
|
|
66
70
|
<td><strong>Parent:</strong></td>
|
|
67
71
|
<td>
|
|
72
|
+
|
|
68
73
|
<a href="Object.html">
|
|
74
|
+
|
|
69
75
|
Object
|
|
76
|
+
|
|
70
77
|
</a>
|
|
78
|
+
|
|
71
79
|
</td>
|
|
72
80
|
</tr>
|
|
81
|
+
|
|
73
82
|
</table>
|
|
74
83
|
</div>
|
|
75
84
|
<!-- banner header -->
|
|
76
85
|
|
|
77
86
|
<div id="bodyContent">
|
|
78
87
|
|
|
79
|
-
|
|
80
|
-
|
|
81
88
|
<div id="contextContent">
|
|
82
89
|
|
|
90
|
+
<div id="description">
|
|
91
|
+
<p>
|
|
92
|
+
Extend base classes with snapshot functionality
|
|
93
|
+
</p>
|
|
83
94
|
|
|
95
|
+
</div>
|
|
84
96
|
|
|
85
97
|
</div>
|
|
86
98
|
|
|
87
|
-
<div id="method-list">
|
|
88
|
-
<h3 class="section-bar">Methods</h3>
|
|
89
|
-
|
|
90
|
-
<div class="name-list">
|
|
91
|
-
<a href="#M000077">restore_snapshot</a>
|
|
92
|
-
<a href="#M000076">take_snapshot</a>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
99
|
|
|
96
100
|
</div>
|
|
97
101
|
|
|
98
|
-
|
|
99
102
|
<!-- if includes -->
|
|
100
103
|
|
|
101
|
-
<div id="
|
|
104
|
+
<div id="includes">
|
|
105
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
102
106
|
|
|
107
|
+
<div id="includes-list">
|
|
103
108
|
|
|
109
|
+
<span class="include-name"><a href="Wee/ObjectSnapshotMixin.html">Wee::ObjectSnapshotMixin</a></span>
|
|
104
110
|
|
|
111
|
+
</div>
|
|
112
|
+
</div>
|
|
105
113
|
|
|
114
|
+
<div id="section">
|
|
106
115
|
|
|
107
|
-
|
|
108
116
|
|
|
109
117
|
|
|
110
|
-
<!-- if method_list -->
|
|
111
|
-
<div id="methods">
|
|
112
|
-
<h3 class="section-bar">Public Instance methods</h3>
|
|
113
|
-
|
|
114
|
-
<div id="method-M000077" class="method-detail">
|
|
115
|
-
<a name="M000077"></a>
|
|
116
|
-
|
|
117
|
-
<div class="method-heading">
|
|
118
|
-
<a href="#M000077" class="method-signature">
|
|
119
|
-
<span class="method-name">restore_snapshot</span><span class="method-args">(snap)</span>
|
|
120
|
-
</a>
|
|
121
|
-
</div>
|
|
122
|
-
|
|
123
|
-
<div class="method-description">
|
|
124
|
-
<p><a class="source-toggle" href="#"
|
|
125
|
-
onclick="toggleCode('M000077-source');return false;">[Source]</a></p>
|
|
126
|
-
<div class="method-source-code" id="M000077-source">
|
|
127
|
-
<pre>
|
|
128
|
-
<span class="ruby-comment cmt"># File lib/wee/snapshot_ext.rb, line 10</span>
|
|
129
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_snapshot</span>(<span class="ruby-identifier">snap</span>)
|
|
130
|
-
<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
|
|
131
|
-
<span class="ruby-identifier">instance_variable_set</span>(<span class="ruby-identifier">iv</span>, <span class="ruby-identifier">snap</span>[<span class="ruby-identifier">iv</span>])
|
|
132
|
-
<span class="ruby-keyword kw">end</span>
|
|
133
|
-
<span class="ruby-keyword kw">end</span>
|
|
134
|
-
</pre>
|
|
135
|
-
</div>
|
|
136
|
-
</div>
|
|
137
|
-
</div>
|
|
138
118
|
|
|
139
|
-
|
|
140
|
-
<a name="M000076"></a>
|
|
141
|
-
|
|
142
|
-
<div class="method-heading">
|
|
143
|
-
<a href="#M000076" class="method-signature">
|
|
144
|
-
<span class="method-name">take_snapshot</span><span class="method-args">()</span>
|
|
145
|
-
</a>
|
|
146
|
-
</div>
|
|
147
|
-
|
|
148
|
-
<div class="method-description">
|
|
149
|
-
<p><a class="source-toggle" href="#"
|
|
150
|
-
onclick="toggleCode('M000076-source');return false;">[Source]</a></p>
|
|
151
|
-
<div class="method-source-code" id="M000076-source">
|
|
152
|
-
<pre>
|
|
153
|
-
<span class="ruby-comment cmt"># File lib/wee/snapshot_ext.rb, line 2</span>
|
|
154
|
-
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">take_snapshot</span>
|
|
155
|
-
<span class="ruby-identifier">snap</span> = <span class="ruby-constant">Hash</span>.<span class="ruby-identifier">new</span>
|
|
156
|
-
<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">iv</span><span class="ruby-operator">|</span>
|
|
157
|
-
<span class="ruby-identifier">snap</span>[<span class="ruby-identifier">iv</span>] = <span class="ruby-identifier">instance_variable_get</span>(<span class="ruby-identifier">iv</span>)
|
|
158
|
-
<span class="ruby-keyword kw">end</span>
|
|
159
|
-
<span class="ruby-identifier">snap</span>
|
|
160
|
-
<span class="ruby-keyword kw">end</span>
|
|
161
|
-
</pre>
|
|
162
|
-
</div>
|
|
163
|
-
</div>
|
|
164
|
-
</div>
|
|
119
|
+
<!-- if method_list -->
|
|
165
120
|
|
|
166
121
|
|
|
167
|
-
</div>
|
|
168
122
|
|
|
169
123
|
|
|
170
124
|
</div>
|
|
171
125
|
|
|
172
|
-
|
|
173
126
|
<div id="validator-badges">
|
|
174
127
|
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
175
128
|
</div>
|
|
176
129
|
|
|
177
130
|
</body>
|
|
178
|
-
</html>
|
|
131
|
+
</html>
|