Capcode 0.9.7 → 0.9.8
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.rdoc +8 -0
- data/doc/rdoc/classes/Capcode.html +486 -439
- data/doc/rdoc/classes/Capcode/Configuration.html +28 -28
- data/doc/rdoc/classes/Capcode/Helpers.html +93 -63
- data/doc/rdoc/classes/Capcode/Helpers/Authorization.html +6 -6
- data/doc/rdoc/created.rid +1 -1
- data/doc/rdoc/files/README_rdoc.html +26 -2
- data/doc/rdoc/files/lib/capcode/configuration_rb.html +1 -1
- data/doc/rdoc/files/lib/capcode/filters_rb.html +1 -1
- data/doc/rdoc/files/lib/capcode_rb.html +4 -1
- data/doc/rdoc/fr_method_index.html +17 -15
- data/examples/rest-run.rb +1 -1
- data/examples/rest.log +70 -0
- data/examples/rest.rb +4 -3
- data/examples/rest.ru +1 -1
- data/lib/capcode.rb +41 -8
- data/lib/capcode/configuration.rb +2 -2
- data/lib/capcode/filters.rb +7 -1
- data/lib/capcode/version.rb +1 -1
- metadata +5 -4
data/README.rdoc
CHANGED
@@ -12,6 +12,14 @@ Capcode is a web microframework
|
|
12
12
|
|
13
13
|
== FEATURES/PROBLEMS:
|
14
14
|
|
15
|
+
=== 0.9.8
|
16
|
+
* Add "any" to easly replace an <tt>alias_method :post, :get</tt>
|
17
|
+
* Bug correction in Filter : actions are now executed in the order they are declared
|
18
|
+
* Filters execution stop at the first non nul response
|
19
|
+
* Add "log" helper
|
20
|
+
* Add {Unicorn}[http://unicorn.bogomips.org/] and {Rainbows}[http://rainbows.rubyforge.org/] supports (*EXPERIMENTAL*)
|
21
|
+
* Add --server option
|
22
|
+
|
15
23
|
=== 0.9.7
|
16
24
|
* Major bug correction in Capcode.URL
|
17
25
|
|
@@ -102,16 +102,17 @@
|
|
102
102
|
<div class="name-list">
|
103
103
|
<a href="#M000001">Route</a>
|
104
104
|
<a href="#M000010">application</a>
|
105
|
-
<a href="#
|
105
|
+
<a href="#M000014">before_filter</a>
|
106
106
|
<a href="#M000003">env</a>
|
107
107
|
<a href="#M000009">http_authentication</a>
|
108
|
+
<a href="#M000012">logger</a>
|
108
109
|
<a href="#M000007">map</a>
|
109
110
|
<a href="#M000002">params</a>
|
110
111
|
<a href="#M000005">request</a>
|
111
112
|
<a href="#M000006">response</a>
|
112
113
|
<a href="#M000011">run</a>
|
113
114
|
<a href="#M000004">session</a>
|
114
|
-
<a href="#
|
115
|
+
<a href="#M000013">set</a>
|
115
116
|
<a href="#M000008">use</a>
|
116
117
|
</div>
|
117
118
|
</div>
|
@@ -206,11 +207,11 @@ Add routes to a controller class
|
|
206
207
|
In the <tt>get</tt> method, you will receive the maximum of parameters
|
207
208
|
declared by the routes. In this example, you will receive 2 parameters. So
|
208
209
|
if you go to <tt>/hello/world#friend</tt> then <tt>arg1</tt> will be <a
|
209
|
-
href="Capcode.html#
|
210
|
-
will be <a href="Capcode.html#
|
210
|
+
href="Capcode.html#M000013">set</a> to <tt>world</tt> and <tt>arg2</tt>
|
211
|
+
will be <a href="Capcode.html#M000013">set</a> to <tt>friend</tt>. Now if
|
211
212
|
you go to <tt>/hello/you</tt>, then <tt>arg1</tt> will be <a
|
212
|
-
href="Capcode.html#
|
213
|
-
be <a href="Capcode.html#
|
213
|
+
href="Capcode.html#M000013">set</a> to <tt>you</tt> and <tt>arg2</tt> will
|
214
|
+
be <a href="Capcode.html#M000013">set</a> to <tt>nil</tt>
|
214
215
|
</p>
|
215
216
|
<p>
|
216
217
|
If the regexp in the route does not match, all arguments will be
|
@@ -220,166 +221,176 @@ If the regexp in the route does not match, all arguments will be
|
|
220
221
|
onclick="toggleCode('M000001-source');return false;">[Source]</a></p>
|
221
222
|
<div class="method-source-code" id="M000001-source">
|
222
223
|
<pre>
|
223
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
224
|
-
|
225
|
-
|
226
|
-
|
227
|
-
|
228
|
-
|
229
|
-
|
230
|
-
|
231
|
-
|
232
|
-
|
233
|
-
|
234
|
-
|
235
|
-
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
246
|
-
|
247
|
-
|
248
|
-
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
254
|
-
|
255
|
-
|
256
|
-
|
257
|
-
|
258
|
-
|
259
|
-
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
|
268
|
-
|
269
|
-
|
270
|
-
|
271
|
-
|
272
|
-
|
273
|
-
|
274
|
-
|
275
|
-
|
276
|
-
|
277
|
-
|
278
|
-
|
279
|
-
|
280
|
-
|
281
|
-
|
282
|
-
|
283
|
-
|
284
|
-
|
285
|
-
|
286
|
-
|
287
|
-
|
288
|
-
|
289
|
-
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
|
296
|
-
|
297
|
-
|
298
|
-
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
441:
|
305
|
-
442: <span class="ruby-identifier">r</span> = <span class="ruby-identifier">catch</span>(<span class="ruby-identifier">:halt</span>) {
|
306
|
-
443: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">authz_options</span>.<span class="ruby-identifier">nil?</span>
|
307
|
-
444: <span class="ruby-identifier">http_authentication</span>( <span class="ruby-identifier">:type</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:type</span>], <span class="ruby-identifier">:realm</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:realm</span>], <span class="ruby-identifier">:opaque</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:realm</span>] ) {
|
308
|
-
445: <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:autz</span>]
|
309
|
-
446: }
|
310
|
-
447: <span class="ruby-keyword kw">end</span>
|
224
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 368</span>
|
225
|
+
368: <span class="ruby-keyword kw">def</span> <span class="ruby-constant">Route</span> <span class="ruby-operator">*</span><span class="ruby-identifier">routes_paths</span>
|
226
|
+
369: <span class="ruby-identifier">create_path</span> = <span class="ruby-identifier">routes_paths</span>[<span class="ruby-value">0</span>].<span class="ruby-identifier">nil?</span>
|
227
|
+
370: <span class="ruby-constant">Class</span>.<span class="ruby-identifier">new</span> {
|
228
|
+
371: <span class="ruby-identifier">meta_def</span>(<span class="ruby-identifier">:__urls__</span>) {
|
229
|
+
372: <span class="ruby-identifier">routes_paths</span> = [<span class="ruby-value str">'/'</span><span class="ruby-operator">+</span><span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">to_s</span>.<span class="ruby-identifier">gsub</span>( <span class="ruby-regexp re">/^Capcode::/</span>, <span class="ruby-value str">""</span> ).<span class="ruby-identifier">underscore</span>] <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">create_path</span> <span class="ruby-operator">==</span> <span class="ruby-keyword kw">true</span>
|
230
|
+
373: <span class="ruby-comment cmt"># < Route '/hello/world/([^\/]*)/id(\d*)', '/hello/(.*)', :agent => /Songbird (\d\.\d)[\d\/]*?/</span>
|
231
|
+
374: <span class="ruby-comment cmt"># # => [ {'/hello/world' => '([^\/]*)/id(\d*)', '/hello' => '(.*)'}, </span>
|
232
|
+
375: <span class="ruby-comment cmt"># 2, </span>
|
233
|
+
376: <span class="ruby-comment cmt"># <Capcode::Klass>, </span>
|
234
|
+
377: <span class="ruby-comment cmt"># {:agent => /Songbird (\d\.\d)[\d\/]*?/} ]</span>
|
235
|
+
378: <span class="ruby-identifier">hash_of_routes</span> = {}
|
236
|
+
379: <span class="ruby-identifier">max_captures_for_routes</span> = <span class="ruby-value">0</span>
|
237
|
+
380: <span class="ruby-identifier">routes_paths</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">current_route_path</span><span class="ruby-operator">|</span>
|
238
|
+
381: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">current_route_path</span>.<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">String</span>
|
239
|
+
382: <span class="ruby-identifier">m</span> = <span class="ruby-regexp re">/\/([^\/]*\(.*)/</span>.<span class="ruby-identifier">match</span>( <span class="ruby-identifier">current_route_path</span> )
|
240
|
+
383: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">m</span>.<span class="ruby-identifier">nil?</span>
|
241
|
+
384: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">RouteError</span>, <span class="ruby-node">"Route `#{current_route_path}' already defined with regexp `#{hash_of_routes[current_route_path]}' !"</span>, <span class="ruby-identifier">caller</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash_of_routes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">current_route_path</span>)
|
242
|
+
385: <span class="ruby-identifier">hash_of_routes</span>[<span class="ruby-identifier">current_route_path</span>] = <span class="ruby-value str">''</span>
|
243
|
+
386: <span class="ruby-keyword kw">else</span>
|
244
|
+
387: <span class="ruby-identifier">_pre</span> = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">pre_match</span>
|
245
|
+
388: <span class="ruby-identifier">_pre</span> = <span class="ruby-value str">"/"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">_pre</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
246
|
+
389: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">RouteError</span>, <span class="ruby-node">"Route `#{_pre}' already defined with regexp `#{hash_of_routes[_pre]}' !"</span>, <span class="ruby-identifier">caller</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">hash_of_routes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">_pre</span>)
|
247
|
+
390: <span class="ruby-identifier">hash_of_routes</span>[<span class="ruby-identifier">_pre</span>] = <span class="ruby-identifier">m</span>.<span class="ruby-identifier">captures</span>[<span class="ruby-value">0</span>]
|
248
|
+
391: <span class="ruby-identifier">max_captures_for_routes</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">m</span>.<span class="ruby-identifier">captures</span>[<span class="ruby-value">0</span>]).<span class="ruby-identifier">number_of_captures</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">max_captures_for_routes</span> <span class="ruby-operator"><</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">m</span>.<span class="ruby-identifier">captures</span>[<span class="ruby-value">0</span>]).<span class="ruby-identifier">number_of_captures</span>
|
249
|
+
392: <span class="ruby-keyword kw">end</span>
|
250
|
+
393: <span class="ruby-keyword kw">else</span>
|
251
|
+
394: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">ParameterError</span>, <span class="ruby-value str">"Bad route declaration !"</span>, <span class="ruby-identifier">caller</span>
|
252
|
+
395: <span class="ruby-keyword kw">end</span>
|
253
|
+
396: <span class="ruby-keyword kw">end</span>
|
254
|
+
397: [<span class="ruby-identifier">hash_of_routes</span>, <span class="ruby-identifier">max_captures_for_routes</span>, <span class="ruby-keyword kw">self</span>]
|
255
|
+
398: }
|
256
|
+
399:
|
257
|
+
400: <span class="ruby-comment cmt"># Hash containing all the request parameters (GET or POST)</span>
|
258
|
+
401: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">params</span>
|
259
|
+
402: <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">params</span>
|
260
|
+
403: <span class="ruby-keyword kw">end</span>
|
261
|
+
404:
|
262
|
+
405: <span class="ruby-comment cmt"># Hash containing all the environment variables</span>
|
263
|
+
406: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env</span>
|
264
|
+
407: <span class="ruby-ivar">@env</span>
|
265
|
+
408: <span class="ruby-keyword kw">end</span>
|
266
|
+
409:
|
267
|
+
410: <span class="ruby-comment cmt"># Session hash</span>
|
268
|
+
411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">session</span>
|
269
|
+
412: <span class="ruby-ivar">@env</span>[<span class="ruby-value str">'rack.session'</span>]
|
270
|
+
413: <span class="ruby-keyword kw">end</span>
|
271
|
+
414:
|
272
|
+
415: <span class="ruby-comment cmt"># Return the Rack::Request object</span>
|
273
|
+
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">request</span>
|
274
|
+
417: <span class="ruby-ivar">@request</span>
|
275
|
+
418: <span class="ruby-keyword kw">end</span>
|
276
|
+
419:
|
277
|
+
420: <span class="ruby-comment cmt"># Return the Rack::Response object</span>
|
278
|
+
421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">response</span>
|
279
|
+
422: <span class="ruby-ivar">@response</span>
|
280
|
+
423: <span class="ruby-keyword kw">end</span>
|
281
|
+
424:
|
282
|
+
425: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">call</span>( <span class="ruby-identifier">e</span> ) <span class="ruby-comment cmt">#:nodoc:</span>
|
283
|
+
426: <span class="ruby-ivar">@env</span> = <span class="ruby-identifier">e</span>
|
284
|
+
427: <span class="ruby-ivar">@response</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Response</span>.<span class="ruby-identifier">new</span>
|
285
|
+
428: <span class="ruby-ivar">@request</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Request</span>.<span class="ruby-identifier">new</span>(<span class="ruby-ivar">@env</span>)
|
286
|
+
429:
|
287
|
+
430: <span class="ruby-comment cmt"># Check authz</span>
|
288
|
+
431: <span class="ruby-identifier">authz_options</span> = <span class="ruby-keyword kw">nil</span>
|
289
|
+
432: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">__auth__</span> <span class="ruby-keyword kw">and</span> <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">__auth__</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-value">0</span>
|
290
|
+
433: <span class="ruby-identifier">authz_options</span> = <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">__auth__</span>[<span class="ruby-ivar">@request</span>.<span class="ruby-identifier">path</span>]<span class="ruby-operator">||</span><span class="ruby-keyword kw">nil</span>
|
291
|
+
434: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">authz_options</span>.<span class="ruby-identifier">nil?</span>
|
292
|
+
435: <span class="ruby-identifier">route</span> = <span class="ruby-keyword kw">nil</span>
|
293
|
+
436:
|
294
|
+
437: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">__auth__</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">r</span>, <span class="ruby-identifier">o</span><span class="ruby-operator">|</span>
|
295
|
+
438: <span class="ruby-identifier">regexp</span> = <span class="ruby-node">"^#{r.gsub(/\/$/, "")}([/]{1}.*)?$"</span>
|
296
|
+
439: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">regexp</span>).<span class="ruby-identifier">match</span>( <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">path</span> )
|
297
|
+
440: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">route</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">></span> <span class="ruby-identifier">route</span>.<span class="ruby-identifier">size</span>
|
298
|
+
441: <span class="ruby-identifier">route</span> = <span class="ruby-identifier">r</span>
|
299
|
+
442: <span class="ruby-identifier">authz_options</span> = <span class="ruby-identifier">o</span>
|
300
|
+
443: <span class="ruby-keyword kw">end</span>
|
301
|
+
444: <span class="ruby-keyword kw">end</span>
|
302
|
+
445: <span class="ruby-keyword kw">end</span>
|
303
|
+
446: <span class="ruby-keyword kw">end</span>
|
304
|
+
447: <span class="ruby-keyword kw">end</span>
|
311
305
|
448:
|
312
|
-
449:
|
313
|
-
450: <span class="ruby-
|
314
|
-
451:
|
315
|
-
452:
|
316
|
-
453:
|
317
|
-
454: <span class="ruby-keyword kw">
|
318
|
-
455:
|
319
|
-
456:
|
320
|
-
457:
|
321
|
-
458:
|
322
|
-
459:
|
323
|
-
460:
|
324
|
-
461:
|
325
|
-
462:
|
326
|
-
463:
|
327
|
-
464:
|
328
|
-
465:
|
329
|
-
466:
|
330
|
-
467:
|
331
|
-
468:
|
332
|
-
469:
|
333
|
-
470:
|
334
|
-
471:
|
335
|
-
472: <span class="ruby-
|
336
|
-
473:
|
337
|
-
474: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">
|
338
|
-
475: <span class="ruby-
|
339
|
-
476: <span class="ruby-keyword kw">
|
340
|
-
477:
|
341
|
-
478: <span class="ruby-keyword kw">
|
342
|
-
479:
|
343
|
-
480: <span class="ruby-
|
344
|
-
481:
|
345
|
-
482:
|
346
|
-
483:
|
347
|
-
484:
|
348
|
-
485:
|
349
|
-
486:
|
350
|
-
487:
|
351
|
-
488:
|
352
|
-
489:
|
353
|
-
490:
|
354
|
-
491:
|
355
|
-
492:
|
356
|
-
493:
|
357
|
-
494:
|
358
|
-
495:
|
359
|
-
496: <span class="ruby-
|
360
|
-
497:
|
361
|
-
498: <span class="ruby-
|
362
|
-
499:
|
363
|
-
500:
|
364
|
-
501:
|
365
|
-
502:
|
366
|
-
503:
|
367
|
-
504:
|
368
|
-
505:
|
369
|
-
506:
|
370
|
-
507:
|
371
|
-
508:
|
372
|
-
509:
|
373
|
-
510:
|
374
|
-
511:
|
375
|
-
512:
|
376
|
-
513:
|
377
|
-
514:
|
378
|
-
515:
|
379
|
-
516:
|
380
|
-
517:
|
381
|
-
518:
|
382
|
-
519:
|
306
|
+
449: <span class="ruby-identifier">r</span> = <span class="ruby-identifier">catch</span>(<span class="ruby-identifier">:halt</span>) {
|
307
|
+
450: <span class="ruby-keyword kw">unless</span> <span class="ruby-identifier">authz_options</span>.<span class="ruby-identifier">nil?</span>
|
308
|
+
451: <span class="ruby-identifier">http_authentication</span>( <span class="ruby-identifier">:type</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:type</span>], <span class="ruby-identifier">:realm</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:realm</span>], <span class="ruby-identifier">:opaque</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:realm</span>] ) {
|
309
|
+
452: <span class="ruby-identifier">authz_options</span>[<span class="ruby-identifier">:autz</span>]
|
310
|
+
453: }
|
311
|
+
454: <span class="ruby-keyword kw">end</span>
|
312
|
+
455:
|
313
|
+
456: <span class="ruby-identifier">finalPath</span> = <span class="ruby-keyword kw">nil</span>
|
314
|
+
457: <span class="ruby-identifier">finalArgs</span> = <span class="ruby-keyword kw">nil</span>
|
315
|
+
458: <span class="ruby-identifier">finalNArgs</span> = <span class="ruby-keyword kw">nil</span>
|
316
|
+
459:
|
317
|
+
460: <span class="ruby-identifier">aPath</span> = <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">path</span>.<span class="ruby-identifier">gsub</span>( <span class="ruby-regexp re">/^\//</span>, <span class="ruby-value str">""</span> ).<span class="ruby-identifier">split</span>( <span class="ruby-value str">"/"</span> )
|
318
|
+
461: <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">__urls__</span>[<span class="ruby-value">0</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">r</span><span class="ruby-operator">|</span>
|
319
|
+
462: <span class="ruby-identifier">xPath</span> = <span class="ruby-identifier">p</span>.<span class="ruby-identifier">gsub</span>( <span class="ruby-regexp re">/^\//</span>, <span class="ruby-value str">""</span> ).<span class="ruby-identifier">split</span>( <span class="ruby-value str">"/"</span> )
|
320
|
+
463: <span class="ruby-keyword kw">if</span> (<span class="ruby-identifier">xPath</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">aPath</span>).<span class="ruby-identifier">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>
|
321
|
+
464: <span class="ruby-identifier">diffArgs</span> = <span class="ruby-identifier">aPath</span> <span class="ruby-operator">-</span> <span class="ruby-identifier">xPath</span>
|
322
|
+
465: <span class="ruby-identifier">diffNArgs</span> = <span class="ruby-identifier">diffArgs</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator">-</span> <span class="ruby-value">1</span>
|
323
|
+
466: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">finalNArgs</span>.<span class="ruby-identifier">nil?</span> <span class="ruby-keyword kw">or</span> <span class="ruby-identifier">finalNArgs</span> <span class="ruby-operator">></span> <span class="ruby-identifier">diffNArgs</span>
|
324
|
+
467: <span class="ruby-identifier">finalPath</span> = <span class="ruby-identifier">p</span>
|
325
|
+
468: <span class="ruby-identifier">finalNArgs</span> = <span class="ruby-identifier">diffNArgs</span>
|
326
|
+
469: <span class="ruby-identifier">finalArgs</span> = <span class="ruby-identifier">diffArgs</span>
|
327
|
+
470: <span class="ruby-keyword kw">end</span>
|
328
|
+
471: <span class="ruby-keyword kw">end</span>
|
329
|
+
472: <span class="ruby-keyword kw">end</span>
|
330
|
+
473:
|
331
|
+
474: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">finalNArgs</span> <span class="ruby-operator">></span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">__urls__</span>[<span class="ruby-value">1</span>]
|
332
|
+
475: <span class="ruby-keyword kw">return</span> [<span class="ruby-value">404</span>, {<span class="ruby-value str">'Content-Type'</span> =<span class="ruby-operator">></span> <span class="ruby-value str">'text/plain'</span>}, <span class="ruby-node">"Not Found: #{@request.path}"</span>]
|
333
|
+
476: <span class="ruby-keyword kw">end</span>
|
334
|
+
477:
|
335
|
+
478: <span class="ruby-identifier">nargs</span> = <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">__urls__</span>[<span class="ruby-value">1</span>]
|
336
|
+
479: <span class="ruby-identifier">regexp</span> = <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>( <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">__urls__</span>[<span class="ruby-value">0</span>][<span class="ruby-identifier">finalPath</span>] )
|
337
|
+
480: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">regexp</span>.<span class="ruby-identifier">match</span>( <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Utils</span>.<span class="ruby-identifier">unescape</span>(<span class="ruby-ivar">@request</span>.<span class="ruby-identifier">path</span>).<span class="ruby-identifier">gsub</span>( <span class="ruby-constant">Regexp</span>.<span class="ruby-identifier">new</span>( <span class="ruby-node">"^#{finalPath}"</span> ), <span class="ruby-value str">""</span> ).<span class="ruby-identifier">gsub</span>( <span class="ruby-regexp re">/^\//</span>, <span class="ruby-value str">""</span> ) )
|
338
|
+
481: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">nil?</span>
|
339
|
+
482: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">ParameterError</span>, <span class="ruby-node">"Path info `#{@request.path_info}' does not match route regexp `#{regexp.source}'"</span>
|
340
|
+
483: <span class="ruby-keyword kw">else</span>
|
341
|
+
484: <span class="ruby-identifier">args</span> = <span class="ruby-identifier">args</span>.<span class="ruby-identifier">captures</span>.<span class="ruby-identifier">map</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">size</span> <span class="ruby-operator">==</span> <span class="ruby-value">0</span>)<span class="ruby-operator">?</span><span class="ruby-keyword kw">nil</span><span class="ruby-operator">:</span><span class="ruby-identifier">x</span> }
|
342
|
+
485: <span class="ruby-keyword kw">end</span>
|
343
|
+
486:
|
344
|
+
487: <span class="ruby-keyword kw">while</span> <span class="ruby-identifier">args</span>.<span class="ruby-identifier">size</span> <span class="ruby-operator"><</span> <span class="ruby-identifier">nargs</span>
|
345
|
+
488: <span class="ruby-identifier">args</span> <span class="ruby-operator"><<</span> <span class="ruby-keyword kw">nil</span>
|
346
|
+
489: <span class="ruby-keyword kw">end</span>
|
347
|
+
490:
|
348
|
+
491: <span class="ruby-identifier">filter_output</span> = <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Filter</span>.<span class="ruby-identifier">execute</span>( <span class="ruby-keyword kw">self</span> )
|
349
|
+
492:
|
350
|
+
493: <span class="ruby-keyword kw">if</span>( <span class="ruby-identifier">filter_output</span>.<span class="ruby-identifier">nil?</span> )
|
351
|
+
494: <span class="ruby-comment cmt"># case @env["REQUEST_METHOD"]</span>
|
352
|
+
495: <span class="ruby-comment cmt"># when "GET" </span>
|
353
|
+
496: <span class="ruby-comment cmt"># get( *args )</span>
|
354
|
+
497: <span class="ruby-comment cmt"># when "POST"</span>
|
355
|
+
498: <span class="ruby-comment cmt"># _method = params.delete( "_method" ) { |_| "post" }</span>
|
356
|
+
499: <span class="ruby-comment cmt"># send( _method.downcase.to_sym, *args )</span>
|
357
|
+
500: <span class="ruby-comment cmt"># else</span>
|
358
|
+
501: <span class="ruby-comment cmt"># _method = @env["REQUEST_METHOD"]</span>
|
359
|
+
502: <span class="ruby-comment cmt"># send( _method.downcase.to_sym, *args )</span>
|
360
|
+
503: <span class="ruby-comment cmt"># end</span>
|
361
|
+
504: <span class="ruby-keyword kw">begin</span>
|
362
|
+
505: <span class="ruby-identifier">_method</span> = <span class="ruby-identifier">params</span>.<span class="ruby-identifier">delete</span>( <span class="ruby-value str">"_method"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">_</span><span class="ruby-operator">|</span> <span class="ruby-ivar">@env</span>[<span class="ruby-value str">"REQUEST_METHOD"</span>] }
|
363
|
+
506: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">class</span>.<span class="ruby-identifier">method_defined?</span>( <span class="ruby-identifier">_method</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">to_sym</span> )
|
364
|
+
507: <span class="ruby-identifier">send</span>( <span class="ruby-identifier">_method</span>.<span class="ruby-identifier">downcase</span>.<span class="ruby-identifier">to_sym</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
|
365
|
+
508: <span class="ruby-keyword kw">else</span>
|
366
|
+
509: <span class="ruby-identifier">any</span>( <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
|
367
|
+
510: <span class="ruby-keyword kw">end</span>
|
368
|
+
511: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
369
|
+
512: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">class</span>, <span class="ruby-identifier">e</span>.<span class="ruby-identifier">to_s</span>
|
370
|
+
513: <span class="ruby-keyword kw">end</span>
|
371
|
+
514: <span class="ruby-keyword kw">else</span>
|
372
|
+
515: <span class="ruby-identifier">filter_output</span>
|
373
|
+
516: <span class="ruby-keyword kw">end</span>
|
374
|
+
517: }
|
375
|
+
518:
|
376
|
+
519: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">respond_to?</span>(<span class="ruby-identifier">:to_ary</span>)
|
377
|
+
520: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">status</span> = <span class="ruby-identifier">r</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt">#r[0]</span>
|
378
|
+
521: <span class="ruby-comment cmt">#r[1].each do |k,v|</span>
|
379
|
+
522: <span class="ruby-identifier">r</span>.<span class="ruby-identifier">shift</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>,<span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
380
|
+
523: <span class="ruby-ivar">@response</span>[<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>
|
381
|
+
524: <span class="ruby-keyword kw">end</span>
|
382
|
+
525: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">r</span>.<span class="ruby-identifier">shift</span> <span class="ruby-comment cmt">#r[2]</span>
|
383
|
+
526: <span class="ruby-keyword kw">else</span>
|
384
|
+
527: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">write</span> <span class="ruby-identifier">r</span>
|
385
|
+
528: <span class="ruby-keyword kw">end</span>
|
386
|
+
529:
|
387
|
+
530: <span class="ruby-ivar">@response</span>.<span class="ruby-identifier">finish</span>
|
388
|
+
531: <span class="ruby-keyword kw">end</span>
|
389
|
+
532:
|
390
|
+
533: <span class="ruby-identifier">include</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Helpers</span>
|
391
|
+
534: <span class="ruby-identifier">include</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Views</span>
|
392
|
+
535: }
|
393
|
+
536: <span class="ruby-keyword kw">end</span>
|
383
394
|
</pre>
|
384
395
|
</div>
|
385
396
|
</div>
|
@@ -400,104 +411,105 @@ Return the Rack App.
|
|
400
411
|
</p>
|
401
412
|
<p>
|
402
413
|
Options : see <a
|
403
|
-
href="Capcode/Configuration.html#
|
414
|
+
href="Capcode/Configuration.html#M000026">Capcode::Configuration.set</a>
|
404
415
|
</p>
|
405
416
|
<p>
|
406
|
-
Options <a href="Capcode.html#
|
407
|
-
href="Capcode.html#
|
417
|
+
Options <a href="Capcode.html#M000013">set</a> here replace the ones <a
|
418
|
+
href="Capcode.html#M000013">set</a> globally
|
408
419
|
</p>
|
409
420
|
<p><a class="source-toggle" href="#"
|
410
421
|
onclick="toggleCode('M000010-source');return false;">[Source]</a></p>
|
411
422
|
<div class="method-source-code" id="M000010-source">
|
412
423
|
<pre>
|
413
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
414
|
-
|
415
|
-
|
416
|
-
|
417
|
-
|
418
|
-
|
419
|
-
|
420
|
-
|
421
|
-
|
422
|
-
|
423
|
-
|
424
|
-
|
425
|
-
|
426
|
-
|
427
|
-
|
428
|
-
|
429
|
-
|
430
|
-
|
431
|
-
|
432
|
-
|
433
|
-
|
434
|
-
|
435
|
-
|
436
|
-
|
437
|
-
|
438
|
-
|
439
|
-
|
440
|
-
|
441
|
-
|
442
|
-
|
443
|
-
|
444
|
-
|
445
|
-
|
446
|
-
|
447
|
-
|
448
|
-
|
449
|
-
|
450
|
-
|
451
|
-
|
452
|
-
|
453
|
-
|
454
|
-
|
455
|
-
|
456
|
-
|
457
|
-
|
458
|
-
|
459
|
-
|
460
|
-
|
461
|
-
|
462
|
-
|
463
|
-
|
464
|
-
|
465
|
-
|
466
|
-
|
467
|
-
|
468
|
-
|
469
|
-
|
470
|
-
|
471
|
-
|
472
|
-
|
473
|
-
|
474
|
-
|
475
|
-
|
476
|
-
|
477
|
-
|
478
|
-
|
479
|
-
|
480
|
-
|
481
|
-
|
482
|
-
|
483
|
-
|
484
|
-
|
485
|
-
|
486
|
-
|
487
|
-
|
488
|
-
|
489
|
-
|
490
|
-
|
424
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 605</span>
|
425
|
+
605: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">application</span>( <span class="ruby-identifier">args</span> = {} )
|
426
|
+
606: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">configuration</span>(<span class="ruby-identifier">args</span>)
|
427
|
+
607: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">print_debug</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
428
|
+
608:
|
429
|
+
609: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">constants</span>.<span class="ruby-identifier">clone</span>.<span class="ruby-identifier">delete_if</span> {<span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
430
|
+
610: <span class="ruby-keyword kw">not</span>( <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">const_get</span>(<span class="ruby-identifier">k</span>).<span class="ruby-identifier">to_s</span> <span class="ruby-operator">=~</span> <span class="ruby-regexp re">/Capcode/</span> ) <span class="ruby-keyword kw">or</span> [
|
431
|
+
611: <span class="ruby-value str">"Filter"</span>,
|
432
|
+
612: <span class="ruby-value str">"Helpers"</span>,
|
433
|
+
613: <span class="ruby-value str">"RouteError"</span>,
|
434
|
+
614: <span class="ruby-value str">"Views"</span>,
|
435
|
+
615: <span class="ruby-value str">"ParameterError"</span>,
|
436
|
+
616: <span class="ruby-value str">"HTTPError"</span>,
|
437
|
+
617: <span class="ruby-value str">"Configuration"</span>,
|
438
|
+
618: <span class="ruby-value str">"MissingLibrary"</span>,
|
439
|
+
619: <span class="ruby-value str">"Route"</span>,
|
440
|
+
620: <span class="ruby-value str">"RenderError"</span>
|
441
|
+
621: ].<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">k</span>)
|
442
|
+
622: }.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span><span class="ruby-operator">|</span>
|
443
|
+
623: <span class="ruby-keyword kw">begin</span>
|
444
|
+
624: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">eval</span> <span class="ruby-node">"Capcode::#{k}.public_methods(true).include?( '__urls__' )"</span>
|
445
|
+
625: <span class="ruby-identifier">hash_of_routes</span>, <span class="ruby-identifier">max_captures_for_routes</span>, <span class="ruby-identifier">klass</span> = <span class="ruby-identifier">eval</span> <span class="ruby-node">"Capcode::#{k}.__urls__"</span>
|
446
|
+
626: <span class="ruby-identifier">hash_of_routes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">current_route_path</span><span class="ruby-operator">|</span>
|
447
|
+
627: <span class="ruby-comment cmt">#raise Capcode::RouteError, "Route `#{current_route_path}' already define !", caller if @@__ROUTES.keys.include?(current_route_path)</span>
|
448
|
+
628: <span class="ruby-identifier">raise</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">RouteError</span>, <span class="ruby-node">"Route `#{current_route_path}' already define !"</span>, <span class="ruby-identifier">caller</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">routes</span>.<span class="ruby-identifier">keys</span>.<span class="ruby-identifier">include?</span>(<span class="ruby-identifier">current_route_path</span>)
|
449
|
+
629: <span class="ruby-comment cmt"># Capcode.routes[current_route_path] = klass.new</span>
|
450
|
+
630: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">routes</span>[<span class="ruby-identifier">current_route_path</span>] = <span class="ruby-identifier">klass</span>
|
451
|
+
631: <span class="ruby-keyword kw">end</span>
|
452
|
+
632: <span class="ruby-keyword kw">end</span>
|
453
|
+
633: <span class="ruby-keyword kw">rescue</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">e</span>
|
454
|
+
634: <span class="ruby-identifier">raise</span> <span class="ruby-identifier">e</span>.<span class="ruby-identifier">message</span>
|
455
|
+
635: <span class="ruby-keyword kw">end</span>
|
456
|
+
636: <span class="ruby-keyword kw">end</span>
|
457
|
+
637:
|
458
|
+
638: <span class="ruby-comment cmt"># Set Static directory</span>
|
459
|
+
639: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">static</span> = (<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:static</span>)[<span class="ruby-value">0</span>].<span class="ruby-identifier">chr</span> <span class="ruby-operator">==</span> <span class="ruby-value str">"/"</span>)<span class="ruby-operator">?</span><span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:static</span>)<span class="ruby-operator">:</span><span class="ruby-value str">"/"</span><span class="ruby-operator">+</span><span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:static</span>) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:static</span>).<span class="ruby-identifier">nil?</span>
|
460
|
+
640:
|
461
|
+
641: <span class="ruby-comment cmt"># Initialize Rack App</span>
|
462
|
+
642: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"** Map routes."</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
463
|
+
643: <span class="ruby-comment cmt"># app = Rack::URLMap.new(Capcode.routes)</span>
|
464
|
+
644: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Ext</span><span class="ruby-operator">::</span><span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">URLMap</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">routes</span>)
|
465
|
+
645: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Initialize static directory (#{Capcode.static}) in #{File.expand_path(Capcode::Configuration.get(:root))}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
466
|
+
646: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Static</span>.<span class="ruby-identifier">new</span>(
|
467
|
+
647: <span class="ruby-identifier">app</span>,
|
468
|
+
648: <span class="ruby-comment cmt">#:urls => [@@__STATIC_DIR], </span>
|
469
|
+
649: <span class="ruby-identifier">:urls</span> =<span class="ruby-operator">></span> [<span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">static</span>],
|
470
|
+
650: <span class="ruby-identifier">:root</span> =<span class="ruby-operator">></span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">expand_path</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:root</span>))
|
471
|
+
651: ) <span class="ruby-keyword kw">unless</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:static</span>).<span class="ruby-identifier">nil?</span>
|
472
|
+
652: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"** Initialize session"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
473
|
+
653: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Session</span><span class="ruby-operator">::</span><span class="ruby-constant">Cookie</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">app</span>, <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:session</span>) )
|
474
|
+
654: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">HTTPError</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">app</span>)
|
475
|
+
655: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">ContentLength</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">app</span>)
|
476
|
+
656: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Lint</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">app</span>)
|
477
|
+
657: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">ShowExceptions</span>.<span class="ruby-identifier">new</span>(<span class="ruby-identifier">app</span>)
|
478
|
+
658: <span class="ruby-comment cmt">#app = Rack::Reloader.new(app) ## -- NE RELOAD QUE capcode.rb -- So !!!</span>
|
479
|
+
659: <span class="ruby-identifier">app</span> = <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">CommonLogger</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">app</span>, <span class="ruby-ivar">@cclogger</span> = <span class="ruby-constant">Logger</span>.<span class="ruby-identifier">new</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:log</span>)) )
|
480
|
+
660:
|
481
|
+
661: <span class="ruby-identifier">middlewares</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">mw</span><span class="ruby-operator">|</span>
|
482
|
+
662: <span class="ruby-identifier">middleware</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">block</span> = <span class="ruby-identifier">mw</span>
|
483
|
+
663: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Load middleware #{middleware}"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
484
|
+
664: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block</span>
|
485
|
+
665: <span class="ruby-identifier">app</span> = <span class="ruby-identifier">middleware</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">app</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span> )
|
486
|
+
666: <span class="ruby-keyword kw">else</span>
|
487
|
+
667: <span class="ruby-identifier">app</span> = <span class="ruby-identifier">middleware</span>.<span class="ruby-identifier">new</span>( <span class="ruby-identifier">app</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span> )
|
488
|
+
668: <span class="ruby-keyword kw">end</span>
|
489
|
+
669: <span class="ruby-keyword kw">end</span>
|
490
|
+
670:
|
491
|
+
671: <span class="ruby-comment cmt"># Start database</span>
|
492
|
+
672: <span class="ruby-keyword kw">if</span> <span class="ruby-keyword kw">self</span>.<span class="ruby-identifier">methods</span>.<span class="ruby-identifier">include?</span> <span class="ruby-value str">"db_connect"</span>
|
493
|
+
673: <span class="ruby-identifier">db_connect</span>( <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:db_config</span>), <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:log</span>) )
|
494
|
+
674: <span class="ruby-keyword kw">end</span>
|
495
|
+
675:
|
496
|
+
676: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
497
|
+
677: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"** Execute block"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
498
|
+
678: <span class="ruby-keyword kw">yield</span>( <span class="ruby-keyword kw">self</span> )
|
499
|
+
679: <span class="ruby-keyword kw">end</span>
|
500
|
+
680:
|
501
|
+
681: <span class="ruby-keyword kw">return</span> <span class="ruby-identifier">app</span>
|
502
|
+
682: <span class="ruby-keyword kw">end</span>
|
491
503
|
</pre>
|
492
504
|
</div>
|
493
505
|
</div>
|
494
506
|
</div>
|
495
507
|
|
496
|
-
<div id="method-
|
497
|
-
<a name="
|
508
|
+
<div id="method-M000014" class="method-detail">
|
509
|
+
<a name="M000014"></a>
|
498
510
|
|
499
511
|
<div class="method-heading">
|
500
|
-
<a href="#
|
512
|
+
<a href="#M000014" class="method-signature">
|
501
513
|
<span class="method-name">before_filter</span><span class="method-args">( action, opts = {} )</span>
|
502
514
|
</a>
|
503
515
|
</div>
|
@@ -518,17 +530,18 @@ Add a before filter :
|
|
518
530
|
If the action return nil, the normal get or post will be executed, else no.
|
519
531
|
</p>
|
520
532
|
<p><a class="source-toggle" href="#"
|
521
|
-
onclick="toggleCode('
|
522
|
-
<div class="method-source-code" id="
|
533
|
+
onclick="toggleCode('M000014-source');return false;">[Source]</a></p>
|
534
|
+
<div class="method-source-code" id="M000014-source">
|
523
535
|
<pre>
|
524
536
|
<span class="ruby-comment cmt"># File lib/capcode/filters.rb, line 14</span>
|
525
537
|
14: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">before_filter</span>( <span class="ruby-identifier">action</span>, <span class="ruby-identifier">opts</span> = {} )
|
526
538
|
15: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Filter</span>.<span class="ruby-identifier">filters</span>[<span class="ruby-identifier">action</span>] = { }
|
527
|
-
16:
|
528
|
-
17:
|
529
|
-
18:
|
530
|
-
19:
|
531
|
-
20:
|
539
|
+
16: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Filter</span>.<span class="ruby-identifier">ordered_actions</span> <span class="ruby-operator"><<</span> <span class="ruby-identifier">action</span>
|
540
|
+
17:
|
541
|
+
18: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">each</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">k</span>, <span class="ruby-identifier">v</span><span class="ruby-operator">|</span>
|
542
|
+
19: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Filter</span>.<span class="ruby-identifier">filters</span>[<span class="ruby-identifier">action</span>][<span class="ruby-identifier">k</span>] = <span class="ruby-identifier">v</span>
|
543
|
+
20: <span class="ruby-keyword kw">end</span>
|
544
|
+
21: <span class="ruby-keyword kw">end</span>
|
532
545
|
</pre>
|
533
546
|
</div>
|
534
547
|
</div>
|
@@ -551,10 +564,10 @@ Hash containing all the environment variables
|
|
551
564
|
onclick="toggleCode('M000003-source');return false;">[Source]</a></p>
|
552
565
|
<div class="method-source-code" id="M000003-source">
|
553
566
|
<pre>
|
554
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
555
|
-
|
556
|
-
|
557
|
-
|
567
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 406</span>
|
568
|
+
406: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">env</span>
|
569
|
+
407: <span class="ruby-ivar">@env</span>
|
570
|
+
408: <span class="ruby-keyword kw">end</span>
|
558
571
|
</pre>
|
559
572
|
</div>
|
560
573
|
</div>
|
@@ -586,7 +599,7 @@ Options :
|
|
586
599
|
|
587
600
|
</li>
|
588
601
|
<li><tt>:opaque</tt> : Your secret passphrase. You MUST <a
|
589
|
-
href="Capcode.html#
|
602
|
+
href="Capcode.html#M000013">set</a> it if you <a
|
590
603
|
href="Capcode.html#M000008">use</a> Digest Auth - default :
|
591
604
|
"opaque"
|
592
605
|
|
@@ -609,27 +622,50 @@ The block must return a Hash of username => password like that :
|
|
609
622
|
onclick="toggleCode('M000009-source');return false;">[Source]</a></p>
|
610
623
|
<div class="method-source-code" id="M000009-source">
|
611
624
|
<pre>
|
612
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
613
|
-
|
614
|
-
|
615
|
-
|
616
|
-
|
617
|
-
|
618
|
-
|
619
|
-
|
620
|
-
|
621
|
-
|
622
|
-
|
623
|
-
|
624
|
-
|
625
|
-
|
626
|
-
|
627
|
-
|
628
|
-
|
629
|
-
|
630
|
-
|
631
|
-
|
632
|
-
|
625
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 579</span>
|
626
|
+
579: <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> )
|
627
|
+
580: <span class="ruby-identifier">options</span> = {
|
628
|
+
581: <span class="ruby-identifier">:type</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">:basic</span>,
|
629
|
+
582: <span class="ruby-identifier">:realm</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"Capcode.app"</span>,
|
630
|
+
583: <span class="ruby-identifier">:opaque</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"opaque"</span>,
|
631
|
+
584: <span class="ruby-identifier">:routes</span> =<span class="ruby-operator">></span> <span class="ruby-value str">"/"</span>
|
632
|
+
585: }.<span class="ruby-identifier">merge</span>( <span class="ruby-identifier">opts</span> )
|
633
|
+
586:
|
634
|
+
587: <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:autz</span>] = <span class="ruby-identifier">b</span>.<span class="ruby-identifier">call</span>()
|
635
|
+
588:
|
636
|
+
589: <span class="ruby-ivar">@__auth__</span> <span class="ruby-operator">||=</span> {}
|
637
|
+
590:
|
638
|
+
591: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">options</span>[<span class="ruby-identifier">:routes</span>].<span class="ruby-identifier">class</span> <span class="ruby-operator">==</span> <span class="ruby-constant">Array</span>
|
639
|
+
592: <span class="ruby-identifier">options</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">r</span><span class="ruby-operator">|</span>
|
640
|
+
593: <span class="ruby-ivar">@__auth__</span>[<span class="ruby-identifier">r</span>] = <span class="ruby-identifier">options</span>
|
641
|
+
594: <span class="ruby-keyword kw">end</span>
|
642
|
+
595: <span class="ruby-keyword kw">else</span>
|
643
|
+
596: <span class="ruby-ivar">@__auth__</span>[<span class="ruby-identifier">options</span>[<span class="ruby-identifier">:routes</span>]] = <span class="ruby-identifier">options</span>
|
644
|
+
597: <span class="ruby-keyword kw">end</span>
|
645
|
+
598: <span class="ruby-keyword kw">end</span>
|
646
|
+
</pre>
|
647
|
+
</div>
|
648
|
+
</div>
|
649
|
+
</div>
|
650
|
+
|
651
|
+
<div id="method-M000012" class="method-detail">
|
652
|
+
<a name="M000012"></a>
|
653
|
+
|
654
|
+
<div class="method-heading">
|
655
|
+
<a href="#M000012" class="method-signature">
|
656
|
+
<span class="method-name">logger</span><span class="method-args">()</span>
|
657
|
+
</a>
|
658
|
+
</div>
|
659
|
+
|
660
|
+
<div class="method-description">
|
661
|
+
<p><a class="source-toggle" href="#"
|
662
|
+
onclick="toggleCode('M000012-source');return false;">[Source]</a></p>
|
663
|
+
<div class="method-source-code" id="M000012-source">
|
664
|
+
<pre>
|
665
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 829</span>
|
666
|
+
829: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">logger</span>
|
667
|
+
830: <span class="ruby-ivar">@cclogger</span>
|
668
|
+
831: <span class="ruby-keyword kw">end</span>
|
633
669
|
</pre>
|
634
670
|
</div>
|
635
671
|
</div>
|
@@ -658,10 +694,10 @@ Rack or What you want Helper
|
|
658
694
|
onclick="toggleCode('M000007-source');return false;">[Source]</a></p>
|
659
695
|
<div class="method-source-code" id="M000007-source">
|
660
696
|
<pre>
|
661
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
662
|
-
|
663
|
-
|
664
|
-
|
697
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 544</span>
|
698
|
+
544: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">map</span>( <span class="ruby-identifier">route</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">b</span> )
|
699
|
+
545: <span class="ruby-constant">Capcode</span>.<span class="ruby-identifier">routes</span>[<span class="ruby-identifier">route</span>] = <span class="ruby-keyword kw">yield</span>
|
700
|
+
546: <span class="ruby-keyword kw">end</span>
|
665
701
|
</pre>
|
666
702
|
</div>
|
667
703
|
</div>
|
@@ -685,10 +721,10 @@ parameters (GET or POST)
|
|
685
721
|
onclick="toggleCode('M000002-source');return false;">[Source]</a></p>
|
686
722
|
<div class="method-source-code" id="M000002-source">
|
687
723
|
<pre>
|
688
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
689
|
-
|
690
|
-
|
691
|
-
|
724
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 401</span>
|
725
|
+
401: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">params</span>
|
726
|
+
402: <span class="ruby-ivar">@request</span>.<span class="ruby-identifier">params</span>
|
727
|
+
403: <span class="ruby-keyword kw">end</span>
|
692
728
|
</pre>
|
693
729
|
</div>
|
694
730
|
</div>
|
@@ -711,10 +747,10 @@ Return the Rack::Request object
|
|
711
747
|
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
712
748
|
<div class="method-source-code" id="M000005-source">
|
713
749
|
<pre>
|
714
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
715
|
-
|
716
|
-
|
717
|
-
|
750
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 416</span>
|
751
|
+
416: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">request</span>
|
752
|
+
417: <span class="ruby-ivar">@request</span>
|
753
|
+
418: <span class="ruby-keyword kw">end</span>
|
718
754
|
</pre>
|
719
755
|
</div>
|
720
756
|
</div>
|
@@ -737,10 +773,10 @@ Return the Rack::Response object
|
|
737
773
|
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
738
774
|
<div class="method-source-code" id="M000006-source">
|
739
775
|
<pre>
|
740
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
741
|
-
|
742
|
-
|
743
|
-
|
776
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 421</span>
|
777
|
+
421: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">response</span>
|
778
|
+
422: <span class="ruby-ivar">@response</span>
|
779
|
+
423: <span class="ruby-keyword kw">end</span>
|
744
780
|
</pre>
|
745
781
|
</div>
|
746
782
|
</div>
|
@@ -761,141 +797,152 @@ Start your <a href="Capcode.html#M000010">application</a>.
|
|
761
797
|
</p>
|
762
798
|
<p>
|
763
799
|
Options : see <a
|
764
|
-
href="Capcode/Configuration.html#
|
800
|
+
href="Capcode/Configuration.html#M000026">Capcode::Configuration.set</a>
|
765
801
|
</p>
|
766
802
|
<p>
|
767
|
-
Options <a href="Capcode.html#
|
768
|
-
href="Capcode.html#
|
803
|
+
Options <a href="Capcode.html#M000013">set</a> here replace the ones <a
|
804
|
+
href="Capcode.html#M000013">set</a> globally
|
769
805
|
</p>
|
770
806
|
<p><a class="source-toggle" href="#"
|
771
807
|
onclick="toggleCode('M000011-source');return false;">[Source]</a></p>
|
772
808
|
<div class="method-source-code" id="M000011-source">
|
773
809
|
<pre>
|
774
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
775
|
-
|
776
|
-
|
777
|
-
|
778
|
-
|
779
|
-
|
780
|
-
|
781
|
-
|
782
|
-
|
783
|
-
|
784
|
-
|
785
|
-
|
786
|
-
|
787
|
-
|
788
|
-
|
789
|
-
|
790
|
-
|
791
|
-
|
792
|
-
|
793
|
-
|
794
|
-
|
795
|
-
|
796
|
-
|
797
|
-
|
798
|
-
|
799
|
-
|
800
|
-
|
801
|
-
|
802
|
-
|
803
|
-
|
804
|
-
|
805
|
-
|
806
|
-
|
807
|
-
|
808
|
-
|
809
|
-
|
810
|
-
|
811
|
-
|
812
|
-
|
813
|
-
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
825
|
-
|
826
|
-
|
827
|
-
|
828
|
-
|
829
|
-
|
830
|
-
|
831
|
-
|
832
|
-
|
833
|
-
|
834
|
-
|
835
|
-
|
836
|
-
|
837
|
-
|
838
|
-
|
839
|
-
|
840
|
-
|
841
|
-
|
842
|
-
|
843
|
-
|
844
|
-
|
845
|
-
|
846
|
-
|
847
|
-
|
848
|
-
|
849
|
-
|
850
|
-
|
851
|
-
|
852
|
-
|
853
|
-
|
854
|
-
|
855
|
-
|
856
|
-
|
857
|
-
|
858
|
-
|
859
|
-
|
860
|
-
|
861
|
-
|
862
|
-
|
863
|
-
|
864
|
-
|
865
|
-
|
866
|
-
|
867
|
-
|
868
|
-
|
869
|
-
|
870
|
-
|
871
|
-
|
872
|
-
|
873
|
-
|
874
|
-
|
875
|
-
|
876
|
-
|
877
|
-
|
878
|
-
|
879
|
-
|
880
|
-
|
881
|
-
|
882
|
-
|
883
|
-
|
884
|
-
|
885
|
-
|
886
|
-
|
887
|
-
|
888
|
-
|
889
|
-
|
890
|
-
|
891
|
-
|
892
|
-
|
893
|
-
|
894
|
-
|
895
|
-
|
896
|
-
|
897
|
-
|
898
|
-
|
810
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 689</span>
|
811
|
+
689: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">run</span>( <span class="ruby-identifier">args</span> = {} )
|
812
|
+
690: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">configuration</span>(<span class="ruby-identifier">args</span>)
|
813
|
+
691:
|
814
|
+
692: <span class="ruby-comment cmt"># Parse options</span>
|
815
|
+
693: <span class="ruby-identifier">opts</span> = <span class="ruby-constant">OptionParser</span>.<span class="ruby-identifier">new</span> <span class="ruby-keyword kw">do</span> <span class="ruby-operator">|</span><span class="ruby-identifier">opts</span><span class="ruby-operator">|</span>
|
816
|
+
694: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">banner</span> = <span class="ruby-node">"Usage: #{File.basename($0)} [options]"</span>
|
817
|
+
695: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">""</span>
|
818
|
+
696: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">"Specific options:"</span>
|
819
|
+
697:
|
820
|
+
698: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-C"</span>, <span class="ruby-value str">"--console"</span>, <span class="ruby-value str">"Run in console mode with IRB (default: false)"</span> ) {
|
821
|
+
699: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:console</span>, <span class="ruby-keyword kw">true</span>
|
822
|
+
700: }
|
823
|
+
701: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-h"</span>, <span class="ruby-value str">"--host HOSTNAME"</span>, <span class="ruby-node">"Host for web server to bind to (default: #{Capcode::Configuration.get(:host)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">h</span><span class="ruby-operator">|</span>
|
824
|
+
702: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:host</span>, <span class="ruby-identifier">h</span>
|
825
|
+
703: }
|
826
|
+
704: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-p"</span>, <span class="ruby-value str">"--port NUM"</span>, <span class="ruby-node">"Port for web server (default: #{Capcode::Configuration.get(:port)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">p</span><span class="ruby-operator">|</span>
|
827
|
+
705: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:port</span>, <span class="ruby-identifier">p</span>
|
828
|
+
706: }
|
829
|
+
707: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-d"</span>, <span class="ruby-value str">"--daemonize [true|false]"</span>, <span class="ruby-node">"Daemonize (default: #{Capcode::Configuration.get(:daemonize)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">d</span><span class="ruby-operator">|</span>
|
830
|
+
708: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:daemonize</span>, <span class="ruby-identifier">d</span>
|
831
|
+
709: }
|
832
|
+
710: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-r"</span>, <span class="ruby-value str">"--root PATH"</span>, <span class="ruby-node">"Working directory (default: #{Capcode::Configuration.get(:root)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">w</span><span class="ruby-operator">|</span>
|
833
|
+
711: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:root</span>, <span class="ruby-identifier">w</span>
|
834
|
+
712: }
|
835
|
+
713: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-s"</span>, <span class="ruby-value str">"--static PATH"</span>, <span class="ruby-node">"Static directory -- relative to the root directory (default: #{Capcode::Configuration.get(:static)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
836
|
+
714: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:static</span>, <span class="ruby-identifier">r</span>
|
837
|
+
715: }
|
838
|
+
716: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>( <span class="ruby-value str">"-S"</span>, <span class="ruby-value str">"--server SERVER"</span>, <span class="ruby-node">"Server to use (default: #{Capcode::Configuration.get(:server)})"</span> ) { <span class="ruby-operator">|</span><span class="ruby-identifier">r</span><span class="ruby-operator">|</span>
|
839
|
+
717: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:server</span>, <span class="ruby-identifier">r</span>
|
840
|
+
718: }
|
841
|
+
719:
|
842
|
+
720: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">""</span>
|
843
|
+
721: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">separator</span> <span class="ruby-value str">"Common options:"</span>
|
844
|
+
722:
|
845
|
+
723: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-?"</span>, <span class="ruby-value str">"--help"</span>, <span class="ruby-value str">"Show this message"</span>) <span class="ruby-keyword kw">do</span>
|
846
|
+
724: <span class="ruby-identifier">puts</span> <span class="ruby-identifier">opts</span>
|
847
|
+
725: <span class="ruby-identifier">exit</span>
|
848
|
+
726: <span class="ruby-keyword kw">end</span>
|
849
|
+
727: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on</span>(<span class="ruby-value str">"-v"</span>, <span class="ruby-value str">"--version"</span>, <span class="ruby-value str">"Show versions"</span>) <span class="ruby-keyword kw">do</span>
|
850
|
+
728: <span class="ruby-identifier">puts</span> <span class="ruby-node">"Capcode version #{Capcode::CAPCOD_VERION} (ruby v#{RUBY_VERSION})"</span>
|
851
|
+
729: <span class="ruby-identifier">exit</span>
|
852
|
+
730: <span class="ruby-keyword kw">end</span>
|
853
|
+
731: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">on_tail</span>( <span class="ruby-value str">"-V"</span>, <span class="ruby-value str">"--verbose"</span>, <span class="ruby-value str">"Run in verbose mode"</span> ) <span class="ruby-keyword kw">do</span>
|
854
|
+
732: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:verbose</span>, <span class="ruby-keyword kw">true</span>
|
855
|
+
733: <span class="ruby-keyword kw">end</span>
|
856
|
+
734: <span class="ruby-keyword kw">end</span>
|
857
|
+
735:
|
858
|
+
736: <span class="ruby-keyword kw">begin</span>
|
859
|
+
737: <span class="ruby-identifier">opts</span>.<span class="ruby-identifier">parse!</span> <span class="ruby-constant">ARGV</span>
|
860
|
+
738: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">OptionParser</span><span class="ruby-operator">::</span><span class="ruby-constant">ParseError</span> =<span class="ruby-operator">></span> <span class="ruby-identifier">ex</span>
|
861
|
+
739: <span class="ruby-identifier">puts</span> <span class="ruby-node">"!! #{ex.message}"</span>
|
862
|
+
740: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** use `#{File.basename($0)} --help` for more details..."</span>
|
863
|
+
741: <span class="ruby-identifier">exit</span> <span class="ruby-value">1</span>
|
864
|
+
742: <span class="ruby-keyword kw">end</span>
|
865
|
+
743:
|
866
|
+
744: <span class="ruby-comment cmt"># Run in the Working directory</span>
|
867
|
+
745: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Go on root directory (#{File.expand_path(Capcode::Configuration.get(:root))})"</span> <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:verbose</span>)
|
868
|
+
746: <span class="ruby-constant">Dir</span>.<span class="ruby-identifier">chdir</span>( <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:root</span>) ) <span class="ruby-keyword kw">do</span>
|
869
|
+
747:
|
870
|
+
748: <span class="ruby-comment cmt"># Check that mongrel exists </span>
|
871
|
+
749: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:server</span>).<span class="ruby-identifier">nil?</span> <span class="ruby-operator">||</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:server</span>) <span class="ruby-operator">==</span> <span class="ruby-value str">"mongrel"</span>
|
872
|
+
750: <span class="ruby-keyword kw">begin</span>
|
873
|
+
751: <span class="ruby-identifier">require</span> <span class="ruby-value str">'mongrel'</span>
|
874
|
+
752: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:server</span>, <span class="ruby-identifier">:mongrel</span>
|
875
|
+
753: <span class="ruby-keyword kw">rescue</span> <span class="ruby-constant">LoadError</span>
|
876
|
+
754: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"!! could not load mongrel. Falling back to webrick."</span>
|
877
|
+
755: <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span> <span class="ruby-identifier">:server</span>, <span class="ruby-identifier">:webrick</span>
|
878
|
+
756: <span class="ruby-keyword kw">end</span>
|
879
|
+
757: <span class="ruby-keyword kw">end</span>
|
880
|
+
758:
|
881
|
+
759: <span class="ruby-comment cmt"># From rackup !!!</span>
|
882
|
+
760: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:daemonize</span>)
|
883
|
+
761: <span class="ruby-keyword kw">if</span> <span class="ruby-regexp re">/java/</span>.<span class="ruby-identifier">match</span>(<span class="ruby-constant">RUBY_PLATFORM</span>).<span class="ruby-identifier">nil?</span>
|
884
|
+
762: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">RUBY_VERSION</span> <span class="ruby-operator"><</span> <span class="ruby-value str">"1.9"</span>
|
885
|
+
763: <span class="ruby-identifier">exit</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fork</span>
|
886
|
+
764: <span class="ruby-constant">Process</span>.<span class="ruby-identifier">setsid</span>
|
887
|
+
765: <span class="ruby-identifier">exit</span> <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">fork</span>
|
888
|
+
766: <span class="ruby-comment cmt"># Dir.chdir "/"</span>
|
889
|
+
767: <span class="ruby-constant">File</span>.<span class="ruby-identifier">umask</span> <span class="ruby-value">0000</span>
|
890
|
+
768: <span class="ruby-constant">STDIN</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-value str">"/dev/null"</span>
|
891
|
+
769: <span class="ruby-constant">STDOUT</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-value str">"/dev/null"</span>, <span class="ruby-value str">"a"</span>
|
892
|
+
770: <span class="ruby-constant">STDERR</span>.<span class="ruby-identifier">reopen</span> <span class="ruby-value str">"/dev/null"</span>, <span class="ruby-value str">"a"</span>
|
893
|
+
771: <span class="ruby-keyword kw">else</span>
|
894
|
+
772: <span class="ruby-constant">Process</span>.<span class="ruby-identifier">daemon</span>
|
895
|
+
773: <span class="ruby-keyword kw">end</span>
|
896
|
+
774: <span class="ruby-keyword kw">else</span>
|
897
|
+
775: <span class="ruby-identifier">puts</span> <span class="ruby-node">"!! daemonize option unavailable on #{RUBY_PLATFORM} platform."</span>
|
898
|
+
776: <span class="ruby-keyword kw">end</span>
|
899
|
+
777:
|
900
|
+
778: <span class="ruby-constant">File</span>.<span class="ruby-identifier">open</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:pid</span>), <span class="ruby-value str">'w'</span>){ <span class="ruby-operator">|</span><span class="ruby-identifier">f</span><span class="ruby-operator">|</span> <span class="ruby-identifier">f</span>.<span class="ruby-identifier">write</span>(<span class="ruby-node">"#{Process.pid}"</span>) }
|
901
|
+
779: <span class="ruby-identifier">at_exit</span> { <span class="ruby-constant">File</span>.<span class="ruby-identifier">delete</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:pid</span>)) <span class="ruby-keyword kw">if</span> <span class="ruby-constant">File</span>.<span class="ruby-identifier">exist?</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:pid</span>)) }
|
902
|
+
780: <span class="ruby-keyword kw">end</span>
|
903
|
+
781:
|
904
|
+
782: <span class="ruby-identifier">app</span> = <span class="ruby-keyword kw">nil</span>
|
905
|
+
783: <span class="ruby-keyword kw">if</span> <span class="ruby-identifier">block_given?</span>
|
906
|
+
784: <span class="ruby-identifier">app</span> = <span class="ruby-identifier">application</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>) { <span class="ruby-keyword kw">yield</span>( <span class="ruby-keyword kw">self</span> ) }
|
907
|
+
785: <span class="ruby-keyword kw">else</span>
|
908
|
+
786: <span class="ruby-identifier">app</span> = <span class="ruby-identifier">application</span>(<span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>)
|
909
|
+
787: <span class="ruby-keyword kw">end</span>
|
910
|
+
788:
|
911
|
+
789: <span class="ruby-keyword kw">if</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:console</span>)
|
912
|
+
790: <span class="ruby-identifier">puts</span> <span class="ruby-value str">"Run console..."</span>
|
913
|
+
791: <span class="ruby-constant">IRB</span>.<span class="ruby-identifier">start</span>
|
914
|
+
792: <span class="ruby-identifier">exit</span>
|
915
|
+
793: <span class="ruby-keyword kw">end</span>
|
916
|
+
794:
|
917
|
+
795: <span class="ruby-comment cmt"># Start server</span>
|
918
|
+
796: <span class="ruby-keyword kw">case</span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:server</span>).<span class="ruby-identifier">to_s</span>
|
919
|
+
797: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"mongrel"</span>
|
920
|
+
798: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Starting Mongrel on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>
|
921
|
+
799: <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Handler</span><span class="ruby-operator">::</span><span class="ruby-constant">Mongrel</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">app</span>, {<span class="ruby-identifier">:Port</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:port</span>), <span class="ruby-identifier">:Host</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:host</span>)} ) { <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
|
922
|
+
800: <span class="ruby-identifier">trap</span> <span class="ruby-value str">"SIGINT"</span>, <span class="ruby-identifier">proc</span> { <span class="ruby-identifier">server</span>.<span class="ruby-identifier">stop</span> }
|
923
|
+
801: }
|
924
|
+
802: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"webrick"</span>
|
925
|
+
803: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Starting WEBrick on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>
|
926
|
+
804: <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Handler</span><span class="ruby-operator">::</span><span class="ruby-constant">WEBrick</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">app</span>, {<span class="ruby-identifier">:Port</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:port</span>), <span class="ruby-identifier">:BindAddress</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:host</span>)} ) { <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
|
927
|
+
805: <span class="ruby-identifier">trap</span> <span class="ruby-value str">"SIGINT"</span>, <span class="ruby-identifier">proc</span> { <span class="ruby-identifier">server</span>.<span class="ruby-identifier">shutdown</span> }
|
928
|
+
806: }
|
929
|
+
807: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"thin"</span>
|
930
|
+
808: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Starting Thin on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>
|
931
|
+
809: <span class="ruby-constant">Rack</span><span class="ruby-operator">::</span><span class="ruby-constant">Handler</span><span class="ruby-operator">::</span><span class="ruby-constant">Thin</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">app</span>, {<span class="ruby-identifier">:Port</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:port</span>), <span class="ruby-identifier">:Host</span> =<span class="ruby-operator">></span> <span class="ruby-constant">Capcode</span><span class="ruby-operator">::</span><span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">get</span>(<span class="ruby-identifier">:host</span>)} ) { <span class="ruby-operator">|</span><span class="ruby-identifier">server</span><span class="ruby-operator">|</span>
|
932
|
+
810: <span class="ruby-identifier">trap</span> <span class="ruby-value str">"SIGINT"</span>, <span class="ruby-identifier">proc</span> { <span class="ruby-identifier">server</span>.<span class="ruby-identifier">stop</span> }
|
933
|
+
811: }
|
934
|
+
812: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"unicorn"</span>
|
935
|
+
813: <span class="ruby-identifier">require</span> <span class="ruby-value str">'unicorn/launcher'</span>
|
936
|
+
814: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Starting Unicorn on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>
|
937
|
+
815: <span class="ruby-constant">Unicorn</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">app</span>, {<span class="ruby-identifier">:listeners</span> =<span class="ruby-operator">></span> [<span class="ruby-node">"#{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>]} )
|
938
|
+
816: <span class="ruby-keyword kw">when</span> <span class="ruby-value str">"rainbows"</span>
|
939
|
+
817: <span class="ruby-identifier">require</span> <span class="ruby-value str">'unicorn/launcher'</span>
|
940
|
+
818: <span class="ruby-identifier">require</span> <span class="ruby-value str">'rainbows'</span>
|
941
|
+
819: <span class="ruby-identifier">puts</span> <span class="ruby-node">"** Starting Rainbow on #{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>
|
942
|
+
820: <span class="ruby-constant">Rainbows</span>.<span class="ruby-identifier">run</span>( <span class="ruby-identifier">app</span>, {<span class="ruby-identifier">:listeners</span> =<span class="ruby-operator">></span> [<span class="ruby-node">"#{Capcode::Configuration.get(:host)}:#{Capcode::Configuration.get(:port)}"</span>]} )
|
943
|
+
821: <span class="ruby-keyword kw">end</span>
|
944
|
+
822: <span class="ruby-keyword kw">end</span>
|
945
|
+
823: <span class="ruby-keyword kw">end</span>
|
899
946
|
</pre>
|
900
947
|
</div>
|
901
948
|
</div>
|
@@ -918,28 +965,28 @@ Session hash
|
|
918
965
|
onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
|
919
966
|
<div class="method-source-code" id="M000004-source">
|
920
967
|
<pre>
|
921
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
922
|
-
|
923
|
-
|
924
|
-
|
968
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 411</span>
|
969
|
+
411: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">session</span>
|
970
|
+
412: <span class="ruby-ivar">@env</span>[<span class="ruby-value str">'rack.session'</span>]
|
971
|
+
413: <span class="ruby-keyword kw">end</span>
|
925
972
|
</pre>
|
926
973
|
</div>
|
927
974
|
</div>
|
928
975
|
</div>
|
929
976
|
|
930
|
-
<div id="method-
|
931
|
-
<a name="
|
977
|
+
<div id="method-M000013" class="method-detail">
|
978
|
+
<a name="M000013"></a>
|
932
979
|
|
933
980
|
<div class="method-heading">
|
934
|
-
<a href="#
|
981
|
+
<a href="#M000013" class="method-signature">
|
935
982
|
<span class="method-name">set</span><span class="method-args">(key, value, opts = {})</span>
|
936
983
|
</a>
|
937
984
|
</div>
|
938
985
|
|
939
986
|
<div class="method-description">
|
940
987
|
<p><a class="source-toggle" href="#"
|
941
|
-
onclick="toggleCode('
|
942
|
-
<div class="method-source-code" id="
|
988
|
+
onclick="toggleCode('M000013-source');return false;">[Source]</a></p>
|
989
|
+
<div class="method-source-code" id="M000013-source">
|
943
990
|
<pre>
|
944
991
|
<span class="ruby-comment cmt"># File lib/capcode/configuration.rb, line 3</span>
|
945
992
|
3: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">set</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">opts</span> = {}); <span class="ruby-constant">Configuration</span>.<span class="ruby-identifier">set</span>(<span class="ruby-identifier">key</span>, <span class="ruby-identifier">value</span>, <span class="ruby-identifier">opts</span>); <span class="ruby-keyword kw">end</span>
|
@@ -977,10 +1024,10 @@ Example :
|
|
977
1024
|
onclick="toggleCode('M000008-source');return false;">[Source]</a></p>
|
978
1025
|
<div class="method-source-code" id="M000008-source">
|
979
1026
|
<pre>
|
980
|
-
<span class="ruby-comment cmt"># File lib/capcode.rb, line
|
981
|
-
|
982
|
-
|
983
|
-
|
1027
|
+
<span class="ruby-comment cmt"># File lib/capcode.rb, line 558</span>
|
1028
|
+
558: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">use</span>(<span class="ruby-identifier">middleware</span>, <span class="ruby-operator">*</span><span class="ruby-identifier">args</span>, <span class="ruby-operator">&</span><span class="ruby-identifier">block</span>)
|
1029
|
+
559: <span class="ruby-identifier">middlewares</span> <span class="ruby-operator"><<</span> [<span class="ruby-identifier">middleware</span>, <span class="ruby-identifier">args</span>, <span class="ruby-identifier">block</span>]
|
1030
|
+
560: <span class="ruby-keyword kw">end</span>
|
984
1031
|
</pre>
|
985
1032
|
</div>
|
986
1033
|
</div>
|