wee 0.1.0 → 0.3.1
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/INSTALL +7 -0
- data/README +268 -0
- data/Rakefile +26 -0
- data/TODO +116 -0
- data/benchmark/Centrino1300/result.2000.counter.action +45 -0
- data/benchmark/Centrino1300/result.2000.counter.render +43 -0
- data/benchmark/Centrino1300/result.2000.filehandler +43 -0
- data/benchmark/Centrino600/result.2000.counter.action +47 -0
- data/benchmark/Centrino600/result.2000.counter.render +45 -0
- data/benchmark/Centrino600/result.2000.filehandler +43 -0
- data/benchmark/Makefile +48 -0
- data/benchmark/bench.sh +24 -0
- data/benchmark/counter.rb +96 -0
- data/benchmark/filehandler.rb +6 -0
- data/doc/rdoc/classes/Array.html +172 -0
- data/doc/rdoc/classes/Cache.html +126 -0
- data/doc/rdoc/classes/Cache/StorageCache.html +320 -0
- data/doc/rdoc/classes/Cache/Strategy.html +128 -0
- data/doc/rdoc/classes/Cache/Strategy/CapacityBounded.html +269 -0
- data/doc/rdoc/classes/Cache/Strategy/LFU.html +238 -0
- data/doc/rdoc/classes/Cache/Strategy/LFU/Item.html +111 -0
- data/doc/rdoc/classes/Cache/Strategy/LRU.html +238 -0
- data/doc/rdoc/classes/Cache/Strategy/LRU/Item.html +111 -0
- data/doc/rdoc/classes/Cache/Strategy/Unbounded.html +225 -0
- data/doc/rdoc/classes/Cache/Strategy/Unbounded/Item.html +111 -0
- data/doc/rdoc/classes/Enumerable.html +146 -0
- data/doc/rdoc/classes/LiteralMethod.html +196 -0
- data/doc/rdoc/classes/Object.html +178 -0
- data/doc/rdoc/classes/String.html +172 -0
- data/doc/rdoc/classes/Struct.html +174 -0
- data/doc/rdoc/classes/Wee.html +160 -0
- data/doc/rdoc/classes/Wee/AnswerDecoration.html +182 -0
- data/doc/rdoc/classes/Wee/Application.html +337 -0
- data/doc/rdoc/classes/Wee/Brush.html +245 -0
- data/doc/rdoc/classes/Wee/Brush/ActionCallbackMixin.html +149 -0
- data/doc/rdoc/classes/Wee/Brush/ActionMixin.html +146 -0
- data/doc/rdoc/classes/Wee/Brush/ActionURLCallbackMixin.html +157 -0
- data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +210 -0
- data/doc/rdoc/classes/Wee/Brush/AssignMixin.html +141 -0
- data/doc/rdoc/classes/Wee/Brush/CallbackMixin.html +141 -0
- data/doc/rdoc/classes/Wee/Brush/FormTag.html +225 -0
- data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +176 -0
- data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +283 -0
- data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +176 -0
- data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +195 -0
- data/doc/rdoc/classes/Wee/Brush/InputCallbackMixin.html +149 -0
- data/doc/rdoc/classes/Wee/Brush/InputTag.html +172 -0
- data/doc/rdoc/classes/Wee/Brush/Page.html +193 -0
- data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +267 -0
- data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +177 -0
- data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +154 -0
- data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +173 -0
- data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +146 -0
- data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +277 -0
- data/doc/rdoc/classes/Wee/Brush/TableTag.html +146 -0
- data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +229 -0
- data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +154 -0
- data/doc/rdoc/classes/Wee/Callback.html +231 -0
- data/doc/rdoc/classes/Wee/CallbackRegistry.html +308 -0
- data/doc/rdoc/classes/Wee/CallbackStream.html +227 -0
- data/doc/rdoc/classes/Wee/Canvas.html +235 -0
- data/doc/rdoc/classes/Wee/Component.html +933 -0
- data/doc/rdoc/classes/Wee/Context.html +111 -0
- data/doc/rdoc/classes/Wee/Decoration.html +338 -0
- data/doc/rdoc/classes/Wee/Delegate.html +247 -0
- data/doc/rdoc/classes/Wee/ErrorPage.html +175 -0
- data/doc/rdoc/classes/Wee/ErrorResponse.html +180 -0
- data/doc/rdoc/classes/Wee/GenericResponse.html +162 -0
- data/doc/rdoc/classes/Wee/HtmlCanvas.html +751 -0
- data/doc/rdoc/classes/Wee/HtmlWriter.html +351 -0
- data/doc/rdoc/classes/Wee/LiteralMethodCallback.html +180 -0
- data/doc/rdoc/classes/Wee/MethodCallback.html +193 -0
- data/doc/rdoc/classes/Wee/Page.html +111 -0
- data/doc/rdoc/classes/Wee/Presenter.html +521 -0
- data/doc/rdoc/classes/Wee/RedirectResponse.html +150 -0
- data/doc/rdoc/classes/Wee/RefreshResponse.html +157 -0
- data/doc/rdoc/classes/Wee/RenderingContext.html +111 -0
- data/doc/rdoc/classes/Wee/Request.html +268 -0
- data/doc/rdoc/classes/Wee/RequestHandler.html +336 -0
- data/doc/rdoc/classes/Wee/Response.html +260 -0
- data/doc/rdoc/classes/Wee/Session.html +469 -0
- data/doc/rdoc/classes/Wee/SimpleIdGenerator.html +198 -0
- data/doc/rdoc/classes/Wee/Snapshot.html +211 -0
- data/doc/rdoc/classes/Wee/StateHolder.html +149 -0
- data/doc/rdoc/classes/Wee/StateRegistry.html +434 -0
- data/doc/rdoc/classes/Wee/StateRegistry/Snapshot.html +320 -0
- data/doc/rdoc/classes/Wee/StateRegistry/WithObject.html +153 -0
- data/doc/rdoc/classes/Wee/Utils.html +111 -0
- data/doc/rdoc/classes/Wee/Utils/LRUCache.html +148 -0
- data/doc/rdoc/classes/Wee/ValueHolder.html +220 -0
- data/doc/rdoc/classes/Wee/WEBrickAdaptor.html +330 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/INSTALL.html +118 -0
- data/doc/rdoc/files/README.html +466 -0
- data/doc/rdoc/files/lib/cache/cache_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/adaptors/webrick_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/application_rb.html +112 -0
- data/doc/rdoc/files/lib/wee/callback_rb.html +107 -0
- data/doc/rdoc/files/lib/wee/component_ext_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/component_rb.html +109 -0
- data/doc/rdoc/files/lib/wee/context_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/core/callback_rb.html +115 -0
- data/doc/rdoc/files/lib/wee/core/component_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/core/decoration_rb.html +133 -0
- data/doc/rdoc/files/lib/wee/core/presenter_rb.html +112 -0
- data/doc/rdoc/files/lib/wee/core/snapshot_rb.html +113 -0
- data/doc/rdoc/files/lib/wee/core/valueholder_rb.html +110 -0
- data/doc/rdoc/files/lib/wee/core_rb.html +131 -0
- data/doc/rdoc/files/lib/wee/decoration_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/holder_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/html_canvas_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/html_writer_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/idgen_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/page_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/presenter_rb.html +112 -0
- data/doc/rdoc/files/lib/wee/renderer/html/brushes_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/renderer/html/canvas_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/renderer/html/writer_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/rendering/html/brushes_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/rendering/html/canvas_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/rendering/html/writer_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/request_rb.html +113 -0
- data/doc/rdoc/files/lib/wee/requesthandler_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/response_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/session_rb.html +109 -0
- data/doc/rdoc/files/lib/wee/snapshot_ext_rb.html +101 -0
- data/doc/rdoc/files/lib/wee/snapshot_rb.html +107 -0
- data/doc/rdoc/files/lib/wee/state_registry_rb.html +110 -0
- data/doc/rdoc/files/lib/wee/stuff_rb.html +144 -0
- data/doc/rdoc/files/lib/wee/utils/cache_rb.html +108 -0
- data/doc/rdoc/files/lib/wee/webrick_rb.html +108 -0
- data/doc/rdoc/files/lib/wee_rb.html +132 -0
- data/doc/rdoc/fr_class_index.html +93 -0
- data/doc/rdoc/fr_file_index.html +51 -0
- data/doc/rdoc/fr_method_index.html +242 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +208 -0
- data/examples/ObjectSpaceBrowser.rb +199 -0
- data/examples/calendar.rb +366 -0
- data/examples/cc.rb +94 -0
- data/examples/draw.rb +91 -0
- data/examples/example.rb +223 -0
- data/examples/test.rb +66 -0
- data/examples/window.rb +53 -0
- data/lib/cache/cache.rb +9 -0
- data/lib/wee.rb +18 -8
- data/lib/wee/adaptors/webrick.rb +73 -0
- data/lib/wee/application.rb +69 -71
- data/lib/wee/context.rb +2 -12
- data/lib/wee/core.rb +15 -0
- data/lib/wee/core/callback.rb +108 -0
- data/lib/wee/core/component.rb +314 -0
- data/lib/wee/core/decoration.rb +129 -0
- data/lib/wee/core/presenter.rb +132 -0
- data/lib/wee/core/snapshot.rb +21 -0
- data/lib/wee/core/valueholder.rb +19 -0
- data/lib/wee/idgen.rb +13 -0
- data/lib/wee/page.rb +1 -1
- data/lib/wee/renderer/html/brushes.rb +435 -0
- data/lib/wee/renderer/html/canvas.rb +148 -0
- data/lib/wee/{html_writer.rb → renderer/html/writer.rb} +31 -16
- data/lib/wee/request.rb +57 -0
- data/lib/wee/requesthandler.rb +77 -0
- data/lib/wee/response.rb +77 -0
- data/lib/wee/session.rb +70 -64
- data/lib/wee/{snapshot.rb → snapshot_ext.rb} +4 -4
- data/test/components/calltest.rb +16 -0
- data/test/components/counter.rb +17 -0
- data/test/components/messagebox.rb +15 -0
- data/test/components/page.rb +14 -0
- data/test/components/page_decoration.rb +7 -0
- data/test/stress.rb +64 -0
- data/test/test_component.rb +106 -0
- data/test/test_html_canvas.rb +25 -0
- data/test/test_html_writer.rb +27 -0
- data/test/test_request.rb +13 -0
- data/test/utils/cross.rb +65 -0
- data/test/utils/generic_plotter.rb +28 -0
- data/test/utils/gnuplot.rb +31 -0
- data/test/utils/measure_memory.rb +9 -0
- data/test/utils/memory_plotter.rb +10 -0
- data/test/utils/object_plotter.rb +10 -0
- data/test/utils/webrick_background.rb +31 -0
- data/wee.gemspec +22 -0
- metadata +222 -18
- data/lib/wee/component.rb +0 -126
- data/lib/wee/delegate_decoration.rb +0 -22
- data/lib/wee/handler_registry.rb +0 -89
- data/lib/wee/holder.rb +0 -14
- data/lib/wee/html_canvas.rb +0 -379
- data/lib/wee/state_registry.rb +0 -173
- data/lib/wee/stuff.rb +0 -29
- data/lib/wee/webrick.rb +0 -15
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Wee::Context</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Wee::Context</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/wee/context_rb.html">
|
|
59
|
+
lib/wee/context.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
Struct.new(:request, :response);
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</div>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div id="contextContent">
|
|
80
|
+
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
</div>
|
|
84
|
+
|
|
85
|
+
|
|
86
|
+
</div>
|
|
87
|
+
|
|
88
|
+
|
|
89
|
+
<!-- if includes -->
|
|
90
|
+
|
|
91
|
+
<div id="section">
|
|
92
|
+
|
|
93
|
+
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
<!-- if method_list -->
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
</div>
|
|
104
|
+
|
|
105
|
+
|
|
106
|
+
<div id="validator-badges">
|
|
107
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
108
|
+
</div>
|
|
109
|
+
|
|
110
|
+
</body>
|
|
111
|
+
</html>
|
|
@@ -0,0 +1,338 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Wee::Decoration</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Wee::Decoration</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/wee/core/decoration_rb.html">
|
|
59
|
+
lib/wee/core/decoration.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
<a href="Presenter.html">
|
|
69
|
+
Wee::Presenter
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
<div id="description">
|
|
84
|
+
<p>
|
|
85
|
+
Abstract base class of all decorations. Forwards the methods <a
|
|
86
|
+
href="Decoration.html#M000133">process_callbacks</a>, <a
|
|
87
|
+
href="Decoration.html#M000134">do_render</a> and <a
|
|
88
|
+
href="Decoration.html#M000135">backtrack_state</a> to the next decoration
|
|
89
|
+
in the chain. Subclasses should provide special behaviour in these methods,
|
|
90
|
+
otherwise the decoration does not make sense.
|
|
91
|
+
</p>
|
|
92
|
+
<p>
|
|
93
|
+
For example, a HeaderFooterDecoration class could draw a header and footer
|
|
94
|
+
around the decorations or components below itself:
|
|
95
|
+
</p>
|
|
96
|
+
<pre>
|
|
97
|
+
class HeaderFooterDecoration < Wee::Decoration
|
|
98
|
+
def do_render(rendering_context)
|
|
99
|
+
with_renderer_for(rendering_context) do
|
|
100
|
+
render_header
|
|
101
|
+
super(rendering_context)
|
|
102
|
+
render_footer
|
|
103
|
+
end
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
def render_header
|
|
107
|
+
r.text "header
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
def render_footer
|
|
111
|
+
...
|
|
112
|
+
end
|
|
113
|
+
end
|
|
114
|
+
</pre>
|
|
115
|
+
|
|
116
|
+
</div>
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
<div id="contents-list">
|
|
120
|
+
<h3 class="section-bar">Contents</h3>
|
|
121
|
+
<ul>
|
|
122
|
+
<li><a href="#SEC00074">Snapshot</a></li>
|
|
123
|
+
</ul>
|
|
124
|
+
</div>
|
|
125
|
+
|
|
126
|
+
<div id="method-list">
|
|
127
|
+
<h3 class="section-bar">Methods</h3>
|
|
128
|
+
|
|
129
|
+
<div class="name-list">
|
|
130
|
+
<a href="#M000135">backtrack_state</a>
|
|
131
|
+
<a href="#M000134">do_render</a>
|
|
132
|
+
<a href="#M000133">process_callbacks</a>
|
|
133
|
+
<a href="#M000137">restore_snapshot</a>
|
|
134
|
+
<a href="#M000136">take_snapshot</a>
|
|
135
|
+
</div>
|
|
136
|
+
</div>
|
|
137
|
+
|
|
138
|
+
</div>
|
|
139
|
+
|
|
140
|
+
|
|
141
|
+
<!-- if includes -->
|
|
142
|
+
|
|
143
|
+
<div id="section">
|
|
144
|
+
|
|
145
|
+
|
|
146
|
+
|
|
147
|
+
|
|
148
|
+
|
|
149
|
+
<div id="attribute-list">
|
|
150
|
+
<h3 class="section-bar">Attributes</h3>
|
|
151
|
+
|
|
152
|
+
<div class="name-list">
|
|
153
|
+
<table>
|
|
154
|
+
<tr class="top-aligned-row context-row">
|
|
155
|
+
<td class="context-item-name">owner</td>
|
|
156
|
+
<td class="context-item-value"> [RW] </td>
|
|
157
|
+
<td class="context-item-desc">
|
|
158
|
+
Points to the next decoration in the chain. A decoration is responsible for
|
|
159
|
+
all decorations or components "below" it (everything that follows
|
|
160
|
+
this decoration in the chain). In other words, it’s the owner of
|
|
161
|
+
everything "below" itself.
|
|
162
|
+
|
|
163
|
+
</td>
|
|
164
|
+
</tr>
|
|
165
|
+
</table>
|
|
166
|
+
</div>
|
|
167
|
+
</div>
|
|
168
|
+
|
|
169
|
+
|
|
170
|
+
|
|
171
|
+
<!-- if method_list -->
|
|
172
|
+
<div id="methods">
|
|
173
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
174
|
+
|
|
175
|
+
<div id="method-M000135" class="method-detail">
|
|
176
|
+
<a name="M000135"></a>
|
|
177
|
+
|
|
178
|
+
<div class="method-heading">
|
|
179
|
+
<a href="#M000135" class="method-signature">
|
|
180
|
+
<span class="method-name">backtrack_state</span><span class="method-args">(snapshot)</span>
|
|
181
|
+
</a>
|
|
182
|
+
</div>
|
|
183
|
+
|
|
184
|
+
<div class="method-description">
|
|
185
|
+
<p>
|
|
186
|
+
Forwards method call to the next decoration in the chain.
|
|
187
|
+
</p>
|
|
188
|
+
<p><a class="source-toggle" href="#"
|
|
189
|
+
onclick="toggleCode('M000135-source');return false;">[Source]</a></p>
|
|
190
|
+
<div class="method-source-code" id="M000135-source">
|
|
191
|
+
<pre>
|
|
192
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 50</span>
|
|
193
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
|
194
|
+
<span class="ruby-ivar">@owner</span>.<span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
|
195
|
+
<span class="ruby-identifier">snapshot</span>.<span class="ruby-identifier">add</span>(<span class="ruby-keyword kw">self</span>)
|
|
196
|
+
<span class="ruby-keyword kw">end</span>
|
|
197
|
+
</pre>
|
|
198
|
+
</div>
|
|
199
|
+
</div>
|
|
200
|
+
</div>
|
|
201
|
+
|
|
202
|
+
<div id="method-M000134" class="method-detail">
|
|
203
|
+
<a name="M000134"></a>
|
|
204
|
+
|
|
205
|
+
<div class="method-heading">
|
|
206
|
+
<a href="#M000134" class="method-signature">
|
|
207
|
+
<span class="method-name">do_render</span><span class="method-args">(rendering_context)</span>
|
|
208
|
+
</a>
|
|
209
|
+
</div>
|
|
210
|
+
|
|
211
|
+
<div class="method-description">
|
|
212
|
+
<p>
|
|
213
|
+
Forwards method call to the next decoration in the chain.
|
|
214
|
+
</p>
|
|
215
|
+
<p><a class="source-toggle" href="#"
|
|
216
|
+
onclick="toggleCode('M000134-source');return false;">[Source]</a></p>
|
|
217
|
+
<div class="method-source-code" id="M000134-source">
|
|
218
|
+
<pre>
|
|
219
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 44</span>
|
|
220
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_render</span>(<span class="ruby-identifier">rendering_context</span>)
|
|
221
|
+
<span class="ruby-ivar">@owner</span>.<span class="ruby-identifier">do_render</span>(<span class="ruby-identifier">rendering_context</span>)
|
|
222
|
+
<span class="ruby-keyword kw">end</span>
|
|
223
|
+
</pre>
|
|
224
|
+
</div>
|
|
225
|
+
</div>
|
|
226
|
+
</div>
|
|
227
|
+
|
|
228
|
+
<div id="method-M000133" class="method-detail">
|
|
229
|
+
<a name="M000133"></a>
|
|
230
|
+
|
|
231
|
+
<div class="method-heading">
|
|
232
|
+
<a href="#M000133" class="method-signature">
|
|
233
|
+
<span class="method-name">process_callbacks</span><span class="method-args">(callback_stream)</span>
|
|
234
|
+
</a>
|
|
235
|
+
</div>
|
|
236
|
+
|
|
237
|
+
<div class="method-description">
|
|
238
|
+
<p>
|
|
239
|
+
Forwards method call to the next decoration in the chain.
|
|
240
|
+
</p>
|
|
241
|
+
<p><a class="source-toggle" href="#"
|
|
242
|
+
onclick="toggleCode('M000133-source');return false;">[Source]</a></p>
|
|
243
|
+
<div class="method-source-code" id="M000133-source">
|
|
244
|
+
<pre>
|
|
245
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 38</span>
|
|
246
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
247
|
+
<span class="ruby-ivar">@owner</span>.<span class="ruby-identifier">process_callbacks</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
248
|
+
<span class="ruby-keyword kw">end</span>
|
|
249
|
+
</pre>
|
|
250
|
+
</div>
|
|
251
|
+
</div>
|
|
252
|
+
</div>
|
|
253
|
+
|
|
254
|
+
|
|
255
|
+
</div>
|
|
256
|
+
<div id="section">
|
|
257
|
+
<h2 class="section-title"><a name="SEC00074">Snapshot</a></h2>
|
|
258
|
+
<div class="section-comment">
|
|
259
|
+
|
|
260
|
+
</div>
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
<!-- if method_list -->
|
|
270
|
+
<div id="methods">
|
|
271
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
272
|
+
|
|
273
|
+
<div id="method-M000137" class="method-detail">
|
|
274
|
+
<a name="M000137"></a>
|
|
275
|
+
|
|
276
|
+
<div class="method-heading">
|
|
277
|
+
<a href="#M000137" class="method-signature">
|
|
278
|
+
<span class="method-name">restore_snapshot</span><span class="method-args">(snap)</span>
|
|
279
|
+
</a>
|
|
280
|
+
</div>
|
|
281
|
+
|
|
282
|
+
<div class="method-description">
|
|
283
|
+
<p><a class="source-toggle" href="#"
|
|
284
|
+
onclick="toggleCode('M000137-source');return false;">[Source]</a></p>
|
|
285
|
+
<div class="method-source-code" id="M000137-source">
|
|
286
|
+
<pre>
|
|
287
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 69</span>
|
|
288
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">restore_snapshot</span>(<span class="ruby-identifier">snap</span>)
|
|
289
|
+
<span class="ruby-ivar">@owner</span> = <span class="ruby-identifier">snap</span>
|
|
290
|
+
<span class="ruby-keyword kw">end</span>
|
|
291
|
+
</pre>
|
|
292
|
+
</div>
|
|
293
|
+
</div>
|
|
294
|
+
</div>
|
|
295
|
+
|
|
296
|
+
<div id="method-M000136" class="method-detail">
|
|
297
|
+
<a name="M000136"></a>
|
|
298
|
+
|
|
299
|
+
<div class="method-heading">
|
|
300
|
+
<a href="#M000136" class="method-signature">
|
|
301
|
+
<span class="method-name">take_snapshot</span><span class="method-args">()</span>
|
|
302
|
+
</a>
|
|
303
|
+
</div>
|
|
304
|
+
|
|
305
|
+
<div class="method-description">
|
|
306
|
+
<p>
|
|
307
|
+
We have to save the @owner attribute to be able to correctly backtrack
|
|
308
|
+
calls, as method <a href="Component.html#M000178">Wee::Component#call</a>
|
|
309
|
+
modifies it in the call to <tt>component.remove_decoration(answer)</tt>.
|
|
310
|
+
Removing the answer-decoration has the advantage to be able to call a
|
|
311
|
+
component more than once!
|
|
312
|
+
</p>
|
|
313
|
+
<p><a class="source-toggle" href="#"
|
|
314
|
+
onclick="toggleCode('M000136-source');return false;">[Source]</a></p>
|
|
315
|
+
<div class="method-source-code" id="M000136-source">
|
|
316
|
+
<pre>
|
|
317
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 65</span>
|
|
318
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">take_snapshot</span>
|
|
319
|
+
<span class="ruby-ivar">@owner</span>
|
|
320
|
+
<span class="ruby-keyword kw">end</span>
|
|
321
|
+
</pre>
|
|
322
|
+
</div>
|
|
323
|
+
</div>
|
|
324
|
+
</div>
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
</div>
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
</div>
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
<div id="validator-badges">
|
|
334
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
335
|
+
</div>
|
|
336
|
+
|
|
337
|
+
</body>
|
|
338
|
+
</html>
|
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Wee::Delegate</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Wee::Delegate</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/wee/core/decoration_rb.html">
|
|
59
|
+
lib/wee/core/decoration.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
<a href="Decoration.html">
|
|
69
|
+
Wee::Decoration
|
|
70
|
+
</a>
|
|
71
|
+
</td>
|
|
72
|
+
</tr>
|
|
73
|
+
</table>
|
|
74
|
+
</div>
|
|
75
|
+
<!-- banner header -->
|
|
76
|
+
|
|
77
|
+
<div id="bodyContent">
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
|
|
81
|
+
<div id="contextContent">
|
|
82
|
+
|
|
83
|
+
<div id="description">
|
|
84
|
+
<p>
|
|
85
|
+
A <a href="Delegate.html">Wee::Delegate</a> breaks the decoration chain and
|
|
86
|
+
forwards the methods <a href="Delegate.html#M000204">process_callbacks</a>,
|
|
87
|
+
<a href="Delegate.html#M000205">do_render</a> and <a
|
|
88
|
+
href="Delegate.html#M000206">backtrack_state</a> to the corresponding
|
|
89
|
+
<b>chain</b> method of it’s <em>delegate</em> component (a <a
|
|
90
|
+
href="Component.html">Wee::Component</a>).
|
|
91
|
+
</p>
|
|
92
|
+
|
|
93
|
+
</div>
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<div id="method-list">
|
|
99
|
+
<h3 class="section-bar">Methods</h3>
|
|
100
|
+
|
|
101
|
+
<div class="name-list">
|
|
102
|
+
<a href="#M000206">backtrack_state</a>
|
|
103
|
+
<a href="#M000205">do_render</a>
|
|
104
|
+
<a href="#M000203">new</a>
|
|
105
|
+
<a href="#M000204">process_callbacks</a>
|
|
106
|
+
</div>
|
|
107
|
+
</div>
|
|
108
|
+
|
|
109
|
+
</div>
|
|
110
|
+
|
|
111
|
+
|
|
112
|
+
<!-- if includes -->
|
|
113
|
+
|
|
114
|
+
<div id="section">
|
|
115
|
+
|
|
116
|
+
|
|
117
|
+
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
<!-- if method_list -->
|
|
124
|
+
<div id="methods">
|
|
125
|
+
<h3 class="section-bar">Public Class methods</h3>
|
|
126
|
+
|
|
127
|
+
<div id="method-M000203" class="method-detail">
|
|
128
|
+
<a name="M000203"></a>
|
|
129
|
+
|
|
130
|
+
<div class="method-heading">
|
|
131
|
+
<a href="#M000203" class="method-signature">
|
|
132
|
+
<span class="method-name">new</span><span class="method-args">(delegate)</span>
|
|
133
|
+
</a>
|
|
134
|
+
</div>
|
|
135
|
+
|
|
136
|
+
<div class="method-description">
|
|
137
|
+
<p><a class="source-toggle" href="#"
|
|
138
|
+
onclick="toggleCode('M000203-source');return false;">[Source]</a></p>
|
|
139
|
+
<div class="method-source-code" id="M000203-source">
|
|
140
|
+
<pre>
|
|
141
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 80</span>
|
|
142
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">initialize</span>(<span class="ruby-identifier">delegate</span>)
|
|
143
|
+
<span class="ruby-ivar">@delegate</span> = <span class="ruby-identifier">delegate</span>
|
|
144
|
+
<span class="ruby-keyword kw">end</span>
|
|
145
|
+
</pre>
|
|
146
|
+
</div>
|
|
147
|
+
</div>
|
|
148
|
+
</div>
|
|
149
|
+
|
|
150
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
151
|
+
|
|
152
|
+
<div id="method-M000206" class="method-detail">
|
|
153
|
+
<a name="M000206"></a>
|
|
154
|
+
|
|
155
|
+
<div class="method-heading">
|
|
156
|
+
<a href="#M000206" class="method-signature">
|
|
157
|
+
<span class="method-name">backtrack_state</span><span class="method-args">(snapshot)</span>
|
|
158
|
+
</a>
|
|
159
|
+
</div>
|
|
160
|
+
|
|
161
|
+
<div class="method-description">
|
|
162
|
+
<p>
|
|
163
|
+
Forwards method to the corresponding top-level <b>chain</b> method of the
|
|
164
|
+
<em>delegate</em> component. We also take snapshots of all non-visible
|
|
165
|
+
components, thus we follow the @owner (via super).
|
|
166
|
+
</p>
|
|
167
|
+
<p><a class="source-toggle" href="#"
|
|
168
|
+
onclick="toggleCode('M000206-source');return false;">[Source]</a></p>
|
|
169
|
+
<div class="method-source-code" id="M000206-source">
|
|
170
|
+
<pre>
|
|
171
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 102</span>
|
|
172
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">backtrack_state</span>(<span class="ruby-identifier">snapshot</span>)
|
|
173
|
+
<span class="ruby-keyword kw">super</span>
|
|
174
|
+
<span class="ruby-ivar">@delegate</span>.<span class="ruby-identifier">backtrack_state_chain</span>(<span class="ruby-identifier">snapshot</span>)
|
|
175
|
+
<span class="ruby-keyword kw">end</span>
|
|
176
|
+
</pre>
|
|
177
|
+
</div>
|
|
178
|
+
</div>
|
|
179
|
+
</div>
|
|
180
|
+
|
|
181
|
+
<div id="method-M000205" class="method-detail">
|
|
182
|
+
<a name="M000205"></a>
|
|
183
|
+
|
|
184
|
+
<div class="method-heading">
|
|
185
|
+
<a href="#M000205" class="method-signature">
|
|
186
|
+
<span class="method-name">do_render</span><span class="method-args">(rendering_context)</span>
|
|
187
|
+
</a>
|
|
188
|
+
</div>
|
|
189
|
+
|
|
190
|
+
<div class="method-description">
|
|
191
|
+
<p>
|
|
192
|
+
Forwards method to the corresponding top-level <b>chain</b> method of the
|
|
193
|
+
<em>delegate</em> component.
|
|
194
|
+
</p>
|
|
195
|
+
<p><a class="source-toggle" href="#"
|
|
196
|
+
onclick="toggleCode('M000205-source');return false;">[Source]</a></p>
|
|
197
|
+
<div class="method-source-code" id="M000205-source">
|
|
198
|
+
<pre>
|
|
199
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 94</span>
|
|
200
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">do_render</span>(<span class="ruby-identifier">rendering_context</span>)
|
|
201
|
+
<span class="ruby-ivar">@delegate</span>.<span class="ruby-identifier">do_render_chain</span>(<span class="ruby-identifier">rendering_context</span>)
|
|
202
|
+
<span class="ruby-keyword kw">end</span>
|
|
203
|
+
</pre>
|
|
204
|
+
</div>
|
|
205
|
+
</div>
|
|
206
|
+
</div>
|
|
207
|
+
|
|
208
|
+
<div id="method-M000204" class="method-detail">
|
|
209
|
+
<a name="M000204"></a>
|
|
210
|
+
|
|
211
|
+
<div class="method-heading">
|
|
212
|
+
<a href="#M000204" class="method-signature">
|
|
213
|
+
<span class="method-name">process_callbacks</span><span class="method-args">(callback_stream)</span>
|
|
214
|
+
</a>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
<div class="method-description">
|
|
218
|
+
<p>
|
|
219
|
+
Forwards method to the corresponding top-level <b>chain</b> method of the
|
|
220
|
+
<em>delegate</em> component.
|
|
221
|
+
</p>
|
|
222
|
+
<p><a class="source-toggle" href="#"
|
|
223
|
+
onclick="toggleCode('M000204-source');return false;">[Source]</a></p>
|
|
224
|
+
<div class="method-source-code" id="M000204-source">
|
|
225
|
+
<pre>
|
|
226
|
+
<span class="ruby-comment cmt"># File lib/wee/core/decoration.rb, line 87</span>
|
|
227
|
+
<span class="ruby-keyword kw">def</span> <span class="ruby-identifier">process_callbacks</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
228
|
+
<span class="ruby-ivar">@delegate</span>.<span class="ruby-identifier">process_callbacks_chain</span>(<span class="ruby-identifier">callback_stream</span>)
|
|
229
|
+
<span class="ruby-keyword kw">end</span>
|
|
230
|
+
</pre>
|
|
231
|
+
</div>
|
|
232
|
+
</div>
|
|
233
|
+
</div>
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
</div>
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
</div>
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
<div id="validator-badges">
|
|
243
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
244
|
+
</div>
|
|
245
|
+
|
|
246
|
+
</body>
|
|
247
|
+
</html>
|