serverside 0.2.0 → 0.2.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (40) hide show
  1. data/CHANGELOG +26 -0
  2. data/README +39 -22
  3. data/Rakefile +18 -2
  4. data/bin/serverside +21 -5
  5. data/doc/rdoc/classes/ServerSide/Application.html +12 -19
  6. data/doc/rdoc/classes/ServerSide/Connection/Base.html +203 -116
  7. data/doc/rdoc/classes/ServerSide/Connection/Const.html +35 -5
  8. data/doc/rdoc/classes/ServerSide/Connection/Router.html +107 -78
  9. data/doc/rdoc/classes/ServerSide/Server.html +1 -1
  10. data/doc/rdoc/classes/ServerSide/StaticFiles/Const.html +10 -0
  11. data/doc/rdoc/classes/ServerSide/StaticFiles.html +73 -43
  12. data/doc/rdoc/classes/ServerSide/Template.html +200 -0
  13. data/doc/rdoc/classes/ServerSide.html +13 -8
  14. data/doc/rdoc/created.rid +1 -1
  15. data/doc/rdoc/files/CHANGELOG.html +44 -1
  16. data/doc/rdoc/files/README.html +63 -35
  17. data/doc/rdoc/files/lib/serverside/application_rb.html +1 -1
  18. data/doc/rdoc/files/lib/serverside/connection_rb.html +1 -1
  19. data/doc/rdoc/files/lib/serverside/routing_rb.html +1 -1
  20. data/doc/rdoc/files/lib/serverside/server_rb.html +1 -1
  21. data/doc/rdoc/files/lib/serverside/static_rb.html +1 -1
  22. data/doc/rdoc/files/lib/serverside/template_rb.html +108 -0
  23. data/doc/rdoc/fr_class_index.html +1 -2
  24. data/doc/rdoc/fr_file_index.html +1 -0
  25. data/doc/rdoc/fr_method_index.html +18 -16
  26. data/lib/serverside/application.rb +0 -28
  27. data/lib/serverside/connection.rb +38 -12
  28. data/lib/serverside/routing.rb +23 -2
  29. data/lib/serverside/server.rb +1 -1
  30. data/lib/serverside/static.rb +12 -0
  31. data/lib/serverside/template.rb +36 -0
  32. data/test/functional/primitive_static_server_test.rb +26 -2
  33. data/test/functional/static_rfuzz.rb +3 -39
  34. data/test/spec/core_ext_spec.rb +68 -0
  35. data/test/unit/connection_test.rb +37 -1
  36. data/test/unit/template_test.rb +78 -0
  37. metadata +8 -6
  38. data/doc/rdoc/classes/ServerSide/Application/Base.html +0 -196
  39. data/doc/rdoc/classes/ServerSide/Application/Static.html +0 -156
  40. data/test/unit/application_test.rb +0 -16
