mongrel 0.3 → 0.3.1
Sign up to get free protection for your applications and to get access to all the features.
- data/README +24 -28
- data/Rakefile +11 -4
- data/bin/mongrel_rails +82 -25
- data/doc/rdoc/classes/FactoryError.html +144 -0
- data/doc/rdoc/classes/FactoryError.src/M000001.html +23 -0
- data/doc/rdoc/classes/Mongrel.html +5 -5
- data/doc/rdoc/classes/Mongrel.src/{M000001.html → M000015.html} +4 -4
- data/doc/rdoc/classes/Mongrel/Const.html +2 -2
- data/doc/rdoc/classes/Mongrel/DirHandler.html +26 -26
- data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000009.html → M000023.html} +0 -0
- data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000010.html → M000024.html} +5 -2
- data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000011.html → M000025.html} +26 -26
- data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000012.html → M000026.html} +17 -17
- data/doc/rdoc/classes/Mongrel/DirHandler.src/{M000013.html → M000027.html} +24 -24
- data/doc/rdoc/classes/Mongrel/Error404Handler.html +10 -10
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000033.html → M000047.html} +0 -0
- data/doc/rdoc/classes/Mongrel/Error404Handler.src/{M000034.html → M000048.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HeaderOut.html +10 -10
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000019.html → M000033.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HeaderOut.src/{M000020.html → M000034.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpHandler.html +5 -5
- data/doc/rdoc/classes/Mongrel/HttpHandler.src/{M000025.html → M000039.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.html +35 -35
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000002.html → M000016.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000003.html → M000017.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000004.html → M000018.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000005.html → M000019.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000006.html → M000020.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000007.html → M000021.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpParser.src/{M000008.html → M000022.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpRequest.html +5 -5
- data/doc/rdoc/classes/Mongrel/HttpRequest.src/{M000035.html → M000049.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.html +36 -36
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000026.html → M000040.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000027.html → M000041.html} +1 -1
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000028.html → M000042.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000029.html → M000043.html} +1 -1
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000030.html → M000044.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000031.html → M000045.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpResponse.src/{M000032.html → M000046.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.html +28 -28
- data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000014.html → M000028.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000015.html → M000029.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000016.html → M000030.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000017.html → M000031.html} +0 -0
- data/doc/rdoc/classes/Mongrel/HttpServer.src/{M000018.html → M000032.html} +0 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.html +20 -20
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000021.html → M000035.html} +0 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000022.html → M000036.html} +0 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000023.html → M000037.html} +0 -0
- data/doc/rdoc/classes/Mongrel/URIClassifier.src/{M000024.html → M000038.html} +0 -0
- data/doc/rdoc/classes/PluginFactory.html +409 -0
- data/doc/rdoc/classes/PluginFactory.src/M000002.html +18 -0
- data/doc/rdoc/classes/PluginFactory.src/M000003.html +18 -0
- data/doc/rdoc/classes/PluginFactory.src/M000004.html +22 -0
- data/doc/rdoc/classes/PluginFactory.src/M000005.html +22 -0
- data/doc/rdoc/classes/PluginFactory.src/M000006.html +33 -0
- data/doc/rdoc/classes/PluginFactory.src/M000007.html +32 -0
- data/doc/rdoc/classes/PluginFactory.src/M000008.html +18 -0
- data/doc/rdoc/classes/PluginFactory.src/M000009.html +24 -0
- data/doc/rdoc/classes/PluginFactory.src/M000010.html +40 -0
- data/doc/rdoc/classes/PluginFactory.src/M000011.html +39 -0
- data/doc/rdoc/classes/PluginFactory.src/M000012.html +24 -0
- data/doc/rdoc/classes/PluginFactory.src/M000013.html +70 -0
- data/doc/rdoc/classes/PluginFactory.src/M000014.html +34 -0
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README.html +29 -37
- data/doc/rdoc/files/lib/mongrel_rb.html +1 -1
- data/doc/rdoc/files/lib/pluginfactory_rb.html +132 -0
- data/doc/rdoc/fr_class_index.html +2 -0
- data/doc/rdoc/fr_file_index.html +1 -0
- data/doc/rdoc/fr_method_index.html +49 -35
- data/examples/simpletest.rb +10 -3
- data/lib/mongrel.rb +6 -3
- data/lib/mongrel/command.rb +192 -0
- data/lib/pluginfactory.rb +384 -0
- data/tools/rakehelp.rb +33 -29
- metadata +71 -41
@@ -0,0 +1,18 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>log (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 111</span>
|
14
|
+
111: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span><span class="ruby-operator">::</span><span class="ruby-identifier">log</span>(<span class="ruby-identifier">level</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">msg</span>)
|
15
|
+
112: <span class="ruby-ivar">@logger_callback</span>.<span class="ruby-identifier">call</span>(<span class="ruby-identifier">level</span>, <span class="ruby-identifier">msg</span>.<span class="ruby-identifier">join</span>) <span class="ruby-keyword kw">if</span> <span class="ruby-ivar">@logger_callback</span>
|
16
|
+
113: <span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>included (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 117</span>
|
14
|
+
117: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span><span class="ruby-operator">::</span><span class="ruby-identifier">included</span>( <span class="ruby-identifier">klass</span> )
|
15
|
+
118: <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">extend</span>( <span class="ruby-keyword kw">self</span> )
|
16
|
+
119: <span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,22 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>extend_object (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 124</span>
|
14
|
+
124: <span class="ruby-keyword kw">def</span> <span class="ruby-keyword kw">self</span><span class="ruby-operator">::</span><span class="ruby-identifier">extend_object</span>( <span class="ruby-identifier">obj</span> )
|
15
|
+
125: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Class</span> )
|
16
|
+
126: <span class="ruby-identifier">raise</span> <span class="ruby-constant">TypeError</span>, <span class="ruby-node">"Cannot extend a #{obj.class.name}"</span>, <span class="ruby-identifier">caller</span>(<span class="ruby-value">1</span>)
|
17
|
+
127: <span class="ruby-keyword kw">end</span>
|
18
|
+
128: <span class="ruby-identifier">obj</span>.<span class="ruby-identifier">instance_variable_set</span>( <span class="ruby-identifier">:@derivatives</span>, {} )
|
19
|
+
129: <span class="ruby-keyword kw">super</span>
|
20
|
+
130: <span class="ruby-keyword kw">end</span></pre>
|
21
|
+
</body>
|
22
|
+
</html>
|
@@ -0,0 +1,22 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>derivatives (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 139</span>
|
14
|
+
139: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">derivatives</span>
|
15
|
+
140: <span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">klass</span><span class="ruby-operator">|</span>
|
16
|
+
141: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>( <span class="ruby-value str">"@derivatives"</span> )
|
17
|
+
142: <span class="ruby-keyword kw">break</span> <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">instance_variable_get</span>( <span class="ruby-identifier">:@derivatives</span> )
|
18
|
+
143: <span class="ruby-keyword kw">end</span>
|
19
|
+
144: }
|
20
|
+
145: <span class="ruby-keyword kw">end</span></pre>
|
21
|
+
</body>
|
22
|
+
</html>
|
@@ -0,0 +1,33 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>factoryType (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 149</span>
|
14
|
+
149: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">factoryType</span>
|
15
|
+
150: <span class="ruby-identifier">base</span> = <span class="ruby-keyword kw">nil</span>
|
16
|
+
151: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">ancestors</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">klass</span><span class="ruby-operator">|</span>
|
17
|
+
152: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">instance_variables</span>.<span class="ruby-identifier">include?</span>( <span class="ruby-value str">"@derivatives"</span> )
|
18
|
+
153: <span class="ruby-identifier">base</span> = <span class="ruby-identifier">klass</span>
|
19
|
+
154: <span class="ruby-keyword kw">break</span>
|
20
|
+
155: <span class="ruby-keyword kw">end</span>
|
21
|
+
156: }
|
22
|
+
157:
|
23
|
+
158: <span class="ruby-identifier">raise</span> <span class="ruby-constant">FactoryError</span>, <span class="ruby-node">"Couldn't find factory base for #{self.name}"</span> <span class="ruby-keyword kw">if</span>
|
24
|
+
159: <span class="ruby-identifier">base</span>.<span class="ruby-identifier">nil?</span>
|
25
|
+
160:
|
26
|
+
161: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/^.*::(.*)/</span>
|
27
|
+
162: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">$1</span>
|
28
|
+
163: <span class="ruby-keyword kw">else</span>
|
29
|
+
164: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">base</span>.<span class="ruby-identifier">name</span>
|
30
|
+
165: <span class="ruby-keyword kw">end</span>
|
31
|
+
166: <span class="ruby-keyword kw">end</span></pre>
|
32
|
+
</body>
|
33
|
+
</html>
|
@@ -0,0 +1,32 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>inherited (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 171</span>
|
14
|
+
171: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">inherited</span>( <span class="ruby-identifier">subclass</span> )
|
15
|
+
172: <span class="ruby-identifier">keys</span> = [ <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-identifier">subclass</span> ]
|
16
|
+
173:
|
17
|
+
174: <span class="ruby-comment cmt"># Handle class names like 'FooBar' for 'Bar' factories.</span>
|
18
|
+
175: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">match</span>( <span class="ruby-node">/(?:.*::)?(\w+)(?:#{self.factoryType})/i</span> )
|
19
|
+
176: <span class="ruby-identifier">keys</span> <span class="ruby-operator"><<</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">last_match</span>[<span class="ruby-value">1</span>].<span class="ruby-identifier">downcase</span>
|
20
|
+
177: <span class="ruby-keyword kw">else</span>
|
21
|
+
178: <span class="ruby-identifier">keys</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">name</span>.<span class="ruby-identifier">sub</span>( <span class="ruby-regexp re">/.*::/</span>, <span class="ruby-value str">''</span> ).<span class="ruby-identifier">downcase</span>
|
22
|
+
179: <span class="ruby-keyword kw">end</span>
|
23
|
+
180:
|
24
|
+
181: <span class="ruby-identifier">keys</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">key</span><span class="ruby-operator">|</span>
|
25
|
+
182: <span class="ruby-comment cmt">#PluginFactory::log :info, "Registering %s derivative of %s as %p" %</span>
|
26
|
+
183: <span class="ruby-comment cmt"># [ subclass.name, self.name, key ]</span>
|
27
|
+
184: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>[ <span class="ruby-identifier">key</span> ] = <span class="ruby-identifier">subclass</span>
|
28
|
+
185: }
|
29
|
+
186: <span class="ruby-keyword kw">super</span>
|
30
|
+
187: <span class="ruby-keyword kw">end</span></pre>
|
31
|
+
</body>
|
32
|
+
</html>
|
@@ -0,0 +1,18 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>derivativeClasses (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 191</span>
|
14
|
+
191: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">derivativeClasses</span>
|
15
|
+
192: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>.<span class="ruby-identifier">values</span>.<span class="ruby-identifier">uniq</span>
|
16
|
+
193: <span class="ruby-keyword kw">end</span></pre>
|
17
|
+
</body>
|
18
|
+
</html>
|
@@ -0,0 +1,24 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>create (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 208</span>
|
14
|
+
208: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">create</span>( <span class="ruby-identifier">subType</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
15
|
+
209: <span class="ruby-identifier">subclass</span> = <span class="ruby-identifier">getSubclass</span>( <span class="ruby-identifier">subType</span> )
|
16
|
+
210:
|
17
|
+
211: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">new</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
18
|
+
212: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">err</span>
|
19
|
+
213: <span class="ruby-identifier">nicetrace</span> = <span class="ruby-identifier">err</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">reject</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">frame</span><span class="ruby-operator">|</span> <span class="ruby-node">/#{__FILE__}/</span> <span class="ruby-operator">=~</span> <span class="ruby-identifier">frame</span>}
|
20
|
+
214: <span class="ruby-identifier">msg</span> = <span class="ruby-node">"When creating '#{subType}': "</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">err</span>.<span class="ruby-identifier">message</span>
|
21
|
+
215: <span class="ruby-constant">Kernel</span><span class="ruby-operator">::</span><span class="ruby-identifier">raise</span>( <span class="ruby-identifier">err</span>.<span class="ruby-identifier">class</span>, <span class="ruby-identifier">msg</span>, <span class="ruby-identifier">nicetrace</span> )
|
22
|
+
216: <span class="ruby-keyword kw">end</span></pre>
|
23
|
+
</body>
|
24
|
+
</html>
|
@@ -0,0 +1,40 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>getSubclass (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 222</span>
|
14
|
+
222: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getSubclass</span>( <span class="ruby-identifier">className</span> )
|
15
|
+
223: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span> <span class="ruby-keyword kw">if</span> ( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">className</span> <span class="ruby-operator">||</span> <span class="ruby-identifier">className</span> <span class="ruby-operator">==</span> <span class="ruby-value str">''</span> )
|
16
|
+
224: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">className</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">className</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Class</span> ) <span class="ruby-operator">&&</span> <span class="ruby-identifier">className</span> <span class="ruby-operator">>=</span> <span class="ruby-keyword kw">self</span>
|
17
|
+
225:
|
18
|
+
226: <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>.<span class="ruby-identifier">has_key?</span>( <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span> )
|
19
|
+
227: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">loadDerivative</span>( <span class="ruby-identifier">className</span> )
|
20
|
+
228:
|
21
|
+
229: <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>.<span class="ruby-identifier">has_key?</span>( <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span> )
|
22
|
+
230: <span class="ruby-identifier">raise</span> <span class="ruby-constant">FactoryError</span>,
|
23
|
+
231: <span class="ruby-value str">"loadDerivative(%s) didn't add a '%s' key to the "</span>\
|
24
|
+
232: <span class="ruby-value str">"registry for %s"</span> <span class="ruby-operator">%</span>
|
25
|
+
233: [ <span class="ruby-identifier">className</span>, <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span> ]
|
26
|
+
234: <span class="ruby-keyword kw">end</span>
|
27
|
+
235:
|
28
|
+
236: <span class="ruby-identifier">subclass</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>[ <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span> ]
|
29
|
+
237: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">subclass</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Class</span> )
|
30
|
+
238: <span class="ruby-identifier">raise</span> <span class="ruby-constant">FactoryError</span>,
|
31
|
+
239: <span class="ruby-value str">"loadDerivative(%s) added something other than a class "</span>\
|
32
|
+
240: <span class="ruby-value str">"to the registry for %s: %p"</span> <span class="ruby-operator">%</span>
|
33
|
+
241: [ <span class="ruby-identifier">className</span>, <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">name</span>, <span class="ruby-identifier">subclass</span> ]
|
34
|
+
242: <span class="ruby-keyword kw">end</span>
|
35
|
+
243: <span class="ruby-keyword kw">end</span>
|
36
|
+
244:
|
37
|
+
245: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>[ <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span> ]
|
38
|
+
246: <span class="ruby-keyword kw">end</span></pre>
|
39
|
+
</body>
|
40
|
+
</html>
|
@@ -0,0 +1,39 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>loadDerivative (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 258</span>
|
14
|
+
258: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">loadDerivative</span>( <span class="ruby-identifier">className</span> )
|
15
|
+
259: <span class="ruby-identifier">className</span> = <span class="ruby-identifier">className</span>.<span class="ruby-identifier">to_s</span>
|
16
|
+
260:
|
17
|
+
261: <span class="ruby-comment cmt">#PluginFactory::log :debug, "Loading derivative #{className}"</span>
|
18
|
+
262:
|
19
|
+
263: <span class="ruby-comment cmt"># Get the unique part of the derived class name and try to</span>
|
20
|
+
264: <span class="ruby-comment cmt"># load it from one of the derivative subdirs, if there are</span>
|
21
|
+
265: <span class="ruby-comment cmt"># any.</span>
|
22
|
+
266: <span class="ruby-identifier">modName</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">getModuleName</span>( <span class="ruby-identifier">className</span> )
|
23
|
+
267: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">requireDerivative</span>( <span class="ruby-identifier">modName</span> )
|
24
|
+
268:
|
25
|
+
269: <span class="ruby-comment cmt"># Check to see if the specified listener is now loaded. If it</span>
|
26
|
+
270: <span class="ruby-comment cmt"># is not, raise an error to that effect.</span>
|
27
|
+
271: <span class="ruby-keyword kw">unless</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>[ <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span> ]
|
28
|
+
272: <span class="ruby-identifier">raise</span> <span class="ruby-constant">FactoryError</span>,
|
29
|
+
273: <span class="ruby-value str">"Couldn't find a %s named '%s'. Loaded derivatives are: %p"</span> <span class="ruby-operator">%</span> [
|
30
|
+
274: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">factoryType</span>,
|
31
|
+
275: <span class="ruby-identifier">className</span>.<span class="ruby-identifier">downcase</span>,
|
32
|
+
276: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivatives</span>.<span class="ruby-identifier">keys</span>,
|
33
|
+
277: ], <span class="ruby-identifier">caller</span>(<span class="ruby-value">3</span>)
|
34
|
+
278: <span class="ruby-keyword kw">end</span>
|
35
|
+
279:
|
36
|
+
280: <span class="ruby-keyword kw">return</span> <span class="ruby-keyword kw">true</span>
|
37
|
+
281: <span class="ruby-keyword kw">end</span></pre>
|
38
|
+
</body>
|
39
|
+
</html>
|
@@ -0,0 +1,24 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>getModuleName (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 288</span>
|
14
|
+
288: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">getModuleName</span>( <span class="ruby-identifier">className</span> )
|
15
|
+
289: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">className</span> <span class="ruby-operator">=~</span> <span class="ruby-node">/\w+#{self.factoryType}/</span>
|
16
|
+
290: <span class="ruby-identifier">modName</span> = <span class="ruby-identifier">className</span>.<span class="ruby-identifier">sub</span>( <span class="ruby-node">/(?:.*::)?(\w+)(?:#{self.factoryType})/</span>, <span class="ruby-value str">"\\1"</span> )
|
17
|
+
291: <span class="ruby-keyword kw">else</span>
|
18
|
+
292: <span class="ruby-identifier">modName</span> = <span class="ruby-identifier">className</span>
|
19
|
+
293: <span class="ruby-keyword kw">end</span>
|
20
|
+
294:
|
21
|
+
295: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">modName</span>
|
22
|
+
296: <span class="ruby-keyword kw">end</span></pre>
|
23
|
+
</body>
|
24
|
+
</html>
|
@@ -0,0 +1,70 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>requireDerivative (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 302</span>
|
14
|
+
302: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">requireDerivative</span>( <span class="ruby-identifier">modName</span> )
|
15
|
+
303:
|
16
|
+
304: <span class="ruby-comment cmt"># See if we have a list of special subdirs that derivatives</span>
|
17
|
+
305: <span class="ruby-comment cmt"># live in</span>
|
18
|
+
306: <span class="ruby-keyword kw">if</span> ( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:derivativeDirs</span>) )
|
19
|
+
307: <span class="ruby-identifier">subdirs</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">derivativeDirs</span>
|
20
|
+
308: <span class="ruby-identifier">subdirs</span> = [ <span class="ruby-identifier">subdirs</span> ] <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">subdirs</span>.<span class="ruby-identifier">is_a?</span>( <span class="ruby-constant">Array</span> )
|
21
|
+
309:
|
22
|
+
310: <span class="ruby-comment cmt"># If not, just try requiring it from $LOAD_PATH</span>
|
23
|
+
311: <span class="ruby-keyword kw">else</span>
|
24
|
+
312: <span class="ruby-identifier">subdirs</span> = [<span class="ruby-value str">''</span>]
|
25
|
+
313: <span class="ruby-keyword kw">end</span>
|
26
|
+
314:
|
27
|
+
315: <span class="ruby-identifier">fatals</span> = []
|
28
|
+
316:
|
29
|
+
317: <span class="ruby-comment cmt"># Iterate over the subdirs until we successfully require a</span>
|
30
|
+
318: <span class="ruby-comment cmt"># module.</span>
|
31
|
+
319: <span class="ruby-identifier">catch</span>( <span class="ruby-identifier">:found</span> ) {
|
32
|
+
320: <span class="ruby-identifier">subdirs</span>.<span class="ruby-identifier">collect</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">dir</span><span class="ruby-operator">|</span> <span class="ruby-identifier">dir</span>.<span class="ruby-identifier">strip</span>}.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">subdir</span><span class="ruby-operator">|</span>
|
33
|
+
321: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">makeRequirePath</span>( <span class="ruby-identifier">modName</span>, <span class="ruby-identifier">subdir</span> ).<span class="ruby-identifier">each</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">path</span><span class="ruby-operator">|</span>
|
34
|
+
322: <span class="ruby-comment cmt">#PluginFactory::log :debug, "Trying #{path}..."</span>
|
35
|
+
323:
|
36
|
+
324: <span class="ruby-comment cmt"># Try to require the module, saving errors and jumping</span>
|
37
|
+
325: <span class="ruby-comment cmt"># out of the catch block on success.</span>
|
38
|
+
326: <span class="ruby-keyword kw">begin</span>
|
39
|
+
327: <span class="ruby-identifier">require</span>( <span class="ruby-identifier">path</span>.<span class="ruby-identifier">untaint</span> )
|
40
|
+
328: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">err</span>
|
41
|
+
329: <span class="ruby-constant">PluginFactory</span><span class="ruby-operator">::</span><span class="ruby-identifier">log</span> <span class="ruby-identifier">:debug</span>,
|
42
|
+
330: <span class="ruby-value str">"No module at '%s', trying the next alternative: '%s'"</span> <span class="ruby-operator">%</span>
|
43
|
+
331: [ <span class="ruby-identifier">path</span>, <span class="ruby-identifier">err</span>.<span class="ruby-identifier">message</span> ]
|
44
|
+
332: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">ScriptError</span>,<span class="ruby-constant">StandardError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">err</span>
|
45
|
+
333: <span class="ruby-identifier">fatals</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">err</span>
|
46
|
+
334: <span class="ruby-constant">PluginFactory</span><span class="ruby-operator">::</span><span class="ruby-identifier">log</span> <span class="ruby-identifier">:error</span>,
|
47
|
+
335: <span class="ruby-node">"Found '#{path}', but encountered an error: %s\n\t%s"</span> <span class="ruby-operator">%</span>
|
48
|
+
336: [ <span class="ruby-identifier">err</span>.<span class="ruby-identifier">message</span>, <span class="ruby-identifier">err</span>.<span class="ruby-identifier">backtrace</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"\n\t"</span>) ]
|
49
|
+
337: <span class="ruby-keyword kw">else</span>
|
50
|
+
338: <span class="ruby-comment cmt">#PluginFactory::log :debug, </span>
|
51
|
+
339: <span class="ruby-comment cmt"># "Found '#{path}'. Throwing :found"</span>
|
52
|
+
340: <span class="ruby-identifier">throw</span> <span class="ruby-identifier">:found</span>
|
53
|
+
341: <span class="ruby-keyword kw">end</span>
|
54
|
+
342: }
|
55
|
+
343: <span class="ruby-keyword kw">end</span>
|
56
|
+
344:
|
57
|
+
345: <span class="ruby-comment cmt">#PluginFactory::log :debug, "fatals = %p" % [ fatals ]</span>
|
58
|
+
346:
|
59
|
+
347: <span class="ruby-comment cmt"># Re-raise is there was a file found, but it didn't load for</span>
|
60
|
+
348: <span class="ruby-comment cmt"># some reason.</span>
|
61
|
+
349: <span class="ruby-keyword kw">if</span> <span class="ruby-operator">!</span> <span class="ruby-identifier">fatals</span>.<span class="ruby-identifier">empty?</span>
|
62
|
+
350: <span class="ruby-comment cmt">#PluginFactory::log :debug, "Re-raising first fatal error"</span>
|
63
|
+
351: <span class="ruby-constant">Kernel</span><span class="ruby-operator">::</span><span class="ruby-identifier">raise</span>( <span class="ruby-identifier">fatals</span>.<span class="ruby-identifier">first</span> )
|
64
|
+
352: <span class="ruby-keyword kw">end</span>
|
65
|
+
353:
|
66
|
+
354: <span class="ruby-keyword kw">nil</span>
|
67
|
+
355: }
|
68
|
+
356: <span class="ruby-keyword kw">end</span></pre>
|
69
|
+
</body>
|
70
|
+
</html>
|
@@ -0,0 +1,34 @@
|
|
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>
|
7
|
+
<head>
|
8
|
+
<title>makeRequirePath (PluginFactory)</title>
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
10
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
11
|
+
</head>
|
12
|
+
<body class="standalone-code">
|
13
|
+
<pre> <span class="ruby-comment cmt"># File lib/pluginfactory.rb, line 364</span>
|
14
|
+
364: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">makeRequirePath</span>( <span class="ruby-identifier">modname</span>, <span class="ruby-identifier">subdir</span> )
|
15
|
+
365: <span class="ruby-identifier">path</span> = []
|
16
|
+
366: <span class="ruby-identifier">myname</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">factoryType</span>
|
17
|
+
367:
|
18
|
+
368: <span class="ruby-comment cmt"># Make permutations of the two parts</span>
|
19
|
+
369: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">modname</span>
|
20
|
+
370: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">modname</span>.<span class="ruby-identifier">downcase</span>
|
21
|
+
371: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">modname</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">myname</span>
|
22
|
+
372: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">modname</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">myname</span>
|
23
|
+
373: <span class="ruby-identifier">path</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">modname</span>.<span class="ruby-identifier">downcase</span> <span class="ruby-operator">+</span> <span class="ruby-identifier">myname</span>.<span class="ruby-identifier">downcase</span>
|
24
|
+
374:
|
25
|
+
375: <span class="ruby-comment cmt"># If a non-empty subdir was given, prepend it to all the items in the</span>
|
26
|
+
376: <span class="ruby-comment cmt"># path</span>
|
27
|
+
377: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">subdir</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">subdir</span>.<span class="ruby-identifier">empty?</span>
|
28
|
+
378: <span class="ruby-identifier">path</span>.<span class="ruby-identifier">collect!</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">m</span><span class="ruby-operator">|</span> <span class="ruby-constant">File</span><span class="ruby-operator">::</span><span class="ruby-identifier">join</span>(<span class="ruby-identifier">subdir</span>, <span class="ruby-identifier">m</span>)}
|
29
|
+
379: <span class="ruby-keyword kw">end</span>
|
30
|
+
380:
|
31
|
+
381: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">path</span>.<span class="ruby-identifier">uniq</span>.<span class="ruby-identifier">reverse</span>
|
32
|
+
382: <span class="ruby-keyword kw">end</span></pre>
|
33
|
+
</body>
|
34
|
+
</html>
|
data/doc/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Sun Feb 12 15:12:16 EST 2006
|
data/doc/rdoc/files/README.html
CHANGED
@@ -56,7 +56,7 @@
|
|
56
56
|
</tr>
|
57
57
|
<tr class="top-aligned-row">
|
58
58
|
<td><strong>Last Update:</strong></td>
|
59
|
-
<td>
|
59
|
+
<td>Sat Feb 11 22:46:26 EST 2006</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -84,41 +84,42 @@ portability issues.
|
|
84
84
|
</p>
|
85
85
|
<h2>Status</h2>
|
86
86
|
<p>
|
87
|
-
The 0.3 release
|
88
|
-
|
89
|
-
|
90
|
-
than the previous releases.
|
87
|
+
The 0.3.1 release support Ruby On Rails much better than previously, and
|
88
|
+
also sports the beginning of a command and plugin infrastructure. This last
|
89
|
+
part isn’t documented yet.
|
91
90
|
</p>
|
92
91
|
<p>
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
applications:
|
92
|
+
After you’ve installed (either with gem install mongrel or via
|
93
|
+
source) you should have the mongrel_rails command available in your PATH.
|
94
|
+
Then you just do the following:
|
97
95
|
</p>
|
98
96
|
<pre>
|
99
|
-
|
100
|
-
|
97
|
+
> cd myrailsapp
|
98
|
+
> mongrel_rails start
|
101
99
|
</pre>
|
102
100
|
<p>
|
103
|
-
|
104
|
-
|
105
|
-
you’ll get that served instead of your Rails application.
|
101
|
+
This will start it in the foreground so you can play with it. It runs your
|
102
|
+
application in production mode. To get help do:
|
106
103
|
</p>
|
104
|
+
<pre>
|
105
|
+
> mongrel_rails start -h
|
106
|
+
</pre>
|
107
107
|
<p>
|
108
|
-
|
109
|
-
|
108
|
+
Finally, you can then start in background mode (probably won’t work
|
109
|
+
in win32):
|
110
110
|
</p>
|
111
111
|
<pre>
|
112
|
-
|
112
|
+
> mongrel_rails start -d
|
113
113
|
</pre>
|
114
114
|
<p>
|
115
|
-
|
116
|
-
ran it.
|
115
|
+
And you can stop it whenever you like with:
|
117
116
|
</p>
|
117
|
+
<pre>
|
118
|
+
> mongrel_rails stop
|
119
|
+
</pre>
|
118
120
|
<p>
|
119
|
-
|
120
|
-
|
121
|
-
definitely have some problems.
|
121
|
+
All of which should be done from your application’s directory. It
|
122
|
+
writes the PID of the process you ran into log/mongrel.pid.
|
122
123
|
</p>
|
123
124
|
<h2>Install</h2>
|
124
125
|
<p>
|
@@ -169,18 +170,14 @@ is missing though.*
|
|
169
170
|
</p>
|
170
171
|
<h2>Speed</h2>
|
171
172
|
<p>
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
architectures and IO processing methods and none of them make it any
|
177
|
-
faster. In short: <a href="../classes/Mongrel.html">Mongrel</a> is
|
178
|
-
amazingly fast considering Ruby’s speed limitations.
|
173
|
+
Like previous releases 0.3.1 continues the trend of making things as fast
|
174
|
+
as possible. It currently might be a little slower than other releases but
|
175
|
+
should hold up pretty good against at least WEBrick (especially when
|
176
|
+
running Rails).
|
179
177
|
</p>
|
180
178
|
<p>
|
181
|
-
|
182
|
-
|
183
|
-
optional parameter:
|
179
|
+
As before you can control the number of processor threads (and thus
|
180
|
+
ActiveRecord database connections) with:
|
184
181
|
</p>
|
185
182
|
<pre>
|
186
183
|
h = Mongrel::HttpServer.new("0.0.0.0", "3000", 40)
|
@@ -192,11 +189,6 @@ limited processors also means that you can use ActiveRecord as-is and it
|
|
192
189
|
will create a matching database connection for each processor thread. More
|
193
190
|
on this in future releases.
|
194
191
|
</p>
|
195
|
-
<p>
|
196
|
-
With this release I’m hoping that I’ve created a nice solid
|
197
|
-
fast as hell core upon which I can build the remaining features I want in
|
198
|
-
<a href="../classes/Mongrel.html">Mongrel</a>.
|
199
|
-
</p>
|
200
192
|
<h2>The Future</h2>
|
201
193
|
<p>
|
202
194
|
With the core of <a href="../classes/Mongrel.html">Mongrel</a> completed
|