serverside 0.1.59 → 0.2.0

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 (48) hide show
  1. data/CHANGELOG +21 -1
  2. data/Rakefile +69 -40
  3. data/bin/serverside +7 -15
  4. data/doc/rdoc/classes/Daemon.html +18 -18
  5. data/doc/rdoc/classes/Daemon/Base.html +8 -6
  6. data/doc/rdoc/classes/Daemon/Cluster.html +36 -36
  7. data/doc/rdoc/classes/Daemon/Cluster/PidFile.html +20 -18
  8. data/doc/rdoc/classes/Daemon/PidFile.html +12 -12
  9. data/doc/rdoc/classes/Object.html +151 -0
  10. data/doc/rdoc/classes/Proc.html +151 -0
  11. data/doc/rdoc/classes/ServerSide.html +69 -0
  12. data/doc/rdoc/classes/ServerSide/Application.html +43 -11
  13. data/doc/rdoc/classes/ServerSide/Application/Base.html +30 -30
  14. data/doc/rdoc/classes/ServerSide/Application/Static.html +20 -18
  15. data/doc/rdoc/classes/ServerSide/Connection.html +3 -3
  16. data/doc/rdoc/classes/ServerSide/Connection/Base.html +142 -99
  17. data/doc/rdoc/classes/ServerSide/Connection/Const.html +11 -13
  18. data/doc/rdoc/classes/ServerSide/Connection/Router.html +464 -0
  19. data/doc/rdoc/classes/ServerSide/Server.html +8 -6
  20. data/doc/rdoc/classes/ServerSide/StaticFiles.html +75 -43
  21. data/doc/rdoc/classes/ServerSide/StaticFiles/Const.html +5 -0
  22. data/doc/rdoc/classes/String.html +20 -18
  23. data/doc/rdoc/classes/Symbol.html +2 -0
  24. data/doc/rdoc/created.rid +1 -1
  25. data/doc/rdoc/files/CHANGELOG.html +32 -2
  26. data/doc/rdoc/files/lib/serverside/application_rb.html +1 -1
  27. data/doc/rdoc/files/lib/serverside/connection_rb.html +1 -1
  28. data/doc/rdoc/files/lib/serverside/core_ext_rb.html +1 -1
  29. data/doc/rdoc/files/lib/serverside/daemon_rb.html +1 -1
  30. data/doc/rdoc/files/lib/serverside/routing_rb.html +101 -0
  31. data/doc/rdoc/files/lib/serverside/static_rb.html +1 -1
  32. data/doc/rdoc/fr_class_index.html +3 -1
  33. data/doc/rdoc/fr_file_index.html +1 -0
  34. data/doc/rdoc/fr_method_index.html +49 -33
  35. data/lib/serverside/application.rb +17 -4
  36. data/lib/serverside/connection.rb +23 -3
  37. data/lib/serverside/core_ext.rb +16 -1
  38. data/lib/serverside/routing.rb +119 -0
  39. data/lib/serverside/static.rb +9 -23
  40. data/test/functional/routing_server.rb +14 -0
  41. data/test/functional/routing_server_test.rb +41 -0
  42. data/test/functional/static_server_test.rb +8 -2
  43. data/test/unit/connection_test.rb +13 -0
  44. data/test/unit/core_ext_test.rb +14 -0
  45. data/test/unit/routing_test.rb +171 -0
  46. data/test/unit/static_test.rb +34 -1
  47. metadata +10 -3
  48. data/doc/rdoc/classes/ServerSide/Connection/Static.html +0 -172
data/CHANGELOG CHANGED
@@ -1,4 +1,24 @@
1
- *SVN*
1
+ *0.2.0*
2
+
3
+ * Changed substition of embedded parameters from (.*) to (.+).
4
+
5
+ * Added rule compilation after setting the default handler.
6
+
7
+ * Added doc_rforge rake task (for updating the docs on rubyforge.org).
8
+
9
+ * Added stats and svn_add rake tasks.
10
+
11
+ * Fixed routing unit tests.
12
+
13
+ * Added Router.has_routes? method.
14
+
15
+ * Finished unit tests for routing.
16
+
17
+ * Added Connection::Base.redirect.
18
+
19
+ * Added routing code from /research/routing, implemented functional test.
20
+
21
+ * Learned about the (?:) modifier and fixed the request parsing regexp.
2
22
 
3
23
  * Added a profiled version of a static server - /test/functional/static_profile.rb.
