wee 2.0.0 → 2.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (135) hide show
  1. data/TODO +31 -0
  2. data/benchmark.rb +37 -0
  3. data/demo.ru +11 -0
  4. data/doc/rdoc/classes/Array.html +22 -26
  5. data/doc/rdoc/classes/Hash.html +22 -26
  6. data/doc/rdoc/classes/Object.html +21 -26
  7. data/doc/rdoc/classes/String.html +19 -87
  8. data/doc/rdoc/classes/Struct.html +22 -26
  9. data/doc/rdoc/classes/Wee.html +75 -206
  10. data/doc/rdoc/classes/Wee/AnswerDecoration.html +35 -66
  11. data/doc/rdoc/classes/Wee/AnswerDecoration/Answer.html +28 -46
  12. data/doc/rdoc/classes/Wee/Application.html +63 -114
  13. data/doc/rdoc/classes/Wee/Application/SessionCache.html +30 -44
  14. data/doc/rdoc/classes/Wee/Brush.html +52 -101
  15. data/doc/rdoc/classes/Wee/Brush/ActionInputTag.html +29 -51
  16. data/doc/rdoc/classes/Wee/Brush/AnchorTag.html +44 -101
  17. data/doc/rdoc/classes/Wee/Brush/CheckboxTag.html +43 -76
  18. data/doc/rdoc/classes/Wee/Brush/FileUploadTag.html +29 -46
  19. data/doc/rdoc/classes/Wee/Brush/FormTag.html +48 -110
  20. data/doc/rdoc/classes/Wee/Brush/GenericEncodedTextBrush.html +30 -42
  21. data/doc/rdoc/classes/Wee/Brush/GenericSingleTagBrush.html +37 -58
  22. data/doc/rdoc/classes/Wee/Brush/GenericTagBrush.html +93 -210
  23. data/doc/rdoc/classes/Wee/Brush/GenericTextBrush.html +38 -63
  24. data/doc/rdoc/classes/Wee/Brush/HiddenInputTag.html +29 -45
  25. data/doc/rdoc/classes/Wee/Brush/ImageButtonTag.html +35 -52
  26. data/doc/rdoc/classes/Wee/Brush/ImageTag.html +28 -61
  27. data/doc/rdoc/classes/Wee/Brush/InputTag.html +34 -107
  28. data/doc/rdoc/classes/Wee/Brush/JavascriptTag.html +28 -54
  29. data/doc/rdoc/classes/Wee/Brush/Page.html +39 -73
  30. data/doc/rdoc/classes/Wee/Brush/PasswordInputTag.html +29 -45
  31. data/doc/rdoc/classes/Wee/Brush/RadioButtonTag.html +54 -98
  32. data/doc/rdoc/classes/Wee/Brush/RadioGroup.html +46 -84
  33. data/doc/rdoc/classes/Wee/Brush/SelectListTag.html +87 -187
  34. data/doc/rdoc/classes/Wee/Brush/SelectOptionTag.html +29 -56
  35. data/doc/rdoc/classes/Wee/Brush/SubmitButtonTag.html +29 -45
  36. data/doc/rdoc/classes/Wee/Brush/TableDataTag.html +28 -55
  37. data/doc/rdoc/classes/Wee/Brush/TableHeaderTag.html +28 -55
  38. data/doc/rdoc/classes/Wee/Brush/TableRowTag.html +56 -113
  39. data/doc/rdoc/classes/Wee/Brush/TableTag.html +27 -58
  40. data/doc/rdoc/classes/Wee/Brush/TextAreaTag.html +48 -140
  41. data/doc/rdoc/classes/Wee/Brush/TextInputTag.html +29 -45
  42. data/doc/rdoc/classes/Wee/CallAnswerMixin.html +51 -79
  43. data/doc/rdoc/classes/Wee/CallbackMixin.html +44 -77
  44. data/doc/rdoc/classes/Wee/CallbackRegistry.html +69 -125
  45. data/doc/rdoc/classes/Wee/Callbacks.html +43 -82
  46. data/doc/rdoc/classes/Wee/Component.html +142 -292
  47. data/doc/rdoc/classes/Wee/Decoration.html +85 -141
  48. data/doc/rdoc/classes/Wee/DecorationMixin.html +111 -118
  49. data/doc/rdoc/classes/Wee/Delegate.html +72 -115
  50. data/doc/rdoc/classes/Wee/DupReplaceSnapshotMixin.html +37 -54
  51. data/doc/rdoc/classes/Wee/ErrorResponse.html +31 -48
  52. data/doc/rdoc/classes/Wee/FormDecoration.html +32 -46
  53. data/doc/rdoc/classes/Wee/GenericResponse.html +30 -50
  54. data/doc/rdoc/classes/Wee/HtmlCanvas.html +209 -562
  55. data/doc/rdoc/classes/Wee/HtmlDocument.html +51 -91
  56. data/doc/rdoc/classes/Wee/HtmlWriter.html +76 -156
  57. data/doc/rdoc/classes/Wee/IdGenerator.html +28 -44
  58. data/doc/rdoc/classes/Wee/IdGenerator/Secure.html +53 -95
  59. data/doc/rdoc/classes/Wee/IdGenerator/Sequential.html +37 -63
  60. data/doc/rdoc/classes/Wee/JQuery.html +36 -64
  61. data/doc/rdoc/classes/Wee/LRUCache.html +94 -189
  62. data/doc/rdoc/classes/Wee/LRUCache/Item.html +30 -42
  63. data/doc/rdoc/classes/Wee/ObjectSnapshotMixin.html +37 -54
  64. data/doc/rdoc/classes/Wee/PageDecoration.html +48 -79
  65. data/doc/rdoc/classes/Wee/Presenter.html +86 -143
  66. data/doc/rdoc/classes/Wee/RedirectResponse.html +31 -49
  67. data/doc/rdoc/classes/Wee/RefreshResponse.html +34 -48
  68. data/doc/rdoc/classes/Wee/Renderer.html +56 -125
  69. data/doc/rdoc/classes/Wee/Request.html +57 -115
  70. data/doc/rdoc/classes/Wee/Response.html +24 -26
  71. data/doc/rdoc/classes/Wee/Session.html +137 -292
  72. data/doc/rdoc/classes/Wee/Session/AbortCallbackProcessing.html +29 -46
  73. data/doc/rdoc/classes/Wee/Session/MutexSerializer.html +29 -42
  74. data/doc/rdoc/classes/Wee/Session/Page.html +22 -21
  75. data/doc/rdoc/classes/Wee/Session/ThreadSerializer.html +36 -60
  76. data/doc/rdoc/classes/Wee/State.html +57 -105
  77. data/doc/rdoc/classes/Wee/State/Snapshot.html +22 -21
  78. data/doc/rdoc/classes/Wee/State/SnapshotIVars.html +22 -21
  79. data/doc/rdoc/classes/Wee/StructSnapshotMixin.html +37 -54
  80. data/doc/rdoc/classes/Wee/WrapperDecoration.html +42 -68
  81. data/doc/rdoc/created.rid +1 -1
  82. data/doc/rdoc/files/README_rdoc.html +26 -17
  83. data/doc/rdoc/files/lib/wee/application_rb.html +25 -19
  84. data/doc/rdoc/files/lib/wee/call_answer_rb.html +23 -12
  85. data/doc/rdoc/files/lib/wee/callback_rb.html +23 -12
  86. data/doc/rdoc/files/lib/wee/component_rb.html +25 -19
  87. data/doc/rdoc/files/lib/wee/decoration_rb.html +23 -15
  88. data/doc/rdoc/files/lib/wee/html_brushes_rb.html +23 -12
  89. data/doc/rdoc/files/lib/wee/html_canvas_rb.html +23 -15
  90. data/doc/rdoc/files/lib/wee/html_document_rb.html +23 -15
  91. data/doc/rdoc/files/lib/wee/html_writer_rb.html +23 -15
  92. data/doc/rdoc/files/lib/wee/id_generator_rb.html +24 -17
  93. data/doc/rdoc/files/lib/wee/jquery/jquery_rb.html +23 -12
  94. data/doc/rdoc/files/lib/wee/jquery_rb.html +23 -15
  95. data/doc/rdoc/files/lib/wee/lru_cache_rb.html +23 -12
  96. data/doc/rdoc/files/lib/wee/presenter_rb.html +23 -12
  97. data/doc/rdoc/files/lib/wee/renderer_rb.html +23 -12
  98. data/doc/rdoc/files/lib/wee/request_rb.html +23 -15
  99. data/doc/rdoc/files/lib/wee/response_rb.html +24 -17
  100. data/doc/rdoc/files/lib/wee/session_rb.html +26 -21
  101. data/doc/rdoc/files/lib/wee/state_rb.html +23 -12
  102. data/doc/rdoc/files/lib/wee_rb.html +37 -47
  103. data/doc/rdoc/fr_class_index.html +12 -86
  104. data/doc/rdoc/fr_file_index.html +12 -30
  105. data/doc/rdoc/fr_method_index.html +242 -473
  106. data/doc/rdoc/index.html +8 -5
  107. data/doc/rdoc/rdoc-style.css +119 -210
  108. data/examples/ObjectSpaceBrowser.rb +4 -4
  109. data/examples/TODO +21 -0
  110. data/examples/ajax.rb +6 -4
  111. data/examples/blog.rb +42 -0
  112. data/examples/demo.rb +5 -3
  113. data/examples/demo/calculator.rb +3 -3
  114. data/examples/demo/calendar.rb +4 -4
  115. data/examples/demo/counter.rb +2 -2
  116. data/examples/demo/editable_counter.rb +2 -2
  117. data/examples/demo/example.rb +25 -16
  118. data/examples/demo/window.rb +10 -3
  119. data/examples/hw2.rb +17 -0
  120. data/examples/recipe/description.rb +170 -0
  121. data/examples/recipe/migrations/001_create_recipes.rb +13 -0
  122. data/examples/recipe/model.rb +27 -0
  123. data/examples/recipe/models/recipe.rb +18 -0
  124. data/examples/recipe/recipe_editor.rb +28 -0
  125. data/lib/wee.rb +1 -7
  126. data/lib/wee/component.rb +37 -74
  127. data/lib/wee/decoration.rb +16 -15
  128. data/lib/wee/html_brushes.rb +16 -17
  129. data/lib/wee/presenter.rb +2 -1
  130. data/lib/wee/response.rb +4 -4
  131. data/lib/wee/session.rb +2 -2
  132. data/lib/wee/state.rb +2 -2
  133. data/test/t.rb +67 -0
  134. data/wee.gemspec +1 -1
  135. metadata +157 -167
