Capcode 0.3.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README +58 -2
- data/doc/rdoc/classes/Capcode.html +224 -223
- data/doc/rdoc/classes/Capcode/HTTPError.html +2 -0
- data/doc/rdoc/classes/Capcode/Helpers.html +55 -35
- data/doc/rdoc/classes/Capcode/{RouteError.html → Views.html} +7 -26
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/AUTHORS.html +1 -0
- data/doc/rdoc/files/COPYING.html +1 -0
- data/doc/rdoc/files/README.html +65 -3
- data/doc/rdoc/files/lib/capcode_rb.html +2 -1
- data/examples/sample.rb +11 -3
- data/lib/capcode.rb +12 -8
- data/lib/capcode/version.rb +1 -1
- metadata +3 -4
- data/doc/rdoc/classes/Capcode/ParameterError.html +0 -126
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
@@ -113,6 +114,7 @@ Do the same (r500 and r501) to customize 500 and 501 errors
|
|
113
114
|
<ul>
|
114
115
|
<li>Rack</li>
|
115
116
|
<li><a href="Capcode/Helpers.html">Capcode::Helpers</a></li>
|
117
|
+
<li><a href="Capcode/Views.html">Capcode::Views</a></li>
|
116
118
|
</ul>
|
117
119
|
|
118
120
|
|
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
@@ -97,14 +98,15 @@ controllers
|
|
97
98
|
<ul>
|
98
99
|
<li>Rack</li>
|
99
100
|
<li><a href="Capcode/Helpers.html">Capcode::Helpers</a></li>
|
101
|
+
<li><a href="Capcode/Views.html">Capcode::Views</a></li>
|
100
102
|
</ul>
|
101
103
|
|
102
104
|
<h2 class="ruled">Methods</h2>
|
103
105
|
<h4 class="ruled">Public Instance method:
|
104
|
-
<strong><a name="
|
106
|
+
<strong><a name="M000012">URL( klass, *a )</a></strong> <a href="#M000012"><img src="../../permalink.gif" border="0" title="Permalink to Public Instance method: URL" /></a></h4>
|
105
107
|
|
106
108
|
<p>
|
107
|
-
Builds an <a href="Helpers.html#
|
109
|
+
Builds an <a href="Helpers.html#M000012">URL</a> route to a controller or a
|
108
110
|
path
|
109
111
|
</p>
|
110
112
|
<p>
|
@@ -125,29 +127,29 @@ then
|
|
125
127
|
</pre>
|
126
128
|
|
127
129
|
<div class="sourcecode">
|
128
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
129
|
-
<div id="
|
130
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000012_source')" id="l_M000012_source">show source</a> ]</p>
|
131
|
+
<div id="M000012_source" class="dyn-source">
|
130
132
|
<pre>
|
131
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
133
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 70</span>
|
134
|
+
70: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">URL</span>( <span class="ruby-identifier">klass</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">a</span> )
|
135
|
+
71: <span class="ruby-identifier">path</span> = <span class="ruby-keyword kw">nil</span>
|
136
|
+
72: <span class="ruby-identifier">a</span> = <span class="ruby-identifier">a</span>.<span class="ruby-identifier">delete_if</span>{ <span class="ruby-operator">|</span><span class="ruby-identifier">x</span><span class="ruby-operator">|</span> <span class="ruby-identifier">x</span>.<span class="ruby-identifier">nil?</span> }
|
137
|
+
73:
|
138
|
+
74: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">klass</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Class</span>
|
139
|
+
75: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">routes</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">p</span>, <span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
140
|
+
76: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">p</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">k</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-identifier">klass</span>
|
141
|
+
77: <span class="ruby-keyword kw">end</span>
|
142
|
+
78: <span class="ruby-keyword kw">else</span>
|
143
|
+
79: <span class="ruby-identifier">path</span> = <span class="ruby-identifier">klass</span>
|
144
|
+
80: <span class="ruby-keyword kw">end</span>
|
145
|
+
81:
|
146
|
+
82: <span class="ruby-identifier">path</span><span class="ruby-operator">+</span>((<span class="ruby-identifier">a</span>.<span class="ruby-identifier">size</span><span class="ruby-operator">></span><span class="ruby-value">0</span>)<span class="ruby-operator">?</span>(<span class="ruby-value str">"/"</span><span class="ruby-operator">+</span><span class="ruby-identifier">a</span>.<span class="ruby-identifier">join</span>(<span class="ruby-value str">"/"</span>))<span class="ruby-operator">:</span>(<span class="ruby-value str">""</span>))
|
147
|
+
83: <span class="ruby-keyword kw">end</span>
|
146
148
|
</pre>
|
147
149
|
</div>
|
148
150
|
</div>
|
149
151
|
<h4 class="ruled">Public Instance method:
|
150
|
-
<strong><a name="
|
152
|
+
<strong><a name="M000010">json( d )</a></strong> <a href="#M000010"><img src="../../permalink.gif" border="0" title="Permalink to Public Instance method: json" /></a></h4>
|
151
153
|
|
152
154
|
<p>
|
153
155
|
Help you to return a JSON response
|
@@ -163,22 +165,22 @@ Help you to return a JSON response
|
|
163
165
|
</pre>
|
164
166
|
|
165
167
|
<div class="sourcecode">
|
166
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
167
|
-
<div id="
|
168
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000010_source')" id="l_M000010_source">show source</a> ]</p>
|
169
|
+
<div id="M000010_source" class="dyn-source">
|
168
170
|
<pre>
|
169
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
171
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 35</span>
|
172
|
+
35: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">json</span>( <span class="ruby-identifier">d</span> )
|
173
|
+
36: <span class="ruby-ivar">@response</span>[<span class="ruby-value str">'Content-Type'</span>] = <span class="ruby-value str">'application/json'</span>
|
174
|
+
37: <span class="ruby-identifier">d</span>.<span class="ruby-identifier">to_json</span>
|
175
|
+
38: <span class="ruby-keyword kw">end</span>
|
174
176
|
</pre>
|
175
177
|
</div>
|
176
178
|
</div>
|
177
179
|
<h4 class="ruled">Public Instance method:
|
178
|
-
<strong><a name="
|
180
|
+
<strong><a name="M000011">redirect( klass, *a )</a></strong> <a href="#M000011"><img src="../../permalink.gif" border="0" title="Permalink to Public Instance method: redirect" /></a></h4>
|
179
181
|
|
180
182
|
<p>
|
181
|
-
Send a <a href="Helpers.html#
|
183
|
+
Send a <a href="Helpers.html#M000011">redirect</a> response
|
182
184
|
</p>
|
183
185
|
<pre>
|
184
186
|
module Capcode
|
@@ -195,13 +197,31 @@ Send a <a href="Helpers.html#M000010">redirect</a> response
|
|
195
197
|
</pre>
|
196
198
|
|
197
199
|
<div class="sourcecode">
|
198
|
-
<p class="source-link">[ <a href="javascript:toggleSource('
|
199
|
-
<div id="
|
200
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000011_source')" id="l_M000011_source">show source</a> ]</p>
|
201
|
+
<div id="M000011_source" class="dyn-source">
|
202
|
+
<pre>
|
203
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 53</span>
|
204
|
+
53: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">redirect</span>( <span class="ruby-identifier">klass</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">a</span> )
|
205
|
+
54: [<span class="ruby-value">302</span>, {<span class="ruby-value str">'Location'</span> =<span class="ruby-operator">></span> <span class="ruby-constant">URL</span>(<span class="ruby-identifier">klass</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">a</span>)}, <span class="ruby-value str">''</span>]
|
206
|
+
55: <span class="ruby-keyword kw">end</span>
|
207
|
+
</pre>
|
208
|
+
</div>
|
209
|
+
</div>
|
210
|
+
<h4 class="ruled">Public Instance method:
|
211
|
+
<strong><a name="M000009">render( v )</a></strong> <a href="#M000009"><img src="../../permalink.gif" border="0" title="Permalink to Public Instance method: render" /></a></h4>
|
212
|
+
|
213
|
+
<p>
|
214
|
+
Render a view
|
215
|
+
</p>
|
216
|
+
|
217
|
+
<div class="sourcecode">
|
218
|
+
<p class="source-link">[ <a href="javascript:toggleSource('M000009_source')" id="l_M000009_source">show source</a> ]</p>
|
219
|
+
<div id="M000009_source" class="dyn-source">
|
200
220
|
<pre>
|
201
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
202
|
-
|
203
|
-
|
204
|
-
|
221
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 22</span>
|
222
|
+
22: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>( <span class="ruby-identifier">v</span> )
|
223
|
+
23: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">send</span> <span class="ruby-identifier">v</span>.<span class="ruby-identifier">to_s</span>
|
224
|
+
24: <span class="ruby-keyword kw">end</span>
|
205
225
|
</pre>
|
206
226
|
</div>
|
207
227
|
</div>
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<html>
|
4
4
|
<head>
|
5
5
|
<title>
|
6
|
-
Capcode, the Documentation »
|
6
|
+
Capcode, the Documentation » Module: Capcode::Views
|
7
7
|
</title>
|
8
8
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
9
9
|
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
@@ -50,7 +50,7 @@
|
|
50
50
|
<body>
|
51
51
|
<!--
|
52
52
|
<div id="menu">
|
53
|
-
<h3 class="title">
|
53
|
+
<h3 class="title">Module: Capcode::Views</h3>
|
54
54
|
</div>
|
55
55
|
-->
|
56
56
|
<div id="fullpage">
|
@@ -58,7 +58,7 @@
|
|
58
58
|
<table>
|
59
59
|
<tr><td><img src="../../rubyfr.png" /></td>
|
60
60
|
<td id="pagertd">
|
61
|
-
<strong>#
|
61
|
+
<strong># Module: Capcode::Views<br />
|
62
62
|
[
|
63
63
|
"<a href="../../files/README.html" value="File: README">README</a>",
|
64
64
|
"<a href="../../files/AUTHORS.html" value="File: AUTHORS">AUTHORS</a>",
|
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
@@ -77,35 +78,14 @@ end</strong>
|
|
77
78
|
</div>
|
78
79
|
|
79
80
|
|
80
|
-
<div id="Capcode::
|
81
|
+
<div id="Capcode::Views" class="page_shade">
|
81
82
|
<div class="page">
|
82
|
-
<h3>
|
83
|
+
<h3>Module Capcode::Views</h3>
|
83
84
|
|
84
85
|
(in files
|
85
86
|
<a href="../../files/lib/capcode_rb.html">lib/capcode.rb</a>
|
86
87
|
)
|
87
88
|
|
88
|
-
<p>
|
89
|
-
<a href="HTTPError.html">HTTPError</a> help you to create your own 404, 500
|
90
|
-
and/or 501 response
|
91
|
-
</p>
|
92
|
-
<p>
|
93
|
-
To create a custom 404 reponse, create a fonction HTTPError.r404 in your
|
94
|
-
application :
|
95
|
-
</p>
|
96
|
-
<pre>
|
97
|
-
module Capcode
|
98
|
-
class HTTPError
|
99
|
-
def r404(f)
|
100
|
-
"#{f} not found :("
|
101
|
-
end
|
102
|
-
end
|
103
|
-
end
|
104
|
-
</pre>
|
105
|
-
<p>
|
106
|
-
Do the same (r500 and r501) to customize 500 and 501 errors
|
107
|
-
</p>
|
108
|
-
|
109
89
|
|
110
90
|
|
111
91
|
|
@@ -113,6 +93,7 @@ Do the same (r500 and r501) to customize 500 and 501 errors
|
|
113
93
|
<ul>
|
114
94
|
<li>Rack</li>
|
115
95
|
<li><a href="Capcode/Helpers.html">Capcode::Helpers</a></li>
|
96
|
+
<li><a href="Capcode/Views.html">Capcode::Views</a></li>
|
116
97
|
</ul>
|
117
98
|
|
118
99
|
|
data/doc/rdoc/created.rid
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
1
|
+
Thu, 30 Apr 2009 07:38:39 +0200
|
data/doc/rdoc/files/AUTHORS.html
CHANGED
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
data/doc/rdoc/files/COPYING.html
CHANGED
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
data/doc/rdoc/files/README.html
CHANGED
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
@@ -79,7 +80,7 @@ end</strong>
|
|
79
80
|
<div id="README" class="page_shade">
|
80
81
|
<div class="page">
|
81
82
|
<div class="header">
|
82
|
-
<div class="path">README /
|
83
|
+
<div class="path">README / Thu Apr 30 07:34:27 +0200 2009</div>
|
83
84
|
</div>
|
84
85
|
|
85
86
|
<h1><a href="../classes/Capcode.html">Capcode</a></h1>
|
@@ -96,6 +97,15 @@ Copyright (C) 2009 Gregoire Lejeune
|
|
96
97
|
<a href="../classes/Capcode.html">Capcode</a> is a web microframework
|
97
98
|
</p>
|
98
99
|
<h2>FEATURES/PROBLEMS:</h2>
|
100
|
+
<h3>0.4.0</h3>
|
101
|
+
<ul>
|
102
|
+
<li>Major bug correction !
|
103
|
+
|
104
|
+
</li>
|
105
|
+
<li>Add views…
|
106
|
+
|
107
|
+
</li>
|
108
|
+
</ul>
|
99
109
|
<h3>0.3.0</h3>
|
100
110
|
<ul>
|
101
111
|
<li>Work with Rack 1.0.0
|
@@ -139,7 +149,7 @@ Copyright (C) 2009 Gregoire Lejeune
|
|
139
149
|
|
140
150
|
Capcode.run( )
|
141
151
|
</pre>
|
142
|
-
<
|
152
|
+
<h3>Running <a href="../classes/Capcode.html">Capcode</a> Apps</h3>
|
143
153
|
<ul>
|
144
154
|
<li>Run: <tt>ruby sample.rb</tt>
|
145
155
|
|
@@ -148,7 +158,7 @@ Copyright (C) 2009 Gregoire Lejeune
|
|
148
158
|
|
149
159
|
</li>
|
150
160
|
</ul>
|
151
|
-
<
|
161
|
+
<h3>Create model</h3>
|
152
162
|
<pre>
|
153
163
|
require 'rubygems'
|
154
164
|
require 'capcode'
|
@@ -167,6 +177,58 @@ Copyright (C) 2009 Gregoire Lejeune
|
|
167
177
|
See <tt>examples/blog-dm.rb</tt> and/or <tt>examples/blog-couchdb.rb</tt>
|
168
178
|
for complete examples.
|
169
179
|
</p>
|
180
|
+
<h3>Create View</h3>
|
181
|
+
<pre>
|
182
|
+
# file: sample.rb
|
183
|
+
require 'rubygems'
|
184
|
+
require 'capcode'
|
185
|
+
|
186
|
+
module Capcode
|
187
|
+
class Hello < Route '/hello'
|
188
|
+
def get
|
189
|
+
@t = Time.now
|
190
|
+
render :time
|
191
|
+
end
|
192
|
+
end
|
193
|
+
end
|
194
|
+
|
195
|
+
module Capcode::Views
|
196
|
+
def time
|
197
|
+
"Hello world #{@t}"
|
198
|
+
end
|
199
|
+
end
|
200
|
+
|
201
|
+
Capcode.run( )
|
202
|
+
</pre>
|
203
|
+
<h3>Create Helper</h3>
|
204
|
+
<pre>
|
205
|
+
# file: sample.rb
|
206
|
+
require 'rubygems'
|
207
|
+
require 'capcode'
|
208
|
+
|
209
|
+
module Capcode
|
210
|
+
class Hello < Route '/hello'
|
211
|
+
def get
|
212
|
+
@t = Time.now
|
213
|
+
render :time
|
214
|
+
end
|
215
|
+
end
|
216
|
+
end
|
217
|
+
|
218
|
+
module Capcode::Helpers
|
219
|
+
def bold( &b )
|
220
|
+
"<b>"+yield+"</b>"
|
221
|
+
end
|
222
|
+
end
|
223
|
+
|
224
|
+
module Capcode::Views
|
225
|
+
def time
|
226
|
+
"Hello world " + bold { @t }
|
227
|
+
end
|
228
|
+
end
|
229
|
+
|
230
|
+
Capcode.run( )
|
231
|
+
</pre>
|
170
232
|
<h2>REQUIREMENTS:</h2>
|
171
233
|
<ul>
|
172
234
|
<li>rack
|
@@ -66,6 +66,7 @@
|
|
66
66
|
"<a href="../../files/lib/capcode_rb.html" value="File: capcode.rb">lib/capcode.rb</a>",
|
67
67
|
<a href="http://greg.rubyfr.net">nil</a>].each do<br />
|
68
68
|
<a href="../../classes/Capcode.html" title="Module: Capcode">Capcode</a>.view_html<br />
|
69
|
+
<a href="../../classes/Capcode/Views.html" title="Module: Capcode::Views">Capcode::Views</a>.view_html<br />
|
69
70
|
<a href="../../classes/Capcode/Helpers.html" title="Module: Capcode::Helpers">Capcode::Helpers</a>.view_html<br />
|
70
71
|
<a href="../../classes/Capcode/HTTPError.html" title="Class: Capcode::HTTPError">Capcode::HTTPError</a>.view_html<br />
|
71
72
|
<a href="../../classes/Capcode/RouteError.html" title="Class: Capcode::RouteError">Capcode::RouteError</a>.view_html<br />
|
@@ -79,7 +80,7 @@ end</strong>
|
|
79
80
|
<div id="lib/capcode.rb" class="page_shade">
|
80
81
|
<div class="page">
|
81
82
|
<div class="header">
|
82
|
-
<div class="path">lib/capcode.rb /
|
83
|
+
<div class="path">lib/capcode.rb / Thu Apr 30 07:38:28 +0200 2009</div>
|
83
84
|
</div>
|
84
85
|
|
85
86
|
<pre>
|
data/examples/sample.rb
CHANGED
@@ -18,11 +18,13 @@ module Capcode
|
|
18
18
|
|
19
19
|
class Hello < Route '/hello/(.*)'
|
20
20
|
def get( you )
|
21
|
-
you =
|
21
|
+
@you = you
|
22
|
+
@you = "you" if you.nil?
|
22
23
|
|
23
|
-
session = { :user => you }
|
24
|
+
session = { :user => @you }
|
24
25
|
|
25
|
-
"Hello " + bold { you } + " it's '#{Time.now} !"
|
26
|
+
# "Hello " + bold { you } + " it's '#{Time.now} !"
|
27
|
+
render :hello
|
26
28
|
end
|
27
29
|
end
|
28
30
|
|
@@ -54,6 +56,12 @@ module Capcode
|
|
54
56
|
end
|
55
57
|
end
|
56
58
|
|
59
|
+
module Capcode::Views
|
60
|
+
def hello
|
61
|
+
"Hello " + bold { @you } + " it's '#{Time.now} !"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
57
65
|
Capcode.map( "/file" ) do
|
58
66
|
Rack::File.new( "." )
|
59
67
|
end
|
data/lib/capcode.rb
CHANGED
@@ -8,14 +8,21 @@ require 'capcode/core_ext'
|
|
8
8
|
module Capcode
|
9
9
|
@@__ROUTES = {}
|
10
10
|
|
11
|
-
class ParameterError < ArgumentError
|
11
|
+
class ParameterError < ArgumentError #:nodoc:
|
12
12
|
end
|
13
13
|
|
14
|
-
class RouteError < ArgumentError
|
14
|
+
class RouteError < ArgumentError #:nodoc:
|
15
15
|
end
|
16
16
|
|
17
|
+
module Views; end
|
18
|
+
|
17
19
|
# Helpers contains methods available in your controllers
|
18
20
|
module Helpers
|
21
|
+
# Render a view
|
22
|
+
def render( v )
|
23
|
+
self.send v.to_s
|
24
|
+
end
|
25
|
+
|
19
26
|
# Help you to return a JSON response
|
20
27
|
#
|
21
28
|
# module Capcode
|
@@ -201,15 +208,10 @@ module Capcode
|
|
201
208
|
|
202
209
|
end
|
203
210
|
|
204
|
-
# TODO : correct above to use this :
|
205
|
-
#puts "finalPath = #{finalPath}"
|
206
|
-
#puts "finalNArgs = #{finalNArgs}"
|
207
|
-
#print "finalArgs = "; p finalArgs
|
208
|
-
|
209
211
|
nargs = self.class.__urls__[1]
|
210
212
|
regexp = Regexp.new( self.class.__urls__[0][finalPath] )
|
211
213
|
|
212
|
-
args = regexp.match( Rack::Utils.unescape(@request.
|
214
|
+
args = regexp.match( Rack::Utils.unescape(@request.path).gsub( Regexp.new( "^#{finalPath}" ), "" ).gsub( /^\//, "" ) )
|
213
215
|
if args.nil?
|
214
216
|
raise Capcode::ParameterError, "Path info `#{@request.path_info}' does not match route regexp `#{regexp.source}'"
|
215
217
|
else
|
@@ -238,6 +240,7 @@ module Capcode
|
|
238
240
|
end
|
239
241
|
|
240
242
|
include Capcode::Helpers
|
243
|
+
include Capcode::Views
|
241
244
|
}
|
242
245
|
end
|
243
246
|
|
@@ -260,6 +263,7 @@ module Capcode
|
|
260
263
|
# * <tt>:session</tt> = Session parameters. See Rack::Session for more informations
|
261
264
|
# * <tt>:pid</tt> = PID file (default: $0.pid)
|
262
265
|
# * <tt>:daemonize</tt> = Daemonize application (default: false)
|
266
|
+
# * <tt>:db_config</tt> = database configuration file (default: database.yml)
|
263
267
|
def run( args = {} )
|
264
268
|
conf = {
|
265
269
|
:port => args[:port]||3000,
|