4
24
 
data/Rakefile CHANGED
@@ -7,14 +7,13 @@ require 'fileutils'
7
7
  include FileUtils
8
8
 
9
9
  NAME = "serverside"
10
- REV = File.read(".svn/entries")[/committed-rev="(\d+)"/, 1] rescue nil
11
- VERS = "0.1" + (REV ? ".#{REV}" : "")
10
+ VERS = "0.2.0"
12
11
  CLEAN.include ['**/.*.sw?', '*.gem', '.config']
13
12
  RDOC_OPTS = ['--quiet', '--title', "ServerSide Documentation",
14
- "--opname", "index.html",
15
- "--line-numbers",
16
- "--main", "README",
17
- "--inline-source"]
13
+ "--opname", "index.html",
14
+ "--line-numbers",
15
+ "--main", "README",
16
+ "--inline-source"]
18
17
 
19
18
  desc "Packages up ServerSide."
20
19
  task :default => [:package]
@@ -23,42 +22,40 @@ task :package => [:clean]
23
22
  task :doc => [:rdoc]
24
23
 
25
24
  Rake::RDocTask.new do |rdoc|
26
- rdoc.rdoc_dir = 'doc/rdoc'
27
- rdoc.options += RDOC_OPTS
28
- rdoc.main = "README"
29
- rdoc.title = "ServerSide Documentation"
30
- rdoc.rdoc_files.add ['README', 'CHANGELOG', 'COPYING', 'lib/serverside.rb', 'lib/serverside/*.rb']
25
+ rdoc.rdoc_dir = 'doc/rdoc'
26
+ rdoc.options += RDOC_OPTS
27
+ rdoc.main = "README"
28
+ rdoc.title = "ServerSide Documentation"
29
+ rdoc.rdoc_files.add ['README', 'CHANGELOG', 'COPYING', 'lib/serverside.rb', 'lib/serverside/*.rb']
31
30
  end
32
31
 
33
- spec =
34
- Gem::Specification.new do |s|
35
- s.name = NAME
36
- s.version = VERS
37
- s.platform = Gem::Platform::RUBY
38
- s.has_rdoc = true
39
- s.extra_rdoc_files = ["README", "CHANGELOG", "COPYING"]
40
- s.rdoc_options += RDOC_OPTS +
41
- ['--exclude', '^(examples|extras)\/', '--exclude', 'lib/serverside.rb']
42
- s.summary = "Performance-oriented web framework."
43
- s.description = s.summary
44
- s.author = "Sharon Rosner"
45
- s.email = 'ciconia@gmail.com'
46
- s.homepage = 'http://code.google.com/p/serverside/'
47
- s.executables = ['serverside']
48
-
49
- s.add_dependency('metaid')
50
- s.required_ruby_version = '>= 1.8.2'
51
-
52
- s.files = %w(COPYING README Rakefile) +
53
- Dir.glob("{bin,doc,test,lib}/**/*")
54
-
55
- s.require_path = "lib"
56
- s.bindir = "bin"
57
- end
32
+ spec = Gem::Specification.new do |s|
33
+ s.name = NAME
34
+ s.version = VERS
35
+ s.platform = Gem::Platform::RUBY
36
+ s.has_rdoc = true
37
+ s.extra_rdoc_files = ["README", "CHANGELOG", "COPYING"]
38
+ s.rdoc_options += RDOC_OPTS +
39
+ ['--exclude', '^(examples|extras)\/', '--exclude', 'lib/serverside.rb']
40
+ s.summary = "Performance-oriented web framework."
41
+ s.description = s.summary
42
+ s.author = "Sharon Rosner"
43
+ s.email = 'ciconia@gmail.com'
44
+ s.homepage = 'http://code.google.com/p/serverside/'
45
+ s.executables = ['serverside']
46
+
47
+ s.add_dependency('metaid')
48
+ s.required_ruby_version = '>= 1.8.2'
49
+
50
+ s.files = %w(COPYING README Rakefile) + Dir.glob("{bin,doc,test,lib}/**/*")
51
+
52
+ s.require_path = "lib"
53
+ s.bindir = "bin"
54
+ end
58
55
 
59
56
  Rake::GemPackageTask.new(spec) do |p|
60
- p.need_tar = true
61
- p.gem_spec = spec
57
+ p.need_tar = true
58
+ p.gem_spec = spec
62
59
  end
63
60
 
64
61
  task :install do
