mongrel 0.3 → 0.3.1
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.
- 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
|