data/TODO ADDED
@@ -0,0 +1,31 @@
1
+
2
+ Extend PageDecoration:
3
+
4
+ * strict xhtml
5
+ * plugins can insert all their static content into the page.
6
+ Wee::Application.register_plugin(
7
+ * maybe use diverts
8
+
9
+ Example project: Cookbook
10
+
11
+ ------------
12
+
13
+ * wee-sequel
14
+
15
+ * set info url
16
+
17
+ class ModelEditor < Wee::Component
18
+
19
+ def initialize(instance)
20
+ @instance = instance
21
+ end
22
+
23
+ def refresh
24
+ @instance.reload #
25
+ end
26
+
27
+ def save
28
+ @instance.save
29
+ end
30
+
31
+ end
@@ -0,0 +1,37 @@
1
+ $LOAD_PATH.unshift "./lib"
2
+ require 'rubygems'
3
+ require 'wee'
4
+ require 'rack'
5
+
6
+ require 'examples/hw'
7
+
8
+ root_component = HelloWorld.new
9
+
10
+ class Rack::Request
11
+ def put?; get? end
12
+ end
13
+
14
+ class Wee::HtmlWriter
15
+ def join
16
+ @port
17
+ end
18
+ end
19
+
20
+ n = Integer(ARGV[0])
21
+ p n
22
+ n.times do
23
+ r = Wee::Renderer.new
24
+ r.request = Wee::Request.new({'REQUEST_METHOD' => 'GET', 'SCRIPT_NAME' => 'blah', 'PATH_INFO' => 'blubb',
25
+ 'QUERY_STRING' => '_p=blah&_s=session'})
26
+ r.document = Wee::HtmlDocument.new()
27
+ r.callbacks = Wee::Callbacks.new
28
+
29
+ begin
30
+ root_component.decoration.render_on(r)
31
+ ensure
32
+ r.close
33
+ end
34
+
35
+ #page.callbacks = r.callbacks
36
+ Wee::GenericResponse.new(r.document.join)
37
+ end
data/demo.ru ADDED
@@ -0,0 +1,11 @@
1
+ require 'demo'
2
+
3
+ #use Rack::CommonLogger
4
+ #use Rack::ShowExceptions
5
+ #use Rack::ShowStatus
6
+
7
+ Wee::Application.applications.each {|a|
8
+ map a.path do
9
+ run a
10
+ end
11
+ }
@@ -1,9 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
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
+
3
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
7
  <head>
5
- <title>Class: Array [RDoc Documentation]</title>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+ <title>Class: Array</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
8
11
  <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
9
12
  <script type="text/javascript">
@@ -22,7 +25,7 @@
22
25
  return false;
23
26
 
24
27
  elemStyle = elem.style;
25
-
28
+
26
29
  if ( elemStyle.display != "block" ) {
27
30
  elemStyle.display = "block"
28
31
  } else {
@@ -31,10 +34,10 @@
31
34
 
32
35
  return true;
33
36
  }
34
-
37
+
35
38
  // Make codeblocks hidden by default
36
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
37
-
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
38
41
  // ]]>
39
42
  </script>
40
43
 
@@ -42,6 +45,7 @@
42
45
  <body>
43
46
 
44
47
 
48
+
45
49
  <div id="classHeader">
46
50
  <table class="header-table">
47
51
  <tr class="top-aligned-row">
@@ -51,56 +55,45 @@
51
55
  <tr class="top-aligned-row">
52
56
  <td><strong>In:</strong></td>
53
57
  <td>
54
-
55
-
56
58
  <a href="../files/lib/wee/state_rb.html">
57
-
58
59
  lib/wee/state.rb
59
-
60
60
  </a>
61
-
62
-
63
61
  <br />
64
-
65
62
  </td>
66
63
  </tr>
67
64
 
68
-
69
65
  <tr class="top-aligned-row">
70
66
  <td><strong>Parent:</strong></td>
71
67
  <td>
72
-
73
68
  <a href="Object.html">
74
-
75
69
  Object
76
-
77
70
  </a>
78
-
79
71
  </td>
80
72
  </tr>
81
-
82
73
  </table>
83
74
  </div>
84
75
  <!-- banner header -->
85
76
 
86
77
  <div id="bodyContent">
87
78
 
79
+
80
+
88
81
  <div id="contextContent">
89
82
 
83
+
84
+
90
85
  </div>
91
86
 
92
87
 
93
88
  </div>
94
89
 
95
- <!-- if includes -->
96
90
 
91
+ <!-- if includes -->
97
92
  <div id="includes">
98
93
  <h3 class="section-bar">Included Modules</h3>
99
94
 
100
95
  <div id="includes-list">
101
-
102
96
  <span class="include-name"><a href="Wee/DupReplaceSnapshotMixin.html">Wee::DupReplaceSnapshotMixin</a></span>
103
-
104
97
  </div>
105
98
  </div>
106
99
 
@@ -109,16 +102,19 @@
109
102
 
110
103
 
111
104
 
112
- <!-- if method_list -->
113
105
 
106
+
114
107
 
115
108
 
109
+ <!-- if method_list -->
110
+
116
111
 
117
112
  </div>
118
113
 
114
+
119
115
  <div id="validator-badges">
120
116
  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
121
117
  </div>
122
118
 
123
119
  </body>
124
- </html>
120
+ </html>
@@ -1,9 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
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
+
3
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
7
  <head>
5
- <title>Class: Hash [RDoc Documentation]</title>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+ <title>Class: Hash</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
8
11
  <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
9
12
  <script type="text/javascript">
@@ -22,7 +25,7 @@
22
25
  return false;
23
26
 
24
27
  elemStyle = elem.style;
25
-
28
+
26
29
  if ( elemStyle.display != "block" ) {
27
30
  elemStyle.display = "block"
28
31
  } else {
@@ -31,10 +34,10 @@
31
34
 
32
35
  return true;
33
36
  }
34
-
37
+
35
38
  // Make codeblocks hidden by default
36
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
37
-
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
38
41
  // ]]>
39
42
  </script>
40
43
 
@@ -42,6 +45,7 @@
42
45
  <body>
43
46
 
44
47
 
48
+
45
49
  <div id="classHeader">
46
50
  <table class="header-table">
47
51
  <tr class="top-aligned-row">
@@ -51,56 +55,45 @@
51
55
  <tr class="top-aligned-row">
52
56
  <td><strong>In:</strong></td>
53
57
  <td>
54
-
55
-
56
58
  <a href="../files/lib/wee/state_rb.html">
57
-
58
59
  lib/wee/state.rb
59
-
60
60
  </a>
61
-
62
-
63
61
  <br />
64
-
65
62
  </td>
66
63
  </tr>
67
64
 
68
-
69
65
  <tr class="top-aligned-row">
70
66
  <td><strong>Parent:</strong></td>
71
67
  <td>
72
-
73
68
  <a href="Object.html">
74
-
75
69
  Object
76
-
77
70
  </a>
78
-
79
71
  </td>
80
72
  </tr>
81
-
82
73
  </table>
83
74
  </div>
84
75
  <!-- banner header -->
85
76
 
86
77
  <div id="bodyContent">
87
78
 
79
+
80
+
88
81
  <div id="contextContent">
89
82
 
83
+
84
+
90
85
  </div>
91
86
 
92
87
 
93
88
  </div>
94
89
 
95
- <!-- if includes -->
96
90
 
91
+ <!-- if includes -->
97
92
  <div id="includes">
98
93
  <h3 class="section-bar">Included Modules</h3>
99
94
 
100
95
  <div id="includes-list">
101
-
102
96
  <span class="include-name"><a href="Wee/DupReplaceSnapshotMixin.html">Wee::DupReplaceSnapshotMixin</a></span>
103
-
104
97
  </div>
105
98
  </div>
106
99
 
@@ -109,16 +102,19 @@
109
102
 
110
103
 
111
104
 
112
- <!-- if method_list -->
113
105
 
106
+
114
107
 
115
108
 
109
+ <!-- if method_list -->
110
+
116
111
 
117
112
  </div>
118
113
 
114
+
119
115
  <div id="validator-badges">
120
116
  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
121
117
  </div>
122
118
 
123
119
  </body>
124
- </html>
120
+ </html>
@@ -1,9 +1,12 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
2
- "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
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
+
3
6
  <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
4
7
  <head>
5
- <title>Class: Object [RDoc Documentation]</title>
6
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
8
+ <title>Class: Object</title>
9
+ <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
7
10
  <meta http-equiv="Content-Script-Type" content="text/javascript" />
8
11
  <link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
9
12
  <script type="text/javascript">
@@ -22,7 +25,7 @@
22
25
  return false;
23
26
 
24
27
  elemStyle = elem.style;
25
-
28
+
26
29
  if ( elemStyle.display != "block" ) {
27
30
  elemStyle.display = "block"
28
31
  } else {
@@ -31,10 +34,10 @@
31
34
 
32
35
  return true;
33
36
  }
34
-
37
+
35
38
  // Make codeblocks hidden by default
36
- document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }<\/style>" )
37
-
39
+ document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
40
+
38
41
  // ]]>
