serverside 0.1.59 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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>