ruby-breakpoint 0.5.0 → 0.5.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/Manifest +38 -35
- data/NEWS +14 -0
- data/README +4 -4
- data/TODO +4 -0
- data/bin/breakpoint_client +1 -212
- data/doc/classes/Binding.html +237 -220
- data/doc/classes/Breakpoint.html +552 -539
- data/doc/classes/Breakpoint/CommandBundle.html +206 -206
- data/doc/classes/Breakpoint/CommandBundle/Client.html +232 -200
- data/doc/classes/Breakpoint/FailedAssertError.html +117 -117
- data/doc/classes/Handlers.html +230 -0
- data/doc/created.rid +1 -1
- data/doc/files/COPYING.html +162 -162
- data/doc/files/NEWS.html +168 -134
- data/doc/files/README.html +154 -153
- data/doc/files/TODO.html +166 -161
- data/doc/files/lib/binding_of_caller_rb.html +100 -100
- data/doc/files/lib/breakpoint_client_rb.html +131 -0
- data/doc/files/lib/breakpoint_rb.html +201 -201
- data/doc/fr_class_index.html +31 -30
- data/doc/fr_file_index.html +32 -31
- data/doc/fr_method_index.html +41 -37
- data/doc/index.html +23 -23
- data/doc/rdoc-style.css +207 -207
- data/lib/binding_of_caller.rb +16 -2
- data/lib/breakpoint.rb +34 -7
- data/lib/breakpoint_client.rb +214 -0
- metadata +63 -57
data/doc/files/README.html
CHANGED
@@ -1,154 +1,155 @@
|
|
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>File: README</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="fileHeader">
|
50
|
-
<h1>README</h1>
|
51
|
-
<table class="header-table">
|
52
|
-
<tr class="top-aligned-row">
|
53
|
-
<td><strong>Path:</strong></td>
|
54
|
-
<td>README
|
55
|
-
</td>
|
56
|
-
</tr>
|
57
|
-
<tr class="top-aligned-row">
|
58
|
-
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>Fri Mar 04 20:52:10 Westeurop�ische Normalzeit 2005</td>
|
60
|
-
</tr>
|
61
|
-
</table>
|
62
|
-
</div>
|
63
|
-
<!-- banner header -->
|
64
|
-
|
65
|
-
<div id="bodyContent">
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
<div id="contextContent">
|
70
|
-
|
71
|
-
<div id="description">
|
72
|
-
<h1>ruby-breakpoint 0.5.0 README</h1>
|
73
|
-
<p>
|
74
|
-
ruby-breakpoint lets you inspect and modify state at run time. This allows
|
75
|
-
you to diagnose bugs, patch
|
76
1
|
applications and more all via IRB by simply
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
<
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<
|
116
|
-
|
117
|
-
|
118
|
-
</
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
2
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
3
|
+
<!DOCTYPE html
|
4
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
5
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
6
|
+
|
7
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
8
|
+
<head>
|
9
|
+
<title>File: README</title>
|
10
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
11
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
12
|
+
<link rel="stylesheet" href=".././rdoc-style.css" type="text/css" media="screen" />
|
13
|
+
<script type="text/javascript">
|
14
|
+
// <![CDATA[
|
15
|
+
|
16
|
+
function popupCode( url ) {
|
17
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
18
|
+
}
|
19
|
+
|
20
|
+
function toggleCode( id ) {
|
21
|
+
if ( document.getElementById )
|
22
|
+
elem = document.getElementById( id );
|
23
|
+
else if ( document.all )
|
24
|
+
elem = eval( "document.all." + id );
|
25
|
+
else
|
26
|
+
return false;
|
27
|
+
|
28
|
+
elemStyle = elem.style;
|
29
|
+
|
30
|
+
if ( elemStyle.display != "block" ) {
|
31
|
+
elemStyle.display = "block"
|
32
|
+
} else {
|
33
|
+
elemStyle.display = "none"
|
34
|
+
}
|
35
|
+
|
36
|
+
return true;
|
37
|
+
}
|
38
|
+
|
39
|
+
// Make codeblocks hidden by default
|
40
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
41
|
+
|
42
|
+
// ]]>
|
43
|
+
</script>
|
44
|
+
|
45
|
+
</head>
|
46
|
+
<body>
|
47
|
+
|
48
|
+
|
49
|
+
|
50
|
+
<div id="fileHeader">
|
51
|
+
<h1>README</h1>
|
52
|
+
<table class="header-table">
|
53
|
+
<tr class="top-aligned-row">
|
54
|
+
<td><strong>Path:</strong></td>
|
55
|
+
<td>README
|
56
|
+
</td>
|
57
|
+
</tr>
|
58
|
+
<tr class="top-aligned-row">
|
59
|
+
<td><strong>Last Update:</strong></td>
|
60
|
+
<td>Sun Jun 04 18:12:39 CEST 2006</td>
|
61
|
+
</tr>
|
62
|
+
</table>
|
63
|
+
</div>
|
64
|
+
<!-- banner header -->
|
65
|
+
|
66
|
+
<div id="bodyContent">
|
67
|
+
|
68
|
+
|
69
|
+
|
70
|
+
<div id="contextContent">
|
71
|
+
|
72
|
+
<div id="description">
|
73
|
+
<h1>ruby-breakpoint 0.5.1 README</h1>
|
74
|
+
<p>
|
75
|
+
ruby-breakpoint lets you inspect and modify state at run time. This allows
|
76
|
+
you to diagnose bugs, patch applications and more all via IRB by simply
|
77
|
+
doing a method call at the place you want to investigate.
|
78
|
+
</p>
|
79
|
+
<p>
|
80
|
+
ruby-breakpoint is integrated into the popular RubyOnRails and Nitro web
|
81
|
+
development frameworks. In the past it has also been a part of the Ruby
|
82
|
+
dev-utils Project.
|
83
|
+
</p>
|
84
|
+
<p>
|
85
|
+
ruby-breakpoint is available from <a
|
86
|
+
href="http://ruby-breakpoint.rubyforge.org">ruby-breakpoint.rubyforge.org</a>/
|
87
|
+
— that web site also is a good place for discussing new features,
|
88
|
+
filing bug reports and so on.
|
89
|
+
</p>
|
90
|
+
<p>
|
91
|
+
See the NEWS file for the changes that were done in this release.
|
92
|
+
</p>
|
93
|
+
<h2>Requirements</h2>
|
94
|
+
<ul>
|
95
|
+
<li>Ruby >= 1.8.2
|
96
|
+
|
97
|
+
</li>
|
98
|
+
<li>DRb, IRB (usually shipped with Ruby, but not on Debian)
|
99
|
+
|
100
|
+
</li>
|
101
|
+
</ul>
|
102
|
+
<h2>Installation</h2>
|
103
|
+
<p>
|
104
|
+
De-compress archive and enter its top directory. Then type:
|
105
|
+
</p>
|
106
|
+
<pre>
|
107
|
+
($ su)
|
108
|
+
# ruby setup.rb
|
109
|
+
</pre>
|
110
|
+
<p>
|
111
|
+
This simple step installs this program under the default location of Ruby
|
112
|
+
libraries. You can also install files into your favorite directory by
|
113
|
+
supplying setup.rb with some options. Try "ruby setup.rb
|
114
|
+
—help".
|
115
|
+
</p>
|
116
|
+
<h2>License</h2>
|
117
|
+
<p>
|
118
|
+
Dual licensed under GPL and Ruby’s custom license. See COPYING.
|
119
|
+
</p>
|
120
|
+
<h2>Author</h2>
|
121
|
+
<p>
|
122
|
+
Florian Gross, flgr@ccan.de
|
123
|
+
</p>
|
124
|
+
|
125
|
+
</div>
|
126
|
+
|
127
|
+
|
128
|
+
</div>
|
129
|
+
|
130
|
+
|
131
|
+
</div>
|
132
|
+
|
133
|
+
|
134
|
+
<!-- if includes -->
|
135
|
+
|
136
|
+
<div id="section">
|
137
|
+
|
138
|
+
|
139
|
+
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
|
145
|
+
<!-- if method_list -->
|
146
|
+
|
147
|
+
|
148
|
+
</div>
|
149
|
+
|
150
|
+
|
151
|
+
<div id="validator-badges">
|
152
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
153
|
+
</div>
|
154
|
+
|
155
|
+
</body>
|
155
156
|
</html>
|
data/doc/files/TODO.html
CHANGED
@@ -1,162 +1,167 @@
|
|
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>File: TODO</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="fileHeader">
|
50
|
-
<h1>TODO</h1>
|
51
|
-
<table class="header-table">
|
52
|
-
<tr class="top-aligned-row">
|
53
|
-
<td><strong>Path:</strong></td>
|
54
|
-
<td>TODO
|
55
|
-
</td>
|
56
|
-
</tr>
|
57
|
-
<tr class="top-aligned-row">
|
58
|
-
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
60
|
-
</tr>
|
61
|
-
</table>
|
62
|
-
</div>
|
63
|
-
<!-- banner header -->
|
64
|
-
|
65
|
-
<div id="bodyContent">
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
<div id="contextContent">
|
70
|
-
|
71
|
-
<div id="description">
|
72
|
-
<h1>TODO</h1>
|
73
|
-
<ul>
|
74
|
-
<li>Factor out remote breakpoint support to a separate file so it can be loaded
|
75
|
-
on-demand. This would allow the local breakpoint functionality to work even
|
76
|
-
when DRb is not available. (E.g. on Debian)
|
77
|
-
|
78
|
-
</li>
|
79
|
-
</ul>
|
80
|
-
<h1>Done</h1>
|
81
|
-
<ul>
|
82
|
-
<li>
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
information
|
89
|
-
|
90
|
-
<
|
91
|
-
<a
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
<
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
</li>
|
120
|
-
<li>
|
121
|
-
|
122
|
-
|
123
|
-
</
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
</li>
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
</div>
|
160
|
-
|
161
|
-
|
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>File: TODO</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="fileHeader">
|
50
|
+
<h1>TODO</h1>
|
51
|
+
<table class="header-table">
|
52
|
+
<tr class="top-aligned-row">
|
53
|
+
<td><strong>Path:</strong></td>
|
54
|
+
<td>TODO
|
55
|
+
</td>
|
56
|
+
</tr>
|
57
|
+
<tr class="top-aligned-row">
|
58
|
+
<td><strong>Last Update:</strong></td>
|
59
|
+
<td>Sun Jun 04 18:22:07 CEST 2006</td>
|
60
|
+
</tr>
|
61
|
+
</table>
|
62
|
+
</div>
|
63
|
+
<!-- banner header -->
|
64
|
+
|
65
|
+
<div id="bodyContent">
|
66
|
+
|
67
|
+
|
68
|
+
|
69
|
+
<div id="contextContent">
|
70
|
+
|
71
|
+
<div id="description">
|
72
|
+
<h1>TODO</h1>
|
73
|
+
<ul>
|
74
|
+
<li>Factor out remote breakpoint support to a separate file so it can be loaded
|
75
|
+
on-demand. This would allow the local breakpoint functionality to work even
|
76
|
+
when DRb is not available. (E.g. on Debian)
|
77
|
+
|
78
|
+
</li>
|
79
|
+
</ul>
|
80
|
+
<h1>Done</h1>
|
81
|
+
<ul>
|
82
|
+
<li>breakpoint_client ought to handle the case that Options is already defined
|
83
|
+
so that RubyOnRails and other frameworks that might want to ship
|
84
|
+
ruby-breakpoint directly can overwrite the default options easily.
|
85
|
+
|
86
|
+
</li>
|
87
|
+
<li>Do further research on the write SecurityError. See ruby-core for more
|
88
|
+
information.
|
89
|
+
|
90
|
+
<ul>
|
91
|
+
<li>This seems to have been a bug in Ruby 1.8.1 and early snapshots in Ruby
|
92
|
+
1.8.2. The problem can be fixed by updating to a more current Ruby. More
|
93
|
+
information regarding this is available at the Wiki:
|
94
|
+
|
95
|
+
<p>
|
96
|
+
<a
|
97
|
+
href="http://ruby-breakpoint.rubyforge.org/wiki/wiki.pl?FrequentlyAskedQuestions">ruby-breakpoint.rubyforge.org/wiki/wiki.pl?FrequentlyAskedQuestions</a>
|
98
|
+
</p>
|
99
|
+
</li>
|
100
|
+
</ul>
|
101
|
+
</li>
|
102
|
+
<li>Find out whether we need to add Windows and Linux wrappers to the bin/
|
103
|
+
directory
|
104
|
+
|
105
|
+
<ul>
|
106
|
+
<li>This is handled correctly by RubyGems. setup.rb only copies the .rb file to
|
107
|
+
a suitable directory, but that should work in the usual case.
|
108
|
+
|
109
|
+
</li>
|
110
|
+
</ul>
|
111
|
+
</li>
|
112
|
+
<li>breakpoint_client needs logic for detecting the default client uri based on
|
113
|
+
the server uri:
|
114
|
+
|
115
|
+
<ul>
|
116
|
+
<li>drbunix:/foo/bar => drbunix:#{File.join(Dir.tmpdir,
|
117
|
+
"#{random}.breakpoint")} (require ‘tmpdir’)
|
118
|
+
|
119
|
+
</li>
|
120
|
+
<li>druby://localhost:port => druby://localhost:#{rand_port}
|
121
|
+
|
122
|
+
</li>
|
123
|
+
</ul>
|
124
|
+
</li>
|
125
|
+
<li>Mention available ressources (especially the FAQ) in breakpoint_client
|
126
|
+
—help
|
127
|
+
|
128
|
+
</li>
|
129
|
+
<li>Document drbunix:/ uris and how they are more secure than druby:// with
|
130
|
+
ACLs. Suggest that this be used in environments where there are lots of
|
131
|
+
users sharing the same system. (E.g. web hosters)
|
132
|
+
|
133
|
+
</li>
|
134
|
+
</ul>
|
135
|
+
|
136
|
+
</div>
|
137
|
+
|
138
|
+
|
139
|
+
</div>
|
140
|
+
|
141
|
+
|
142
|
+
</div>
|
143
|
+
|
144
|
+
|
145
|
+
<!-- if includes -->
|
146
|
+
|
147
|
+
<div id="section">
|
148
|
+
|
149
|
+
|
150
|
+
|
151
|
+
|
152
|
+
|
153
|
+
|
154
|
+
|
155
|
+
|
156
|
+
<!-- if method_list -->
|
157
|
+
|
158
|
+
|
159
|
+
</div>
|
160
|
+
|
161
|
+
|
162
|
+
<div id="validator-badges">
|
163
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
164
|
+
</div>
|
165
|
+
|
166
|
+
</body>
|
162
167
|
</html>
|