@@ -70,17 +67,22 @@ task :uninstall => [:clean] do
70
67
  sh %{sudo gem uninstall #{NAME}}
71
68
  end
72
69
 
70
+ task :doc_rforge do
71
+ sh %{rake doc}
72
+ sh %{scp -r doc/rdoc/* ciconia@rubyforge.org:/var/www/gforge-projects/serverside}
73
+ end
74
+
73
75
  desc 'Run unit tests'
74
76
  Rake::TestTask.new('test_unit') do |t|
75
77
  t.libs << 'test'
76
- t.pattern = 'test/unit/**/*_test.rb'
78
+ t.pattern = 'test/unit/*_test.rb'
77
79
  t.verbose = true
78
80
  end
79
81
 
80
82
  desc 'Run functional tests'
81
83
  Rake::TestTask.new('test_functional') do |t|
82
84
  t.libs << 'test'
83
- t.pattern = 'test/functional/**/*_test.rb'
85
+ t.pattern = 'test/functional/*_test.rb'
84
86
  t.verbose = true
85
87
  end
86
88
 
@@ -90,3 +92,30 @@ Rake::TestTask.new('test') do |t|
90
92
  t.pattern = 'test/**/*_test.rb'
91
93
  t.verbose = true
92
94
  end
95
+
96
+ ##############################################################################
97
+ # Statistics
98
+ ##############################################################################
99
+
100
+ STATS_DIRECTORIES = [
101
+ %w(Code lib/),
102
+ %w(Unit\ tests test/unit),
103
+ %w(Functional\ tests test/functional)
104
+ ].collect { |name, dir| [ name, "./#{dir}" ] }.select { |name, dir| File.directory?(dir) }
105
+
106
+ desc "Report code statistics (KLOCs, etc) from the application"
107
+ task :stats do
108
+ require 'extra/stats'
109
+ verbose = true
110
+ CodeStatistics.new(*STATS_DIRECTORIES).to_s
111
+ end
112
+
113
+ ##############################################################################
114
+ # SVN
115
+ ##############################################################################
116
+
117
+ desc "Add new files to subversion"
118
+ task :svn_add do
119
+ system "svn status | grep '^\?' | sed -e 's/? *//' | sed -e 's/ /\ /g' | xargs svn add"
120
+ end
121
+
data/bin/serverside CHANGED
@@ -38,7 +38,6 @@ opts = OptionParser.new do |opts|
38
38
  puts "ServerSide #{specs.version} (#{specs.date.strftime '%Y-%m-%d'})"
39
39
  exit
40
40
  end
41
-
42
41
  end
43
42
 
44
43
  opts.parse! ARGV
@@ -53,22 +52,15 @@ unless %w(start stop restart).include?($cmd)
53
52
  exit
54
53
  end
55
54
 
56
- puts $cmd_config.inspect
57
-
58
- ARGV << '.' if ARGV.empty?
59
- path = ARGV.shift
55
+ path = ARGV.shift || '.'
60
56
  if File.file?(path)
61
- puts "Application file #{path}"
62
57
  require path
63
- ServerSide::Application.daemonize($cmd)
64
58
  else
65
59
  fn = File.join(path, 'serverside.rb')
66
- if File.file?(fn)
67
- puts "Application file #{fn}"
68
- require fn
69
- ServerSide::Application.daemonize($cmd)
70
- else
71
- puts "Static file server #{path}"
72
- ServerSide::Application::Static.daemonize($cmd_config, $cmd)
73
- end
60
+ require fn if File.file?(fn)
74
61
  end
62
+ unless ServerSide::Connection::Router.has_routes?
63
+ ServerSide.route_default {serve_static('.'/@path)}
64
+ end
65
+
66
+ ServerSide::Application.daemonize($cmd_config, $cmd)
@@ -91,9 +91,9 @@ stopping daemons.
91
91
  <h3 class="section-bar">Methods</h3>
92
92
 
93
93
  <div class="name-list">
94
- <a href="#M000005">control</a>&nbsp;&nbsp;
95
- <a href="#M000006">start</a>&nbsp;&nbsp;
96
- <a href="#M000007">stop</a>&nbsp;&nbsp;
94
+ <a href="#M000007">control</a>&nbsp;&nbsp;
95
+ <a href="#M000008">start</a>&nbsp;&nbsp;
96
+ <a href="#M000009">stop</a>&nbsp;&nbsp;
97
97
  </div>
98
98
  </div>
99
99
 
@@ -136,11 +136,11 @@ Class <a href="Daemon/Cluster.html" class="link">Daemon::Cluster</a><br />
136
136
  <div id="methods">
137
137
  <h3 class="section-bar">Public Class methods</h3>
138
138
 
139
- <div id="method-M000005" class="method-detail">
140
- <a name="M000005"></a>
139
+ <div id="method-M000007" class="method-detail">
140
+ <a name="M000007"></a>
141
141
 
142
142
  <div class="method-heading">
143
- <a href="#M000005" class="method-signature">
143
+ <a href="#M000007" class="method-signature">
144
144
  <span class="method-name">control</span><span class="method-args">(daemon, cmd = nil)</span>
145
145
  </a>
146
146
  </div>
@@ -151,8 +151,8 @@ Controls a daemon according to the supplied command or command-line
151
151
  parameter. If an invalid command is specified, an error is raised.
152
152
  </p>
153
153
  <p><a class="source-toggle" href="#"
154
- onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
155
- <div class="method-source-code" id="M000005-source">
154
+ onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
155
+ <div class="method-source-code" id="M000007-source">
156
156
  <pre>
157
157
  <span class="ruby-comment cmt"># File lib/serverside/daemon.rb, line 31</span>
158
158
  31: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">control</span>(<span class="ruby-identifier">daemon</span>, <span class="ruby-identifier">cmd</span> = <span class="ruby-keyword kw">nil</span>)
@@ -173,11 +173,11 @@ parameter. If an invalid command is specified, an error is raised.
173
173
  </div>
174
174
  </div>
175
175
 
176
- <div id="method-M000006" class="method-detail">
177
- <a name="M000006"></a>
176
+ <div id="method-M000008" class="method-detail">
177
+ <a name="M000008"></a>
178
178
 
179
179
  <div class="method-heading">
180
- <a href="#M000006" class="method-signature">
180
+ <a href="#M000008" class="method-signature">
181
181
  <span class="method-name">start</span><span class="method-args">(daemon)</span>
182
182
  </a>
183
183
  </div>
@@ -187,8 +187,8 @@ parameter. If an invalid command is specified, an error is raised.
187
187
  Starts the daemon by forking and bcoming session leader.
188
188
  </p>
189
189
  <p><a class="source-toggle" href="#"
190
- onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
191
- <div class="method-source-code" id="M000006-source">
190
+ onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
191
+ <div class="method-source-code" id="M000008-source">
192
192
  <pre>
193
193
  <span class="ruby-comment cmt"># File lib/serverside/daemon.rb, line 46</span>
194
194
  46: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">start</span>(<span class="ruby-identifier">daemon</span>)
@@ -210,11 +210,11 @@ Starts the daemon by forking and bcoming session leader.
210
210
  </div>
211
211
  </div>
212
212
 
213
- <div id="method-M000007" class="method-detail">
214
- <a name="M000007"></a>
213
+ <div id="method-M000009" class="method-detail">
214
+ <a name="M000009"></a>
215
215
 
216
216
  <div class="method-heading">
217
- <a href="#M000007" class="method-signature">
217
+ <a href="#M000009" class="method-signature">
218
218
  <span class="method-name">stop</span><span class="method-args">(daemon)</span>
219
219
  </a>
220
220
  </div>
@@ -224,8 +224,8 @@ Starts the daemon by forking and bcoming session leader.
224
224
  Stops the daemon by sending it a TERM signal.
225
225
  </p>
226
226
  <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000007-source">
227
+ onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
228
+ <div class="method-source-code" id="M000009-source">
229
229
  <pre>
230
230
  <span class="ruby-comment cmt"># File lib/serverside/daemon.rb, line 62</span>
231
231
  62: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">stop</span>(<span class="ruby-identifier">daemon</span>)
@@ -65,7 +65,9 @@
65
65
  <tr class="top-aligned-row">
66
66
  <td><strong>Parent:</strong></td>
67
67
  <td>
68
+ <a href="../Object.html">
68
69
  Object
70
+ </a>
69
71
  </td>
70
72
  </tr>
71
73
  </table>
@@ -86,7 +88,7 @@
86
88
  <h3 class="section-bar">Methods</h3>
87
89
 
88
90
  <div class="name-list">
89
- <a href="#M000010">pid_fn</a>&nbsp;&nbsp;
91
+ <a href="#M000012">pid_fn</a>&nbsp;&nbsp;
90
92
  </div>
91
93
  </div>
92
94
 
@@ -108,19 +110,19 @@
108
110
  <div id="methods">
109
111
  <h3 class="section-bar">Public Class methods</h3>
110
112
 
111
- <div id="method-M000010" class="method-detail">
112
- <a name="M000010"></a>
113
+ <div id="method-M000012" class="method-detail">
114
+ <a name="M000012"></a>
113
115
 
114
116
  <div class="method-heading">
115
- <a href="#M000010" class="method-signature">
117
+ <a href="#M000012" class="method-signature">
116
118
  <span class="method-name">pid_fn</span><span class="method-args">()</span>
117
119
  </a>
118
120
  </div>
119
121
 
120
122
  <div class="method-description">
121
123
  <p><a class="source-toggle" href="#"
122
- onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
123
- <div class="method-source-code" id="M000010-source">
124
+ onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
125
+ <div class="method-source-code" id="M000012-source">
124
126
  <pre>
125
127
  <span class="ruby-comment cmt"># File lib/serverside/daemon.rb, line 8</span>
126
128
  8: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">pid_fn</span>
@@ -95,12 +95,12 @@ child process for each port.
95
95
  <h3 class="section-bar">Methods</h3>
96
96
 
97
97
  <div class="name-list">
98
- <a href="#M000014">daemon_loop</a>&nbsp;&nbsp;
99
- <a href="#M000011">fork_server</a>&nbsp;&nbsp;
100
- <a href="#M000015">start</a>&nbsp;&nbsp;
101
- <a href="#M000012">start_servers</a>&nbsp;&nbsp;
102
- <a href="#M000016">stop</a>&nbsp;&nbsp;
103
- <a href="#M000013">stop_servers</a>&nbsp;&nbsp;
98
+ <a href="#M000016">daemon_loop</a>&nbsp;&nbsp;
99
+ <a href="#M000013">fork_server</a>&nbsp;&nbsp;
100
+ <a href="#M000017">start</a>&nbsp;&nbsp;
101
+ <a href="#M000014">start_servers</a>&nbsp;&nbsp;
102
+ <a href="#M000018">stop</a>&nbsp;&nbsp;
103
+ <a href="#M000015">stop_servers</a>&nbsp;&nbsp;
104
104
  </div>
105
105
  </div>
106
106
 
@@ -128,11 +128,11 @@ child process for each port.
128
128
  <div id="methods">
129
129
  <h3 class="section-bar">Public Class methods</h3>
130
130
 
131
- <div id="method-M000014" class="method-detail">
132
- <a name="M000014"></a>
131
+ <div id="method-M000016" class="method-detail">
132
+ <a name="M000016"></a>
133
133
 
134
134
  <div class="method-heading">
135
- <a href="#M000014" class="method-signature">
135
+ <a href="#M000016" class="method-signature">
136
136
  <span class="method-name">daemon_loop</span><span class="method-args">()</span>
137
137
  </a>
138
138
  </div>
@@ -142,8 +142,8 @@ child process for each port.
142
142
  The main daemon loop. Does nothing for now.
143
143
  </p>
144
144
  <p><a class="source-toggle" href="#"
145
- onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
146
- <div class="method-source-code" id="M000014-source">
145
+ onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
146
+ <div class="method-source-code" id="M000016-source">
147
147
  <pre>
148
148
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 57</span>
149
149
  57: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">daemon_loop</span>
@@ -154,11 +154,11 @@ The main daemon loop. Does nothing for now.
154
154
  </div>
155
155
  </div>
156
156
 
157
- <div id="method-M000011" class="method-detail">
158
- <a name="M000011"></a>
157
+ <div id="method-M000013" class="method-detail">
158
+ <a name="M000013"></a>
159
159
 
160
160
  <div class="method-heading">
161
- <a href="#M000011" class="method-signature">
161
+ <a href="#M000013" class="method-signature">
162
162
  <span class="method-name">fork_server</span><span class="method-args">(port)</span>
163
163
  </a>
164
164
  </div>
@@ -168,8 +168,8 @@ The main daemon loop. Does nothing for now.
168
168
  Forks a child process with a specific port.
169
169
  </p>
170
170
  <p><a class="source-toggle" href="#"
171
- onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
172
- <div class="method-source-code" id="M000011-source">
171
+ onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
172
+ <div class="method-source-code" id="M000013-source">
173
173
  <pre>
174
174
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 34</span>
175
175
  34: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">fork_server</span>(<span class="ruby-identifier">port</span>)
@@ -183,11 +183,11 @@ Forks a child process with a specific port.
183
183
  </div>
184
184
  </div>
185
185
 
186
- <div id="method-M000015" class="method-detail">
187
- <a name="M000015"></a>
186
+ <div id="method-M000017" class="method-detail">
187
+ <a name="M000017"></a>
188
188
 
189
189
  <div class="method-heading">
190
- <a href="#M000015" class="method-signature">
190
+ <a href="#M000017" class="method-signature">
191
191
  <span class="method-name">start</span><span class="method-args">()</span>
192
192
  </a>
193
193
  </div>
@@ -197,8 +197,8 @@ Forks a child process with a specific port.
197
197
  Starts child processes and calls the main loop.
198
198
  </p>
199
199
  <p><a class="source-toggle" href="#"
200
- onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
201
- <div class="method-source-code" id="M000015-source">
200
+ onclick="toggleCode('M000017-source');return false;">[Source]</a></p>
201
+ <div class="method-source-code" id="M000017-source">
202
202
  <pre>
203
203
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 62</span>
204
204
  62: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">start</span>
@@ -210,11 +210,11 @@ Starts child processes and calls the main loop.
210
210
  </div>
211
211
  </div>
212
212
 
213
- <div id="method-M000012" class="method-detail">
214
- <a name="M000012"></a>
213
+ <div id="method-M000014" class="method-detail">
214
+ <a name="M000014"></a>
215
215
 
216
216
  <div class="method-heading">
217
- <a href="#M000012" class="method-signature">
217
+ <a href="#M000014" class="method-signature">
218
218
  <span class="method-name">start_servers</span><span class="method-args">()</span>
219
219
  </a>
220
220
  </div>
@@ -224,8 +224,8 @@ Starts child processes and calls the main loop.
224
224
  Starts child processes.
225
225
  </p>
226
226
  <p><a class="source-toggle" href="#"
227
- onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
228
- <div class="method-source-code" id="M000012-source">
227
+ onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
228
+ <div class="method-source-code" id="M000014-source">
229
229
  <pre>
230
230
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 42</span>
231
231
  42: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">start_servers</span>
@@ -239,11 +239,11 @@ Starts child processes.
239
239
  </div>
240
240
  </div>
241
241
 
242
- <div id="method-M000016" class="method-detail">
243
- <a name="M000016"></a>
242
+ <div id="method-M000018" class="method-detail">
243
+ <a name="M000018"></a>
244
244
 
245
245
  <div class="method-heading">
246
- <a href="#M000016" class="method-signature">
246
+ <a href="#M000018" class="method-signature">
247
247
  <span class="method-name">stop</span><span class="method-args">()</span>
248
248
  </a>
249
249
  </div>
@@ -253,8 +253,8 @@ Starts child processes.
253
253
  Stops child processes.
254
254
  </p>
255
255
  <p><a class="source-toggle" href="#"
256
- onclick="toggleCode('M000016-source');return false;">[Source]</a></p>
257
- <div class="method-source-code" id="M000016-source">
256
+ onclick="toggleCode('M000018-source');return false;">[Source]</a></p>
257
+ <div class="method-source-code" id="M000018-source">
258
258
  <pre>
259
259
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 68</span>
260
260
  68: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">stop</span>
@@ -265,11 +265,11 @@ Stops child processes.
265
265
  </div>
266
266
  </div>
267
267
 
268
- <div id="method-M000013" class="method-detail">
269
- <a name="M000013"></a>
268
+ <div id="method-M000015" class="method-detail">
269
+ <a name="M000015"></a>
270
270
 
271
271
  <div class="method-heading">
272
- <a href="#M000013" class="method-signature">
272
+ <a href="#M000015" class="method-signature">
273
273
  <span class="method-name">stop_servers</span><span class="method-args">()</span>
274
274
  </a>
275
275
  </div>
@@ -279,8 +279,8 @@ Stops child processes.
279
279
  Stops child processes.
280
280
  </p>
281
281
  <p><a class="source-toggle" href="#"
282
- onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
283
- <div class="method-source-code" id="M000013-source">
282
+ onclick="toggleCode('M000015-source');return false;">[Source]</a></p>
283
+ <div class="method-source-code" id="M000015-source">
284
284
  <pre>
285
285
  <span class="ruby-comment cmt"># File lib/serverside/cluster.rb, line 50</span>
286
286
  50: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">stop_servers</span>