@@ -0,0 +1,200 @@
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: ServerSide::Template</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">ServerSide::Template</td>
54
+ </tr>
55
+ <tr class="top-aligned-row">
56
+ <td><strong>In:</strong></td>
57
+ <td>
58
+ <a href="../../files/lib/serverside/template_rb.html">
59
+ lib/serverside/template.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="../Object.html">
69
+ Object
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
+ The <a href="Template.html">Template</a> module implements an ERB template
86
+ rendering system. Templates are cached and automatically reloaded if the
87
+ file changes.
88
+ </p>
89
+
90
+ </div>
91
+
92
+
93
+ </div>
94
+
95
+ <div id="method-list">
96
+ <h3 class="section-bar">Methods</h3>
97
+
98
+ <div class="name-list">
99
+ <a href="#M000052">render</a>&nbsp;&nbsp;
100
+ <a href="#M000051">set</a>&nbsp;&nbsp;
101
+ </div>
102
+ </div>
103
+
104
+ </div>
105
+
106
+
107
+ <!-- if includes -->
108
+
109
+ <div id="section">
110
+
111
+
112
+
113
+
114
+
115
+
116
+
117
+
118
+ <!-- if method_list -->
119
+ <div id="methods">
120
+ <h3 class="section-bar">Public Class methods</h3>
121
+
122
+ <div id="method-M000052" class="method-detail">
123
+ <a name="M000052"></a>
124
+
125
+ <div class="method-heading">
126
+ <a href="#M000052" class="method-signature">
127
+ <span class="method-name">render</span><span class="method-args">(name, binding)</span>
128
+ </a>
129
+ </div>
130
+
131
+ <div class="method-description">
132
+ <p>
133
+ Renders a template. If the template name is not found, attemps to load the
134
+ template from file. If the template has a non-nil stamp, the render method
135
+ compares it to the file stamp, and reloads the template content if
136
+ necessary.
137
+ </p>
138
+ <p><a class="source-toggle" href="#"
139
+ onclick="toggleCode('M000052-source');return false;">[Source]</a></p>
140
+ <div class="method-source-code" id="M000052-source">
141
+ <pre>
142
+ <span class="ruby-comment cmt"># File lib/serverside/template.rb, line 22</span>
143
+ 22: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">render</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">binding</span>)
144
+ 23: <span class="ruby-identifier">t</span> = <span class="ruby-ivar">@@templates</span>[<span class="ruby-identifier">name</span>]
145
+ 24: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">t</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">t</span> <span class="ruby-operator">&amp;&amp;</span> <span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">nil?</span>
146
+ 25:
147
+ 26: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">file?</span>(<span class="ruby-identifier">name</span>)
148
+ 27: <span class="ruby-identifier">stamp</span> = <span class="ruby-constant">File</span>.<span class="ruby-identifier">mtime</span>(<span class="ruby-identifier">name</span>)
149
+ 28: <span class="ruby-identifier">t</span> = <span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-constant">IO</span>.<span class="ruby-identifier">read</span>(<span class="ruby-identifier">name</span>), <span class="ruby-identifier">stamp</span>) <span class="ruby-keyword kw">if</span> (<span class="ruby-operator">!</span><span class="ruby-identifier">t</span> <span class="ruby-operator">||</span> (<span class="ruby-identifier">stamp</span> <span class="ruby-operator">!=</span> <span class="ruby-identifier">t</span>[<span class="ruby-value">0</span>]))
150
+ 29: <span class="ruby-identifier">t</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">result</span>(<span class="ruby-identifier">binding</span>)
151
+ 30: <span class="ruby-keyword kw">else</span>
152
+ 31: <span class="ruby-ivar">@@templates</span>[<span class="ruby-identifier">name</span>] = <span class="ruby-keyword kw">nil</span>
153
+ 32: <span class="ruby-identifier">raise</span> <span class="ruby-constant">RuntimeError</span>, <span class="ruby-value str">'Template not found.'</span>
154
+ 33: <span class="ruby-keyword kw">end</span>
155
+ 34: <span class="ruby-keyword kw">end</span>
156
+ </pre>
157
+ </div>
158
+ </div>
159
+ </div>
160
+
161
+ <div id="method-M000051" class="method-detail">
162
+ <a name="M000051"></a>
163
+
164
+ <div class="method-heading">
165
+ <a href="#M000051" class="method-signature">
166
+ <span class="method-name">set</span><span class="method-args">(name, body, stamp = nil)</span>
167
+ </a>
168
+ </div>
169
+
170
+ <div class="method-description">
171
+ <p>
172
+ Stores a template for later use. The stamp parameter is used only when the
173
+ content of a template file is stored.
174
+ </p>
175
+ <p><a class="source-toggle" href="#"
176
+ onclick="toggleCode('M000051-source');return false;">[Source]</a></p>
177
+ <div class="method-source-code" id="M000051-source">
178
+ <pre>
179
+ <span class="ruby-comment cmt"># File lib/serverside/template.rb, line 14</span>
180
+ 14: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">name</span>, <span class="ruby-identifier">body</span>, <span class="ruby-identifier">stamp</span> = <span class="ruby-keyword kw">nil</span>)
181
+ 15: <span class="ruby-ivar">@@templates</span>[<span class="ruby-identifier">name</span>] = [<span class="ruby-identifier">stamp</span>, <span class="ruby-constant">ERB</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">body</span>)]
182
+ 16: <span class="ruby-keyword kw">end</span>
183
+ </pre>
184
+ </div>
185
+ </div>
186
+ </div>
187
+
188
+
189
+ </div>
190
+
191
+
192
+ </div>
193
+
194
+
195
+ <div id="validator-badges">
196
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
197
+ </div>
198
+
199
+ </body>
200
+ </html>
@@ -78,6 +78,10 @@
78
78
  <a href="../files/lib/serverside/routing_rb.html">
79
79
  lib/serverside/routing.rb
80
80
  </a>
81
+ <br />
82
+ <a href="../files/lib/serverside/template_rb.html">
83
+ lib/serverside/template.rb
84
+ </a>
81
85
  <br />
82
86
  </td>
83
87
  </tr>
@@ -149,6 +153,7 @@ and streaming.
149
153
  Module <a href="ServerSide/Connection.html" class="link">ServerSide::Connection</a><br />
150
154
  Module <a href="ServerSide/StaticFiles.html" class="link">ServerSide::StaticFiles</a><br />
151
155
  Class <a href="ServerSide/Server.html" class="link">ServerSide::Server</a><br />
156
+ Class <a href="ServerSide/Template.html" class="link">ServerSide::Template</a><br />
152
157
 
153
158
  </div>
154
159
 
@@ -179,10 +184,10 @@ Adds a routing rule. This is a convenience method.
179
184
  onclick="toggleCode('M000022-source');return false;">[Source]</a></p>
180
185
  <div class="method-source-code" id="M000022-source">
181
186
  <pre>
182
- <span class="ruby-comment cmt"># File lib/serverside/routing.rb, line 111</span>
183
- 111: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">route</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
184
- 112: <span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Router</span>.<span class="ruby-identifier">route</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
185
- 113: <span class="ruby-keyword kw">end</span>
187
+ <span class="ruby-comment cmt"># File lib/serverside/routing.rb, line 132</span>
188
+ 132: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">route</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
189
+ 133: <span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Router</span>.<span class="ruby-identifier">route</span>(<span class="ruby-identifier">rule</span>, <span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
190
+ 134: <span class="ruby-keyword kw">end</span>
186
191
  </pre>
187
192
  </div>
188
193
  </div>
@@ -205,10 +210,10 @@ Sets the default request handler. This is a convenience method.
205
210
  onclick="toggleCode('M000023-source');return false;">[Source]</a></p>
206
211
  <div class="method-source-code" id="M000023-source">
207
212
  <pre>
208
- <span class="ruby-comment cmt"># File lib/serverside/routing.rb, line 116</span>
209
- 116: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">route_default</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
210
- 117: <span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Router</span>.<span class="ruby-identifier">route_default</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
211
- 118: <span class="ruby-keyword kw">end</span>
213
+ <span class="ruby-comment cmt"># File lib/serverside/routing.rb, line 137</span>
214
+ 137: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">route_default</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
215
+ 138: <span class="ruby-constant">Connection</span><span class="ruby-operator">::</span><span class="ruby-constant">Router</span>.<span class="ruby-identifier">route_default</span>(<span class="ruby-operator">&amp;</span><span class="ruby-identifier">block</span>)
216
+ 139: <span class="ruby-keyword kw">end</span>
212
217
  </pre>
213
218
  </div>
214
219
  </div>
data/doc/rdoc/created.rid CHANGED
@@ -1 +1 @@
1
- Mon Aug 28 10:58:48 IDT 2006
1
+ Sun Sep 03 11:49:32 IDT 2006
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Aug 28 10:58:09 IDT 2006</td>
59
+ <td>Sun Sep 03 11:48:20 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -70,9 +70,52 @@
70
70
 
71
71
  <div id="description">
72
72
  <p>
73
+ *0.2.5*
74
+ </p>
75
+ <ul>
76
+ <li>Added template serving to static file module.
77
+
78
+ </li>
79
+ <li>Wrote a simple ERB template system.
80
+
81
+ </li>
82
+ <li>More documentation tweaks.
83
+
84
+ </li>
85
+ <li>Changed how response cookies are formatted for somewhat better performance.
86
+
87
+ </li>
88
+ <li>Updated documentation.
89
+
90
+ </li>
91
+ <li>Removed deprecated code in lib/serverside/application.rb.
92
+
93
+ </li>
94
+ <li>Added HTTP cookie functionality (parse, set and delete.)
95
+
96
+ </li>
97
+ <li>Updated rakefile to include a spec task, as well as an rcov task. Updated
98
+ test task to include spec and rcov tasks.
99
+
100
+ </li>
101
+ <li>Started writing RSpec tests. This looks like a very interesting concept.
102
+
103
+ </li>
104
+ <li>Added /test/spec directory.
105
+
106
+ </li>
107
+ </ul>
108
+ <p>
73
109
  *0.2.0*
74
110
  </p>
75
111
  <ul>
112
+ <li>Updated RFuzz script to work, but it doesn&#8217;t still do anything
113
+ interesting.
114
+
115
+ </li>
116
+ <li>Added a serve command to serverside script.
117
+
118
+ </li>
76
119
  <li>Changed substition of embedded parameters from (.*) to (.+).
77
120
 
78
121
  </li>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Wed Aug 16 12:15:42 IDT 2006</td>
59
+ <td>Sun Sep 03 11:46:31 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -77,65 +77,93 @@ use. <a href="../classes/ServerSide.html">ServerSide</a> includes a
77
77
  full-featured HTTP server, a controller-view system and a bunch of other
78
78
  tools to easily create servers and clusters of servers.
79
79
  </p>
80
- <h2>Installation</h2>
81
- <p>
82
- <tt>sudo gem install serverside</tt>
83
- </p>
84
- <h2>Source Code</h2>
80
+ <h2>Resources</h2>
81
+ <ul>
82
+ <li><a href="http://code.google.com/p/serverside/">Project page</a>
83
+
84
+ </li>
85
+ <li><a href="http://serverside.googlecode.com/svn/">Source code</a>
86
+
87
+ </li>
88
+ <li><a href="http://code.google.com/p/serverside/issues/list">Bug tracking</a>
89
+
90
+ </li>
91
+ <li><a href="http://rubyforge.org/projects/serverside/">RubyForge page</a>
92
+
93
+ </li>
94
+ </ul>
85
95
  <p>
86
- <a
87
- href="http://serverside.googlecode.com/svn">serverside.googlecode.com/svn</a>/
96
+ To check out the repository, just perform:
88
97
  </p>
89
- <h2>The <a href="../classes/Daemon.html">Daemon</a></h2>
98
+ <pre>
99
+ svn co {http://serverside.googlecode.com/svn/}[http://serverside.googlecode.com/svn/]
100
+ </pre>
101
+ <h2>Installation</h2>
102
+ <pre>
103
+ sudo gem install serverside
104
+ </pre>
105
+ <h2>Usage</h2>
90
106
  <p>
91
107
  Once you have the <a href="../classes/ServerSide.html">ServerSide</a> gem
92
108
  installed, you can use the <tt>serverside</tt> script to control servers.
93
109
  For example:
94
110
  </p>
111
+ <pre>
112
+ serverside start .
113
+ </pre>
95
114
  <p>
96
- <tt>serverside -p 8000 start .</tt>
115
+ will start an HTTP server on port 8000, serving the content of the working
116
+ directory. You can stop the server by running <tt>serverside stop .</tt>
97
117
  </p>
98
118
  <p>
99
- will start an HTTP server, serving the content of the working directory.
100
- You can stop the server by running <tt>serverside stop .</tt>
119
+ To run the server without forking, use the &#8216;serve&#8217; command:
101
120
  </p>
102
- <h2>Serving Dynamic Content</h2>
121
+ <pre>
122
+ serverside serve .
123
+ </pre>
124
+ <h2>Serving ERb Templates</h2>
103
125
  <p>
104
- You can use the <a
105
- href="../classes/ServerSide/Application.html">ServerSide::Application</a>
106
- and ServerSide::Controller classes to create dynamic web applications. The
107
- <a href="../classes/ServerSide.html">ServerSide</a> framework also lets you
108
- route requests based on any attribute of incoming requests, such as host
109
- name, path, URL parameters etc.
110
- </p>
111
- <p>
112
- To start your app, you can either supply the <tt>serverside</tt> script
113
- with your Ruby code file:
114
- </p>
115
- <p>
116
- <tt>serverside start ~/myapp/myapp.rb</tt>
126
+ <a href="../classes/ServerSide.html">ServerSide</a> can render <a
127
+ href="http://www.ruby-doc.org/stdlib/libdoc/erb/rdoc/">ERb</a> templates in
128
+ a fashion similar to PHP. You can store templates in .rhtml files, and <a
129
+ href="../classes/ServerSide.html">ServerSide</a> takes care of all the
130
+ rest. <a href="../classes/ServerSide.html">ServerSide</a> is also smart
131
+ enough to allow you to use nice looking URL&#8217;s with your templates,
132
+ and automatically adds the .rhtml extension if the file is there.
117
133
  </p>
134
+ <h2>Serving Dynamic Content</h2>
118
135
  <p>
119
- Or you can put your code in a file called <tt>serverside.rb</tt> and tell
120
- the <tt>serverside</tt> script the directory path:
136
+ By default <a href="../classes/ServerSide.html">ServerSide</a> serves
137
+ static files, but you can change the behavior by creating custom <a
138
+ href="http://classes/ServerSide/Connection/Router.html">routing rules</a>.
139
+ Here&#8217;s a simple routing rule:
121
140
  </p>
141
+ <pre>
142
+ ServerSide.route(:path =&gt; '/hello/:name') {
143
+ send_response(200, 'text', &quot;Hello #{@parameters[:name]}!&quot;)
144
+ }
145
+ </pre>
122
146
  <p>
123
- <tt>serverside start /home/nc/reality/production</tt>
147
+ The <a href="../classes/ServerSide.html">ServerSide</a> framework also lets
148
+ you route requests based on any attribute of incoming requests, such as
149
+ host name, path, URL parameters etc.
124
150
  </p>
125
151
  <p>
126
- The script will then load
127
- <tt>/home/nc/reality/production/serverside.rb</tt> and take care of
128
- everything else.
152
+ To run your custom rules, you can either put them in a file called
153
+ serverside.rb, or tell serverside to explicitly load a specific file:
129
154
  </p>
155
+ <pre>
156
+ serverside start ~/myapp/myapp.rb
157
+ </pre>
130
158
  <h2>Running a Cluster of Servers</h2>
131
159
  <p>
132
160
  <a href="../classes/ServerSide.html">ServerSide</a> makes it easy to
133
161
  control a cluster of servers. Just supply a range of ports instead of a
134
162
  single port:
135
163
  </p>
136
- <p>
137
- <tt>serverside -p 8000..8009 start .</tt>
138
- </p>
164
+ <pre>
165
+ serverside -p 8000..8009 start .
166
+ </pre>
139
167
 
140
168
  </div>
141
169
 
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Aug 28 10:19:06 IDT 2006</td>
59
+ <td>Sun Sep 03 09:49:09 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Aug 27 10:06:32 IDT 2006</td>
59
+ <td>Sun Sep 03 09:49:09 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Mon Aug 28 10:43:50 IDT 2006</td>
59
+ <td>Sun Sep 03 09:49:09 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Aug 20 14:30:24 IDT 2006</td>
59
+ <td>Sun Sep 03 09:49:09 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -56,7 +56,7 @@
56
56
  </tr>
57
57
  <tr class="top-aligned-row">
58
58
  <td><strong>Last Update:</strong></td>
59
- <td>Sun Aug 27 10:06:32 IDT 2006</td>
59
+ <td>Sun Sep 03 11:36:19 IDT 2006</td>
60
60
  </tr>
61
61
  </table>
62
62
  </div>
@@ -0,0 +1,108 @@
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: template.rb</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>template.rb</h1>
51
+ <table class="header-table">
52
+ <tr class="top-aligned-row">
53
+ <td><strong>Path:</strong></td>
54
+ <td>lib/serverside/template.rb
55
+ </td>
56
+ </tr>
57
+ <tr class="top-aligned-row">
58
+ <td><strong>Last Update:</strong></td>
59
+ <td>Sun Sep 03 11:33:15 IDT 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
+
72
+ <div id="requires-list">
73
+ <h3 class="section-bar">Required files</h3>
74
+
75
+ <div class="name-list">
76
+ erb&nbsp;&nbsp;
77
+ </div>
78
+ </div>
79
+
80
+ </div>
81
+
82
+
83
+ </div>
84
+
85
+
86
+ <!-- if includes -->
87
+
88
+ <div id="section">
89
+
90
+
91
+
92
+
93
+
94
+
95
+
96
+
97
+ <!-- if method_list -->
98
+
99
+
100
+ </div>
101
+
102
+
103
+ <div id="validator-badges">
104
+ <p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
105
+ </div>
106
+
107
+ </body>
108
+ </html>
@@ -29,8 +29,6 @@
29
29
  <a href="classes/Proc.html">Proc</a><br />
30
30
  <a href="classes/ServerSide.html">ServerSide</a><br />
31
31
  <a href="classes/ServerSide/Application.html">ServerSide::Application</a><br />
32
- <a href="classes/ServerSide/Application/Base.html">ServerSide::Application::Base</a><br />
33
- <a href="classes/ServerSide/Application/Static.html">ServerSide::Application::Static</a><br />
34
32
  <a href="classes/ServerSide/Connection.html">ServerSide::Connection</a><br />
35
33
  <a href="classes/ServerSide/Connection/Base.html">ServerSide::Connection::Base</a><br />
36
34
  <a href="classes/ServerSide/Connection/Const.html">ServerSide::Connection::Const</a><br />
@@ -38,6 +36,7 @@
38
36
  <a href="classes/ServerSide/Server.html">ServerSide::Server</a><br />
39
37
  <a href="classes/ServerSide/StaticFiles.html">ServerSide::StaticFiles</a><br />
40
38
  <a href="classes/ServerSide/StaticFiles/Const.html">ServerSide::StaticFiles::Const</a><br />
39
+ <a href="classes/ServerSide/Template.html">ServerSide::Template</a><br />
41
40
  <a href="classes/String.html">String</a><br />
42
41
  <a href="classes/Symbol.html">Symbol</a><br />
43
42
  </div>
@@ -32,6 +32,7 @@
32
32
  <a href="files/lib/serverside/routing_rb.html">lib/serverside/routing.rb</a><br />
33
33
  <a href="files/lib/serverside/server_rb.html">lib/serverside/server.rb</a><br />
34
34
  <a href="files/lib/serverside/static_rb.html">lib/serverside/static.rb</a><br />
35
+ <a href="files/lib/serverside/template_rb.html">lib/serverside/template.rb</a><br />
35
36
  </div>
36
37
  </div>
37
38
  </body>