Capcode 0.8.9 → 0.9.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.rdoc +13 -1
- data/doc/rdoc/classes/Capcode.html +410 -545
- data/doc/rdoc/classes/Capcode/Configuration.html +263 -0
- data/doc/rdoc/classes/Capcode/Helpers.html +154 -345
- data/doc/rdoc/classes/Capcode/Helpers/Authorization.html +6 -6
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README_rdoc.html +42 -2
- data/doc/rdoc/files/lib/capcode/configuration_rb.html +1 -1
- data/doc/rdoc/files/lib/capcode/render/text_rb.html +1 -1
- data/doc/rdoc/files/lib/capcode_rb.html +14 -1
- data/doc/rdoc/fr_class_index.html +1 -1
- data/doc/rdoc/fr_file_index.html +0 -13
- data/doc/rdoc/fr_method_index.html +12 -14
- data/examples/render-image.rb +1 -1
- data/examples/render-text.rb +4 -1
- data/examples/rest.rb +1 -0
- data/examples/sample.rb +5 -3
- data/examples/upload.rb +1 -0
- data/lib/capcode.rb +45 -61
- data/lib/capcode/configuration.rb +69 -34
- data/lib/capcode/render/text.rb +1 -1
- data/lib/capcode/version.rb +1 -1
- metadata +31 -106
- data/doc/rdoc/classes/Capcode/Mab.html +0 -118
- data/doc/rdoc/files/lib/capcode/render/binary_rb.html +0 -101
- data/doc/rdoc/files/lib/capcode/render/email_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/erb_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/haml_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/json_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/markaby_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/mustache_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/none_rb.html +0 -101
- data/doc/rdoc/files/lib/capcode/render/redirect_rb.html +0 -101
- data/doc/rdoc/files/lib/capcode/render/sass_rb.html +0 -108
- data/doc/rdoc/files/lib/capcode/render/static_rb.html +0 -101
- data/doc/rdoc/files/lib/capcode/render/webdav_rb.html +0 -124
- data/doc/rdoc/files/lib/capcode/render/xml_rb.html +0 -101
- data/examples/auth-webdav.rb +0 -29
- data/examples/blog-ar.rb +0 -81
- data/examples/blog-ar.yml +0 -3
- data/examples/blog-couchdb-run.rb +0 -10
- data/examples/blog-couchdb.rb +0 -314
- data/examples/blog-couchdb.ru +0 -12
- data/examples/blog-couchdb.yml +0 -2
- data/examples/blog-dm.rb +0 -63
- data/examples/blog-dm.yml +0 -2
- data/examples/blog-mongodb-run.rb +0 -10
- data/examples/blog-mongodb.rb +0 -304
- data/examples/blog-mongodb.yml +0 -3
- data/examples/blog-sq.rb +0 -82
- data/examples/blog-sq.yml +0 -3
- data/examples/mail/mail_html.rhtml +0 -1
- data/examples/mail/mail_text.rhtml +0 -1
- data/examples/mail/ok.rhtml +0 -1
- data/examples/mail/rubyfr.png +0 -0
- data/examples/mustache/with_class.mustache +0 -8
- data/examples/mustache/without_class.mustache +0 -1
- data/examples/render-binary.rb +0 -46
- data/examples/render-email.rb +0 -68
- data/examples/render-erb.rb +0 -19
- data/examples/render-haml_sass.rb +0 -26
- data/examples/render-json.rb +0 -13
- data/examples/render-markaby.rb +0 -29
- data/examples/render-mustache.rb +0 -30
- data/examples/render-redirect.rb +0 -19
- data/examples/render-static.rb +0 -21
- data/examples/render-static.ru +0 -19
- data/examples/render-use.rb +0 -32
- data/examples/render-webdav.rb +0 -26
- data/examples/render-xml.rb +0 -24
- data/examples/rss.rb +0 -48
- data/examples/static/coderay.css +0 -131
- data/examples/static/index.html +0 -24
- data/examples/test/index.html +0 -1
- data/lib/capcode/base/ar.rb +0 -54
- data/lib/capcode/base/couchdb.rb +0 -23
- data/lib/capcode/base/dm.rb +0 -33
- data/lib/capcode/base/mongodb.rb +0 -27
- data/lib/capcode/base/sq.rb +0 -58
- data/lib/capcode/render/binary.rb +0 -8
- data/lib/capcode/render/email.rb +0 -73
- data/lib/capcode/render/erb.rb +0 -59
- data/lib/capcode/render/haml.rb +0 -60
- data/lib/capcode/render/json.rb +0 -14
- data/lib/capcode/render/markaby.rb +0 -38
- data/lib/capcode/render/mustache.rb +0 -37
- data/lib/capcode/render/none.rb +0 -7
- data/lib/capcode/render/redirect.rb +0 -7
- data/lib/capcode/render/sass.rb +0 -48
- data/lib/capcode/render/static.rb +0 -14
- data/lib/capcode/render/webdav.rb +0 -49
- data/lib/capcode/render/xml.rb +0 -119
@@ -111,7 +111,7 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
111
111
|
<h3 class="section-bar">Methods</h3>
|
112
112
|
|
113
113
|
<div class="name-list">
|
114
|
-
<a href="#
|
114
|
+
<a href="#M000021">http_authentication</a>
|
115
115
|
</div>
|
116
116
|
</div>
|
117
117
|
|
@@ -133,11 +133,11 @@ USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
133
133
|
<div id="methods">
|
134
134
|
<h3 class="section-bar">Public Instance methods</h3>
|
135
135
|
|
136
|
-
<div id="method-
|
137
|
-
<a name="
|
136
|
+
<div id="method-M000021" class="method-detail">
|
137
|
+
<a name="M000021"></a>
|
138
138
|
|
139
139
|
<div class="method-heading">
|
140
|
-
<a href="#
|
140
|
+
<a href="#M000021" class="method-signature">
|
141
141
|
<span class="method-name">http_authentication</span><span class="method-args">( opts = {}, &b )</span>
|
142
142
|
</a>
|
143
143
|
</div>
|
@@ -173,8 +173,8 @@ The block must return a Hash of username => password like that :
|
|
173
173
|
}
|
174
174
|
</pre>
|
175
175
|
<p><a class="source-toggle" href="#"
|
176
|
-
onclick="toggleCode('
|
177
|
-
<div class="method-source-code" id="
|
176
|
+
onclick="toggleCode('M000021-source');return false;">[Source]</a></p>
|
177
|
+
<div class="method-source-code" id="M000021-source">
|
178
178
|
<pre>
|
179
179
|
<span class="ruby-comment cmt"># File lib/capcode/helpers/auth.rb, line 105</span>
|
180
180
|
105: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">http_authentication</span>( <span class="ruby-identifier">opts</span> = {}, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span> )
|
data/doc/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Thu, 07 Jan 2010 00:27:00 +0100
|
@@ -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>Thu Jan 07 00:23:27 +0100 2010</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -91,6 +91,46 @@ href="http://www.algorithmique.net/capcode">www.algorithmique.net/capcode</a>/
|
|
91
91
|
<a href="../classes/Capcode.html">Capcode</a> is a web microframework
|
92
92
|
</p>
|
93
93
|
<h2>FEATURES/PROBLEMS:</h2>
|
94
|
+
<h3>0.9.0</h3>
|
95
|
+
<ul>
|
96
|
+
<li><b>IMPORTANT</b>
|
97
|
+
|
98
|
+
<ul>
|
99
|
+
<li>THIS VERSION IS A MAJOR ENHANCEMENT : YOU MUST UNINSTALL ALL PREVIOUS
|
100
|
+
VERSIONS !!!
|
101
|
+
|
102
|
+
</li>
|
103
|
+
</ul>
|
104
|
+
<p>
|
105
|
+
gem uninstall Capode —version ’< 0.9.0‘
|
106
|
+
</p>
|
107
|
+
<ul>
|
108
|
+
<li>Renderers and database accessors have been extracted and are now in the <a
|
109
|
+
href="http://github.com/glejeune/Capcode.more">plugins repository</a>. Each
|
110
|
+
plugin is a gem that‘s can be installed separately.
|
111
|
+
|
112
|
+
</li>
|
113
|
+
</ul>
|
114
|
+
</li>
|
115
|
+
<li><b>Important, but less!</b>
|
116
|
+
|
117
|
+
<ul>
|
118
|
+
<li>Add <a href="http://jashkenas.github.com/coffee-script/">Coffee-Script</a>
|
119
|
+
renderer
|
120
|
+
|
121
|
+
</li>
|
122
|
+
<li>Update renderers options
|
123
|
+
|
124
|
+
</li>
|
125
|
+
<li>Rewrite configuration
|
126
|
+
|
127
|
+
</li>
|
128
|
+
<li>Bug corrections in all DB modules
|
129
|
+
|
130
|
+
</li>
|
131
|
+
</ul>
|
132
|
+
</li>
|
133
|
+
</ul>
|
94
134
|
<h3>0.8.9</h3>
|
95
135
|
<ul>
|
96
136
|
<li>Add Thin support
|
@@ -556,7 +596,7 @@ for complete examples.
|
|
556
596
|
# !!! Render file from /Users/greg/temp !!!
|
557
597
|
class WebDav < Route '/temp'
|
558
598
|
def get
|
559
|
-
render :webdav => "/Users/greg"
|
599
|
+
render :webdav => "/Users/greg/temp"
|
560
600
|
end
|
561
601
|
|
562
602
|
def method_missing(id, *a, &b)
|
@@ -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>Tue Jan 05 17:03:42 +0100 2010</td>
|
60
60
|
</tr>
|
61
61
|
</table>
|
62
62
|
</div>
|
@@ -107,6 +107,19 @@ Please read the README.rdoc file !
|
|
107
107
|
|
108
108
|
|
109
109
|
|
110
|
+
<div id="aliases-list">
|
111
|
+
<h3 class="section-bar">External Aliases</h3>
|
112
|
+
|
113
|
+
<div class="name-list">
|
114
|
+
<table summary="aliases">
|
115
|
+
<tr class="top-aligned-row context-row">
|
116
|
+
<td class="context-item-name">"<<"</td>
|
117
|
+
<td>-></td>
|
118
|
+
<td class="context-item-value">write</td>
|
119
|
+
</tr>
|
120
|
+
</table>
|
121
|
+
</div>
|
122
|
+
</div>
|
110
123
|
|
111
124
|
|
112
125
|
|
@@ -22,10 +22,10 @@
|
|
22
22
|
<div id="index-entries">
|
23
23
|
<a href="classes/Capcode.html">Capcode</a><br />
|
24
24
|
<a href="classes/Capcode/Base.html">Capcode::Base</a><br />
|
25
|
+
<a href="classes/Capcode/Configuration.html">Capcode::Configuration</a><br />
|
25
26
|
<a href="classes/Capcode/HTTPError.html">Capcode::HTTPError</a><br />
|
26
27
|
<a href="classes/Capcode/Helpers.html">Capcode::Helpers</a><br />
|
27
28
|
<a href="classes/Capcode/Helpers/Authorization.html">Capcode::Helpers::Authorization</a><br />
|
28
|
-
<a href="classes/Capcode/Mab.html">Capcode::Mab</a><br />
|
29
29
|
<a href="classes/Capcode/Resource.html">Capcode::Resource</a><br />
|
30
30
|
<a href="classes/Capcode/Views.html">Capcode::Views</a><br />
|
31
31
|
</div>
|
data/doc/rdoc/fr_file_index.html
CHANGED
@@ -27,20 +27,7 @@
|
|
27
27
|
<a href="files/lib/capcode/base/db_rb.html">lib/capcode/base/db.rb</a><br />
|
28
28
|
<a href="files/lib/capcode/configuration_rb.html">lib/capcode/configuration.rb</a><br />
|
29
29
|
<a href="files/lib/capcode/helpers/auth_rb.html">lib/capcode/helpers/auth.rb</a><br />
|
30
|
-
<a href="files/lib/capcode/render/binary_rb.html">lib/capcode/render/binary.rb</a><br />
|
31
|
-
<a href="files/lib/capcode/render/email_rb.html">lib/capcode/render/email.rb</a><br />
|
32
|
-
<a href="files/lib/capcode/render/erb_rb.html">lib/capcode/render/erb.rb</a><br />
|
33
|
-
<a href="files/lib/capcode/render/haml_rb.html">lib/capcode/render/haml.rb</a><br />
|
34
|
-
<a href="files/lib/capcode/render/json_rb.html">lib/capcode/render/json.rb</a><br />
|
35
|
-
<a href="files/lib/capcode/render/markaby_rb.html">lib/capcode/render/markaby.rb</a><br />
|
36
|
-
<a href="files/lib/capcode/render/mustache_rb.html">lib/capcode/render/mustache.rb</a><br />
|
37
|
-
<a href="files/lib/capcode/render/none_rb.html">lib/capcode/render/none.rb</a><br />
|
38
|
-
<a href="files/lib/capcode/render/redirect_rb.html">lib/capcode/render/redirect.rb</a><br />
|
39
|
-
<a href="files/lib/capcode/render/sass_rb.html">lib/capcode/render/sass.rb</a><br />
|
40
|
-
<a href="files/lib/capcode/render/static_rb.html">lib/capcode/render/static.rb</a><br />
|
41
30
|
<a href="files/lib/capcode/render/text_rb.html">lib/capcode/render/text.rb</a><br />
|
42
|
-
<a href="files/lib/capcode/render/webdav_rb.html">lib/capcode/render/webdav.rb</a><br />
|
43
|
-
<a href="files/lib/capcode/render/xml_rb.html">lib/capcode/render/xml.rb</a><br />
|
44
31
|
</div>
|
45
32
|
</div>
|
46
33
|
</body>
|
@@ -21,30 +21,28 @@
|
|
21
21
|
<h1 class="section-bar">Methods</h1>
|
22
22
|
<div id="index-entries">
|
23
23
|
<a href="classes/Capcode.html#M000001">Route (Capcode)</a><br />
|
24
|
-
<a href="classes/Capcode/Helpers.html#
|
24
|
+
<a href="classes/Capcode/Helpers.html#M000018">URL (Capcode::Helpers)</a><br />
|
25
25
|
<a href="classes/Capcode.html#M000010">application (Capcode)</a><br />
|
26
|
-
<a href="classes/Capcode/Helpers.html#
|
27
|
-
<a href="classes/Capcode/Helpers.html#
|
28
|
-
<a href="classes/Capcode.html#
|
29
|
-
<a href="classes/Capcode/Helpers.html#M000020">content_for (Capcode::Helpers)</a><br />
|
26
|
+
<a href="classes/Capcode/Helpers.html#M000013">args (Capcode::Helpers)</a><br />
|
27
|
+
<a href="classes/Capcode/Helpers.html#M000014">args= (Capcode::Helpers)</a><br />
|
28
|
+
<a href="classes/Capcode/Helpers.html#M000019">content_for (Capcode::Helpers)</a><br />
|
30
29
|
<a href="classes/Capcode.html#M000003">env (Capcode)</a><br />
|
31
|
-
<a href="classes/Capcode/
|
32
|
-
<a href="classes/Capcode/Helpers.html#M000023">haml_path= (Capcode::Helpers)</a><br />
|
30
|
+
<a href="classes/Capcode/Configuration.html#M000023">get (Capcode::Configuration)</a><br />
|
33
31
|
<a href="classes/Capcode.html#M000009">http_authentication (Capcode)</a><br />
|
34
|
-
<a href="classes/Capcode/Helpers/Authorization.html#
|
35
|
-
<a href="classes/Capcode/Helpers.html#
|
32
|
+
<a href="classes/Capcode/Helpers/Authorization.html#M000021">http_authentication (Capcode::Helpers::Authorization)</a><br />
|
33
|
+
<a href="classes/Capcode/Helpers.html#M000016">json (Capcode::Helpers)</a><br />
|
36
34
|
<a href="classes/Capcode.html#M000007">map (Capcode)</a><br />
|
35
|
+
<a href="classes/Capcode/Configuration.html#M000024">options (Capcode::Configuration)</a><br />
|
37
36
|
<a href="classes/Capcode.html#M000002">params (Capcode)</a><br />
|
38
|
-
<a href="classes/Capcode/Helpers.html#
|
39
|
-
<a href="classes/Capcode/Helpers.html#
|
40
|
-
<a href="classes/Capcode/Helpers.html#M000025">render_webdav (Capcode::Helpers)</a><br />
|
37
|
+
<a href="classes/Capcode/Helpers.html#M000017">redirect (Capcode::Helpers)</a><br />
|
38
|
+
<a href="classes/Capcode/Helpers.html#M000015">render (Capcode::Helpers)</a><br />
|
41
39
|
<a href="classes/Capcode.html#M000005">request (Capcode)</a><br />
|
42
40
|
<a href="classes/Capcode.html#M000006">response (Capcode)</a><br />
|
43
41
|
<a href="classes/Capcode.html#M000011">run (Capcode)</a><br />
|
44
|
-
<a href="classes/Capcode/Helpers.html#M000024">sass_path= (Capcode::Helpers)</a><br />
|
45
42
|
<a href="classes/Capcode.html#M000004">session (Capcode)</a><br />
|
43
|
+
<a href="classes/Capcode/Configuration.html#M000022">set (Capcode::Configuration)</a><br />
|
46
44
|
<a href="classes/Capcode.html#M000012">set (Capcode)</a><br />
|
47
|
-
<a href="classes/Capcode/Helpers.html#
|
45
|
+
<a href="classes/Capcode/Helpers.html#M000020">static (Capcode::Helpers)</a><br />
|
48
46
|
<a href="classes/Capcode.html#M000008">use (Capcode)</a><br />
|
49
47
|
</div>
|
50
48
|
</div>
|
data/examples/render-image.rb
CHANGED
data/examples/render-text.rb
CHANGED
@@ -2,6 +2,9 @@ $:.unshift( "../lib" )
|
|
2
2
|
require 'capcode'
|
3
3
|
|
4
4
|
module Capcode
|
5
|
+
set :server, :webrick
|
6
|
+
set :port, 1111
|
7
|
+
|
5
8
|
class Index < Route '/'
|
6
9
|
def get
|
7
10
|
render "Hello World"
|
@@ -9,4 +12,4 @@ module Capcode
|
|
9
12
|
end
|
10
13
|
end
|
11
14
|
|
12
|
-
Capcode.run( )
|
15
|
+
Capcode.run( :port => 2222 )
|
data/examples/rest.rb
CHANGED
data/examples/sample.rb
CHANGED
@@ -1,12 +1,10 @@
|
|
1
1
|
$:.unshift( "../lib" )
|
2
|
-
require 'rubygems'
|
3
2
|
require 'capcode'
|
3
|
+
require 'rubygems'
|
4
4
|
require 'capcode/render/markaby'
|
5
5
|
require 'capcode/render/haml'
|
6
|
-
Capcode::Helpers.haml_path = "haml"
|
7
6
|
require 'capcode/render/json'
|
8
7
|
require 'capcode/render/erb'
|
9
|
-
Capcode::Helpers.erb_path = "erb"
|
10
8
|
|
11
9
|
module Capcode
|
12
10
|
module Helpers
|
@@ -17,6 +15,9 @@ module Capcode
|
|
17
15
|
end
|
18
16
|
|
19
17
|
module Capcode
|
18
|
+
set :haml, "haml"
|
19
|
+
set :erb, "erb"
|
20
|
+
|
20
21
|
class HTTPError
|
21
22
|
def r404(f)
|
22
23
|
"Pas glop !!! #{f} est inconnu !!!"
|
@@ -63,6 +64,7 @@ module Capcode
|
|
63
64
|
|
64
65
|
class ContentFor < Route '/cf'
|
65
66
|
def get
|
67
|
+
@time = Time.now
|
66
68
|
render( :erb => :cf, :layout => :cf_layout )
|
67
69
|
end
|
68
70
|
end
|
data/examples/upload.rb
CHANGED
data/lib/capcode.rb
CHANGED
@@ -4,6 +4,7 @@ require 'rubygems'
|
|
4
4
|
require 'rack'
|
5
5
|
require 'json' ## DELETE THIS IN 1.0.0
|
6
6
|
require 'logger'
|
7
|
+
Logger.class_eval { alias :write :"<<" } unless Logger.instance_methods.include? "write"
|
7
8
|
require 'optparse'
|
8
9
|
require 'irb'
|
9
10
|
require 'mime/types'
|
@@ -527,30 +528,13 @@ module Capcode
|
|
527
528
|
end
|
528
529
|
end
|
529
530
|
|
530
|
-
def configuration( args = {} ) #:nodoc:
|
531
|
-
{
|
532
|
-
:port => args[:port]||Capcode.get(:port)||3000,
|
533
|
-
:host => args[:host]||Capcode.get(:host)||"0.0.0.0",
|
534
|
-
:server => args[:server]||Capcode.get(:server)||nil,
|
535
|
-
:log => args[:log]||Capcode.get(:log)||$stdout,
|
536
|
-
:session => args[:session]||Capcode.get(:session)||{},
|
537
|
-
:pid => args[:pid]||Capcode.get(:pid)||"#{$0}.pid",
|
538
|
-
:daemonize => args[:daemonize]||Capcode.get(:daemonize)||false,
|
539
|
-
:db_config => File.expand_path(args[:db_config]||Capcode.get(:db_config)||"database.yml"),
|
540
|
-
:root => args[:root]||Capcode.get(:root)||File.expand_path(File.dirname($0)),
|
541
|
-
:static => args[:static]||Capcode.get(:static)||args[:root]||File.expand_path(File.dirname($0)),
|
542
|
-
:verbose => args[:verbose]||Capcode.get(:verbose)||false,
|
543
|
-
:console => false
|
544
|
-
}
|
545
|
-
end
|
546
|
-
|
547
531
|
# Return the Rack App.
|
548
532
|
#
|
549
|
-
# Options : see Capcode.set
|
533
|
+
# Options : see Capcode::Configuration.set
|
550
534
|
#
|
551
535
|
# Options set here replace the ones set globally
|
552
536
|
def application( args = {} )
|
553
|
-
|
537
|
+
Capcode::Configuration.configuration(args)
|
554
538
|
|
555
539
|
Capcode.constants.each do |k|
|
556
540
|
begin
|
@@ -570,21 +554,21 @@ module Capcode
|
|
570
554
|
|
571
555
|
# Set Static directory
|
572
556
|
#@@__STATIC_DIR = (conf[:static][0].chr == "/")?conf[:static]:"/"+conf[:static] unless conf[:static].nil?
|
573
|
-
Capcode.static = (
|
557
|
+
Capcode.static = (Capcode::Configuration.get(:static)[0].chr == "/")?Capcode::Configuration.get(:static):"/"+Capcode::Configuration.get(:static) unless Capcode::Configuration.get(:static).nil?
|
574
558
|
|
575
559
|
# Initialize Rack App
|
576
|
-
puts "** Map routes." if
|
560
|
+
puts "** Map routes." if Capcode::Configuration.get(:verbose)
|
577
561
|
#app = Rack::URLMap.new(@@__ROUTES)
|
578
562
|
app = Rack::URLMap.new(Capcode.routes)
|
579
|
-
puts "** Initialize static directory (#{
|
563
|
+
puts "** Initialize static directory (#{Capcode::Configuration.get(:static)})" if Capcode::Configuration.get(:verbose)
|
580
564
|
app = Rack::Static.new(
|
581
565
|
app,
|
582
566
|
#:urls => [@@__STATIC_DIR],
|
583
567
|
:urls => [Capcode.static],
|
584
|
-
:root => File.expand_path(
|
585
|
-
) unless
|
586
|
-
puts "** Initialize session" if
|
587
|
-
app = Rack::Session::Cookie.new( app,
|
568
|
+
:root => File.expand_path(Capcode::Configuration.get(:root))
|
569
|
+
) unless Capcode::Configuration.get(:static).nil?
|
570
|
+
puts "** Initialize session" if Capcode::Configuration.get(:verbose)
|
571
|
+
app = Rack::Session::Cookie.new( app, Capcode::Configuration.get(:session) )
|
588
572
|
app = Capcode::HTTPError.new(app)
|
589
573
|
app = Rack::ContentLength.new(app)
|
590
574
|
app = Rack::Lint.new(app)
|
@@ -594,7 +578,7 @@ module Capcode
|
|
594
578
|
|
595
579
|
middlewares.each do |mw|
|
596
580
|
middleware, args, block = mw
|
597
|
-
puts "** Load middleware #{middleware}" if
|
581
|
+
puts "** Load middleware #{middleware}" if Capcode::Configuration.get(:verbose)
|
598
582
|
if block
|
599
583
|
app = middleware.new( app, *args, &block )
|
600
584
|
else
|
@@ -604,7 +588,7 @@ module Capcode
|
|
604
588
|
|
605
589
|
# Start database
|
606
590
|
if self.methods.include? "db_connect"
|
607
|
-
db_connect(
|
591
|
+
db_connect( Capcode::Configuration.get(:db_config), Capcode::Configuration.get(:log) )
|
608
592
|
end
|
609
593
|
|
610
594
|
if block_given?
|
@@ -616,11 +600,11 @@ module Capcode
|
|
616
600
|
|
617
601
|
# Start your application.
|
618
602
|
#
|
619
|
-
# Options : see Capcode.set
|
603
|
+
# Options : see Capcode::Configuration.set
|
620
604
|
#
|
621
605
|
# Options set here replace the ones set globally
|
622
606
|
def run( args = {} )
|
623
|
-
|
607
|
+
Capcode::Configuration.configuration(args)
|
624
608
|
|
625
609
|
# Parse options
|
626
610
|
opts = OptionParser.new do |opts|
|
@@ -629,22 +613,22 @@ module Capcode
|
|
629
613
|
opts.separator "Specific options:"
|
630
614
|
|
631
615
|
opts.on( "-C", "--console", "Run in console mode with IRB (default: false)" ) {
|
632
|
-
|
616
|
+
Capcode::Configuration.set :console, true
|
633
617
|
}
|
634
|
-
opts.on( "-h", "--host HOSTNAME", "Host for web server to bind to (default: #{
|
635
|
-
|
618
|
+
opts.on( "-h", "--host HOSTNAME", "Host for web server to bind to (default: #{Capcode::Configuration.get(:host)})" ) { |h|
|
619
|
+
Capcode::Configuration.set :host, h
|
636
620
|
}
|
637
|
-
opts.on( "-p", "--port NUM", "Port for web server (default: #{
|
638
|
-
|
621
|
+
opts.on( "-p", "--port NUM", "Port for web server (default: #{Capcode::Configuration.get(:port)})" ) { |p|
|
622
|
+
Capcode::Configuration.set :port, p
|
639
623
|
}
|
640
|
-
opts.on( "-d", "--daemonize [true|false]", "Daemonize (default: #{
|
641
|
-
|
624
|
+
opts.on( "-d", "--daemonize [true|false]", "Daemonize (default: #{Capcode::Configuration.get(:daemonize)})" ) { |d|
|
625
|
+
Capcode::Configuration.set :daemonize, d
|
642
626
|
}
|
643
|
-
opts.on( "-r", "--root PATH", "Working directory (default: #{
|
644
|
-
|
627
|
+
opts.on( "-r", "--root PATH", "Working directory (default: #{Capcode::Configuration.get(:root)})" ) { |w|
|
628
|
+
Capcode::Configuration.set :root, w
|
645
629
|
}
|
646
|
-
opts.on( "-s", "--static PATH", "Static directory -- relative to the root directory (default: #{
|
647
|
-
|
630
|
+
opts.on( "-s", "--static PATH", "Static directory -- relative to the root directory (default: #{Capcode::Configuration.get(:static)})" ) { |r|
|
631
|
+
Capcode::Configuration.set :static, r
|
648
632
|
}
|
649
633
|
|
650
634
|
opts.separator ""
|
@@ -659,7 +643,7 @@ module Capcode
|
|
659
643
|
exit
|
660
644
|
end
|
661
645
|
opts.on_tail( "-V", "--verbose", "Run in verbose mode" ) do
|
662
|
-
|
646
|
+
Capcode::Configuration.set :verbose, true
|
663
647
|
end
|
664
648
|
end
|
665
649
|
|
@@ -672,22 +656,22 @@ module Capcode
|
|
672
656
|
end
|
673
657
|
|
674
658
|
# Run in the Working directory
|
675
|
-
puts "** Go on root directory (#{File.expand_path(
|
676
|
-
Dir.chdir(
|
659
|
+
puts "** Go on root directory (#{File.expand_path(Capcode::Configuration.get(:root))})" if Capcode::Configuration.get(:verbose)
|
660
|
+
Dir.chdir( Capcode::Configuration.get(:root) ) do
|
677
661
|
|
678
662
|
# Check that mongrel exists
|
679
|
-
if
|
663
|
+
if Capcode::Configuration.get(:server).nil? || Capcode::Configuration.get(:server) == "mongrel"
|
680
664
|
begin
|
681
665
|
require 'mongrel'
|
682
|
-
|
666
|
+
Capcode::Configuration.set :server, :mongrel
|
683
667
|
rescue LoadError
|
684
668
|
puts "!! could not load mongrel. Falling back to webrick."
|
685
|
-
|
669
|
+
Capcode::Configuration.set :server, :webrick
|
686
670
|
end
|
687
671
|
end
|
688
672
|
|
689
673
|
# From rackup !!!
|
690
|
-
if
|
674
|
+
if Capcode::Configuration.get(:daemonize)
|
691
675
|
if /java/.match(RUBY_PLATFORM).nil?
|
692
676
|
if RUBY_VERSION < "1.9"
|
693
677
|
exit if fork
|
@@ -705,39 +689,39 @@ module Capcode
|
|
705
689
|
puts "!! daemonize option unavailable on #{RUBY_PLATFORM} platform."
|
706
690
|
end
|
707
691
|
|
708
|
-
File.open(
|
709
|
-
at_exit { File.delete(
|
692
|
+
File.open(Capcode::Configuration.get(:pid), 'w'){ |f| f.write("#{Process.pid}") }
|
693
|
+
at_exit { File.delete(Capcode::Configuration.get(:pid)) if File.exist?(Capcode::Configuration.get(:pid)) }
|
710
694
|
end
|
711
695
|
|
712
696
|
app = nil
|
713
697
|
if block_given?
|
714
|
-
app = application(
|
698
|
+
app = application(Capcode::Configuration.get) { yield( self ) }
|
715
699
|
else
|
716
|
-
app = application(
|
700
|
+
app = application(Capcode::Configuration.get)
|
717
701
|
end
|
718
|
-
app = Rack::CommonLogger.new( app, Logger.new(
|
702
|
+
app = Rack::CommonLogger.new( app, Logger.new(Capcode::Configuration.get(:log)) )
|
719
703
|
|
720
|
-
if
|
704
|
+
if Capcode::Configuration.get(:console)
|
721
705
|
puts "Run console..."
|
722
706
|
IRB.start
|
723
707
|
exit
|
724
708
|
end
|
725
709
|
|
726
710
|
# Start server
|
727
|
-
case
|
711
|
+
case Capcode::Configuration.get(:server).to_s
|
728
712
|
when "mongrel"
|
729
|
-
puts "** Starting Mongrel on #{
|
730
|
-
Rack::Handler::Mongrel.run( app, {:Port =>
|
713
|
+
puts "** Starting Mongrel on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"
|
714
|
+
Rack::Handler::Mongrel.run( app, {:Port => Capcode::Configuration.get(:port), :Host => Capcode::Configuration.get(:host)} ) { |server|
|
731
715
|
trap "SIGINT", proc { server.stop }
|
732
716
|
}
|
733
717
|
when "webrick"
|
734
|
-
puts "** Starting WEBrick on #{
|
735
|
-
Rack::Handler::WEBrick.run( app, {:Port =>
|
718
|
+
puts "** Starting WEBrick on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"
|
719
|
+
Rack::Handler::WEBrick.run( app, {:Port => Capcode::Configuration.get(:port), :BindAddress => Capcode::Configuration.get(:host)} ) { |server|
|
736
720
|
trap "SIGINT", proc { server.shutdown }
|
737
721
|
}
|
738
722
|
when "thin"
|
739
|
-
puts "** Starting Thin on #{
|
740
|
-
Rack::Handler::Thin.run( app, {:Port =>
|
723
|
+
puts "** Starting Thin on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"
|
724
|
+
Rack::Handler::Thin.run( app, {:Port => Capcode::Configuration.get(:port), :Host => Capcode::Configuration.get(:host)} ) { |server|
|
741
725
|
trap "SIGINT", proc { server.stop }
|
742
726
|
}
|
743
727
|
end
|