39
42
  </script>
40
43
 
@@ -42,6 +45,7 @@
42
45
  <body>
43
46
 
44
47
 
48
+
45
49
  <div id="classHeader">
46
50
  <table class="header-table">
47
51
  <tr class="top-aligned-row">
@@ -51,40 +55,29 @@
51
55
  <tr class="top-aligned-row">
52
56
  <td><strong>In:</strong></td>
53
57
  <td>
54
-
55
-
56
58
  <a href="../files/lib/wee/state_rb.html">
57
-
58
59
  lib/wee/state.rb
59
-
60
60
  </a>
61
-
62
-
63
61
  <br />
64
-
65
62
  </td>
66
63
  </tr>
67
64
 
68
-
69
65
  <tr class="top-aligned-row">
70
66
  <td><strong>Parent:</strong></td>
71
67
  <td>
72
-
73
68
  <a href="Object.html">
74
-
75
69
  Object
76
-
77
70
  </a>
78
-
79
71
  </td>
80
72
  </tr>
81
-
82
73
  </table>
83
74
  </div>
84
75
  <!-- banner header -->
85
76
 
86
77
  <div id="bodyContent">
87
78
 
79
+
80
+
88
81
  <div id="contextContent">
89
82
 
90
83
  <div id="description">
@@ -94,20 +87,19 @@ Extend base classes with snapshot functionality
94
87
 
95
88
  </div>
96
89
 
90
+
97
91
  </div>
98
92
 
99
93
 
100
94
  </div>
101
95
 
102
- <!-- if includes -->
103
96
 
97
+ <!-- if includes -->
104
98
  <div id="includes">
105
99
  <h3 class="section-bar">Included Modules</h3>
106
100
 
107
101
  <div id="includes-list">
108
-
109
102
  <span class="include-name"><a href="Wee/ObjectSnapshotMixin.html">Wee::ObjectSnapshotMixin</a></span>
110
-
111
103
  </div>
112
104
  </div>
113
105
 
@@ -116,16 +108,19 @@ Extend base classes with snapshot functionality
116
108
 
117
109
 
118
110
 
119
- <!-- if method_list -->
120
111
 
112
+
121
113
 
122
114
 
115
+ <!-- if method_list -->
116
+
123
117
 
124
118
  </div>
125
119
 
120
+
126
121
  <div id="validator-badges">
127
122
  <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
128
123
  </div>
129
124
 
130
125
  </body>
131
- </html>
126
+ </html>