serverside 0.2.0 → 0.2.5

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.
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>