Capcode 0.8.2 → 0.8.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (74) hide show
  1. data/{README → README.rdoc} +12 -1
  2. data/examples/haml/cf_layout.haml +1 -0
  3. data/examples/haml/style.sass +2 -0
  4. data/examples/render-erb.rb +14 -0
  5. data/examples/render-haml_sass.rb +22 -0
  6. data/examples/render-json.rb +13 -0
  7. data/examples/render-markaby.rb +27 -0
  8. data/examples/render-static.rb +18 -0
  9. data/examples/render-text.rb +12 -0
  10. data/examples/render-xml.rb +24 -0
  11. data/examples/rest.rb +77 -0
  12. data/examples/upload.rb +4 -4
  13. data/lib/capcode.rb +118 -44
  14. data/lib/capcode/base/db.rb +23 -0
  15. data/lib/capcode/base/dm.rb +11 -11
  16. data/lib/capcode/render/erb.rb +5 -3
  17. data/lib/capcode/render/haml.rb +3 -2
  18. data/lib/capcode/render/json.rb +1 -1
  19. data/lib/capcode/render/markaby.rb +5 -5
  20. data/lib/capcode/render/sass.rb +4 -2
  21. data/lib/capcode/render/static.rb +6 -2
  22. data/lib/capcode/render/text.rb +1 -1
  23. data/lib/capcode/render/xml.rb +3 -5
  24. data/lib/capcode/version.rb +1 -1
  25. metadata +25 -55
  26. data/doc/rdoc/classes/Capcode.html +0 -605
  27. data/doc/rdoc/classes/Capcode/HTTPError.html +0 -129
  28. data/doc/rdoc/classes/Capcode/Helpers.html +0 -342
  29. data/doc/rdoc/classes/Capcode/RenderError.html +0 -129
  30. data/doc/rdoc/classes/Capcode/Views.html +0 -108
  31. data/doc/rdoc/created.rid +0 -1
  32. data/doc/rdoc/files/AUTHORS.html +0 -103
  33. data/doc/rdoc/files/COPYING.html +0 -527
  34. data/doc/rdoc/files/README.html +0 -478
  35. data/doc/rdoc/files/lib/capcode_rb.html +0 -541
  36. data/doc/rdoc/index.html +0 -10
  37. data/doc/rdoc/permalink.gif +0 -0
  38. data/doc/rdoc/rdoc-style.css +0 -106
  39. data/doc/rdoc/rubyfr.png +0 -0
  40. data/doc/rdoc_iphone/classes/Capcode.html +0 -175
  41. data/doc/rdoc_iphone/classes/Capcode/HTTPError.html +0 -21
  42. data/doc/rdoc_iphone/classes/Capcode/Helpers.html +0 -153
  43. data/doc/rdoc_iphone/classes/Capcode/RenderError.html +0 -21
  44. data/doc/rdoc_iphone/classes/Capcode/Views.html +0 -21
  45. data/doc/rdoc_iphone/classes_index.html +0 -10
  46. data/doc/rdoc_iphone/created.rid +0 -1
  47. data/doc/rdoc_iphone/files/AUTHORS.html +0 -11
  48. data/doc/rdoc_iphone/files/COPYING.html +0 -435
  49. data/doc/rdoc_iphone/files/README.html +0 -325
  50. data/doc/rdoc_iphone/files/lib/capcode_rb.html +0 -435
  51. data/doc/rdoc_iphone/files_index.html +0 -7
  52. data/doc/rdoc_iphone/index.html +0 -51
  53. data/doc/rdoc_iphone/iui/backButton.png +0 -0
  54. data/doc/rdoc_iphone/iui/blueButton.png +0 -0
  55. data/doc/rdoc_iphone/iui/cancel.png +0 -0
  56. data/doc/rdoc_iphone/iui/grayButton.png +0 -0
  57. data/doc/rdoc_iphone/iui/iui-logo-touch-icon.png +0 -0
  58. data/doc/rdoc_iphone/iui/iui.css +0 -386
  59. data/doc/rdoc_iphone/iui/iui.js +0 -442
  60. data/doc/rdoc_iphone/iui/iuix.css +0 -1
  61. data/doc/rdoc_iphone/iui/iuix.js +0 -1
  62. data/doc/rdoc_iphone/iui/listArrow.png +0 -0
  63. data/doc/rdoc_iphone/iui/listArrowSel.png +0 -0
  64. data/doc/rdoc_iphone/iui/listGroup.png +0 -0
  65. data/doc/rdoc_iphone/iui/loading.gif +0 -0
  66. data/doc/rdoc_iphone/iui/pinstripes.png +0 -0
  67. data/doc/rdoc_iphone/iui/selection.png +0 -0
  68. data/doc/rdoc_iphone/iui/thumb.png +0 -0
  69. data/doc/rdoc_iphone/iui/toggle.png +0 -0
  70. data/doc/rdoc_iphone/iui/toggleOn.png +0 -0
  71. data/doc/rdoc_iphone/iui/toolButton.png +0 -0
  72. data/doc/rdoc_iphone/iui/toolbar.png +0 -0
  73. data/doc/rdoc_iphone/iui/whiteButton.png +0 -0
  74. data/doc/rdoc_iphone/rdoc-style.css +0 -0
@@ -1,10 +0,0 @@
1
-
2
- <HTML>
3
- <HEAD>
4
- <META HTTP-EQUIV="refresh" content="0;URL=files/README.html">
5
- <TITLE>Capcode, the Documentation</TITLE>
6
- </HEAD>
7
- <BODY>
8
- Click <a href="files/README.html">here</a> to open the docs.
9
- </BODY>
10
- </HTML>
Binary file
@@ -1,106 +0,0 @@
1
-
2
- body {
3
- font: normal 14px verdana,arial,'Bitstream Vera Sans',helvetica,sans-serif;
4
- line-height: 160%;
5
- padding: 0; margin: 0;
6
- margin-bottom: 30px;
7
- /* background-color: #402; */
8
- background-color: #CCCC99;
9
- }
10
- h1, h2, h3, h4 {
11
- font-family: Utopia, Georgia, serif;
12
- font-weight: bold;
13
- letter-spacing: -0.018em;
14
- }
15
- h1 { font-size: 24px; margin: .15em 1em 0 0 }
16
- h2 { font-size: 24px }
17
- h3 { font-size: 19px }
18
- h4 { font-size: 17px; font-weight: normal; }
19
- h4.ruled { border-bottom: solid 1px #CC9; }
20
- h2.ruled { padding-top: 35px; border-top: solid 1px #AA5; }
21
-
22
- /* Link styles */
23
- :link, :visited {
24
-
25
- }
26
- :link:hover, :visited:hover {
27
-
28
- }
29
- #fullpage {
30
- width: 720px;
31
- padding-top: 20px;
32
- margin: 0 auto;
33
- }
34
- .page_shade, .page {
35
- border-left: 1px solid black;
36
- border-right: 1px solid black;
37
- border-bottom: 1px solid black;
38
- background-color: #FFFFFF;
39
- }
40
- .page {
41
- padding: 20px 35px;
42
- }
43
- .page .header {
44
- float: right;
45
- color: #777;
46
- font-size: 10px;
47
- }
48
- .page h1, .page h2, .page h3 {
49
- clear: both;
50
- text-align: center;
51
- }
52
- #pager {
53
- background-color: #EEEEAE;
54
- border-top: 2px solid black;
55
- border-left: 2px solid black;
56
- border-right: 2px solid black;
57
- border-bottom: 1px dashed #999966;
58
- padding: 20px 0 20px 20px;
59
- color: #666633;
60
- font-size: 11px;
61
- }
62
- #pager :link, #pager :visited {
63
- color: #8E2400;
64
- padding: 0px 5px;
65
- }
66
- #pager :link:hover, #pager :visited:hover {
67
- color: #8E2400;
68
- }
69
- #pagertd {
70
- font-size: 11px;
71
- }
72
- #logo { float: left; }
73
- #menu {
74
- padding: 4px 12px;
75
- margin: 0;
76
- }
77
- #menu h3 { padding: 0; margin: 0; }
78
- #menu #links { float: right; }
79
- pre { font-weight: bold; color: black; }
80
- tt { color: #703; font-size: 12pt; }
81
- .dyn-source {
82
- background-color: #EEEEEE;
83
- border: 1px solid #CCCCCC;
84
- padding: 4px 8px;
85
- margin: 0;
86
- display: none; }
87
- .dyn-source pre {
88
- color: #000000;
89
- font-size: 8pt;
90
- font-familly: monospace;
91
-
92
- }
93
- .source-link { text-align: right; font-size: 8pt; }
94
- .ruby-comment { color: black; font-style: italic }
95
- .ruby-constant { color: #123456; font-weight: bold; }
96
- .ruby-identifier { color: #005599; }
97
- .ruby-ivar { color: orange; }
98
- .ruby-keyword { color: red; font-weight: bold }
99
- .ruby-node { color: #FFFFFF; }
100
- .ruby-operator { color: #055005; }
101
- .ruby-regexp { color: #DDFFDD; }
102
- .ruby-value { color: #FFAAAA; font-style: italic }
103
- .kw { color: red; font-weight: bold }
104
- .cmt { color: green; font-style: italic }
105
- .str { color: #EECCCC; font-style: italic }
106
- .re { color: #EECCCC; }
Binary file
@@ -1,175 +0,0 @@
1
-
2
- <!-- BEGIN: BODY -->
3
-
4
- <div id="Capcode" title="Module: Capcode" class="panel">
5
-
6
-
7
- <h2>Includes</h2>
8
- <ul>
9
- <li>Rack</li>
10
- <li>Capcode::Helpers</li>
11
- <li>Capcode::Views</li>
12
- </ul>
13
-
14
-
15
- <h2 class="ruled">Methods</h2>
16
- <ul>
17
- <li>
18
- Public Class method:
19
- <b>Route(*u)</b>
20
- </li>
21
- <li>
22
- <p>
23
- Add routes to a controller class
24
- </p>
25
- <pre>
26
- module Capcode
27
- class Hello &lt; Route '/hello/(.*)', '/hello/([^#]*)#(.*)'
28
- def get( arg1, arg2 )
29
- ...
30
- end
31
- end
32
- end
33
- </pre>
34
- <p>
35
- In the <tt>get</tt> method, you will receive the maximum of parameters
36
- declared by the routes. In this example, you will receive 2 parameters. So
37
- if you go to <tt>/hello/world#friend</tt> then <tt>arg1</tt> will be set to
38
- <tt>world</tt> and <tt>arg2</tt> will be set to <tt>friend</tt>. Now if you
39
- go to <tt>/hello/you</tt>, then <tt>arg1</tt> will be set to <tt>you</tt>
40
- and <tt>arg2</tt> will be set to <tt>nil</tt>
41
- </p>
42
- <p>
43
- If the regexp in the route does not match, all arguments will be
44
- <tt>nil</tt>
45
- </p>
46
- </li>
47
- </ul>
48
- <ul>
49
- <li>
50
- Public Class method:
51
- <b>env()</b>
52
- </li>
53
- <li>
54
- <p>
55
- Hash containing all the environment variables
56
- </p>
57
- </li>
58
- </ul>
59
- <ul>
60
- <li>
61
- Public Class method:
62
- <b>map( r ) {|| ...}</b>
63
- </li>
64
- <li>
65
- <p>
66
- This method help you to <a href="Capcode.html#M000007">map</a> and URL to a
67
- Rack or What you want Helper
68
- </p>
69
- <pre>
70
- Capcode.map( &quot;/file&quot; ) do
71
- Rack::File.new( &quot;.&quot; )
72
- end
73
- </pre>
74
- </li>
75
- </ul>
76
- <ul>
77
- <li>
78
- Public Class method:
79
- <b>params()</b>
80
- </li>
81
- <li>
82
- <p>
83
- Hash containing all the <a href="Capcode.html#M000005">request</a>
84
- parameters (GET or POST)
85
- </p>
86
- </li>
87
- </ul>
88
- <ul>
89
- <li>
90
- Public Class method:
91
- <b>request()</b>
92
- </li>
93
- <li>
94
- <p>
95
- Return the Rack::Request object
96
- </p>
97
- </li>
98
- </ul>
99
- <ul>
100
- <li>
101
- Public Class method:
102
- <b>response()</b>
103
- </li>
104
- <li>
105
- <p>
106
- Return the Rack::Response object
107
- </p>
108
- </li>
109
- </ul>
110
- <ul>
111
- <li>
112
- Public Class method:
113
- <b>run( args = {} ) {|self| ...}</b>
114
- </li>
115
- <li>
116
- <p>
117
- Start your application.
118
- </p>
119
- <p>
120
- Options :
121
- </p>
122
- <ul>
123
- <li><tt>:port</tt> = Listen port
124
-
125
- </li>
126
- <li><tt>:host</tt> = Listen host
127
-
128
- </li>
129
- <li><tt>:server</tt> = Server type (webrick or mongrel)
130
-
131
- </li>
132
- <li><tt>:log</tt> = Output logfile (default: STDOUT)
133
-
134
- </li>
135
- <li><tt>:<a href="Capcode.html#M000004">session</a></tt> = Session parameters.
136
- See Rack::Session for more informations
137
-
138
- </li>
139
- <li><tt>:pid</tt> = PID file (default: $0.pid)
140
-
141
- </li>
142
- <li><tt>:daemonize</tt> = Daemonize application (default: false)
143
-
144
- </li>
145
- <li><tt>:db_config</tt> = database configuration file (default: database.yml)
146
-
147
- </li>
148
- <li><tt>:root</tt> = root directory (default: &quot;.&quot; &#8212; relative to
149
- the working directory)
150
-
151
- </li>
152
- <li><tt>:working_directory</tt> = Working directory (default: directory of the
153
- main.rb)
154
-
155
- </li>
156
- </ul>
157
- </li>
158
- </ul>
159
- <ul>
160
- <li>
161
- Public Class method:
162
- <b>session()</b>
163
- </li>
164
- <li>
165
- <p>
166
- Hash <a href="Capcode.html#M000004">session</a>
167
- </p>
168
- </li>
169
- </ul>
170
-
171
-
172
-
173
- </div>
174
-
175
- <!-- BEGIN: BODY -->
@@ -1,21 +0,0 @@
1
-
2
- <!-- BEGIN: BODY -->
3
-
4
- <div id="Capcode__HTTPError" title="Class: Capcode::HTTPError" class="panel">
5
-
6
-
7
- <h2>Includes</h2>
8
- <ul>
9
- <li>Rack</li>
10
- <li>Capcode::Helpers</li>
11
- <li>Capcode::Views</li>
12
- </ul>
13
-
14
-
15
-
16
-
17
-
18
-
19
- </div>
20
-
21
- <!-- BEGIN: BODY -->
@@ -1,153 +0,0 @@
1
-
2
- <!-- BEGIN: BODY -->
3
-
4
- <div id="Capcode__Helpers" title="Module: Capcode::Helpers" class="panel">
5
-
6
-
7
- <h2>Includes</h2>
8
- <ul>
9
- <li>Rack</li>
10
- <li>Capcode::Helpers</li>
11
- <li>Capcode::Views</li>
12
- </ul>
13
-
14
-
15
- <h2 class="ruled">Methods</h2>
16
- <ul>
17
- <li>
18
- Public Instance method:
19
- <b>URL( klass, *a )</b>
20
- </li>
21
- <li>
22
- <p>
23
- Builds an <a href="Helpers.html#M000012">URL</a> route to a controller or a
24
- path
25
- </p>
26
- <p>
27
- if you declare the controller Hello :
28
- </p>
29
- <pre>
30
- module Capcode
31
- class Hello &lt; Route '/hello/(.*)'
32
- ...
33
- end
34
- end
35
- </pre>
36
- <p>
37
- then
38
- </p>
39
- <pre>
40
- URL( Hello, &quot;you&quot; ) # =&gt; /hello/you
41
- </pre>
42
- </li>
43
- </ul>
44
- <ul>
45
- <li>
46
- Public Instance method:
47
- <b>content_for( x ) {|| ...}</b>
48
- </li>
49
- <li>
50
- <p>
51
- Calling <a href="Helpers.html#M000013">content_for</a> stores a block of
52
- markup in an identifier.
53
- </p>
54
- </li>
55
- </ul>
56
- <ul>
57
- <li>
58
- Public Instance method:
59
- <b>json( d )</b>
60
- </li>
61
- <li>
62
- <p>
63
- Help you to return a JSON response
64
- </p>
65
- <pre>
66
- module Capcode
67
- class JsonResponse &lt; Route '/json/([^\/]*)/(.*)'
68
- def get( arg1, arg2 )
69
- json( { :1 =&gt; arg1, :2 =&gt; arg2 })
70
- end
71
- end
72
- end
73
- </pre>
74
- </li>
75
- </ul>
76
- <ul>
77
- <li>
78
- Public Instance method:
79
- <b>redirect( klass, *a )</b>
80
- </li>
81
- <li>
82
- <p>
83
- Send a <a href="Helpers.html#M000011">redirect</a> response
84
- </p>
85
- <pre>
86
- module Capcode
87
- class Hello &lt; Route '/hello/(.*)'
88
- def get( you )
89
- if you.nil?
90
- redirect( WhoAreYou )
91
- else
92
- ...
93
- end
94
- end
95
- end
96
- end
97
- </pre>
98
- </li>
99
- </ul>
100
- <ul>
101
- <li>
102
- Public Instance method:
103
- <b>render( h )</b>
104
- </li>
105
- <li>
106
- <p>
107
- Render a view
108
- </p>
109
- <p>
110
- <a href="Helpers.html#M000009">render</a>&#8216;s parameter can be a Hash
111
- or a string. Passing a string is equivalent to do
112
- </p>
113
- <pre>
114
- render( :text =&gt; string )
115
- </pre>
116
- <p>
117
- If you want to use a specific renderer, use one of this options :
118
- </p>
119
- <ul>
120
- <li>:markaby =&gt; :my_func : :my_func must be defined in <a
121
- href="Views.html">Capcode::Views</a>
122
-
123
- </li>
124
- <li>:erb =&gt; :my_erb_file : this suppose that&#8216;s my_erb_file.rhtml exist
125
- in erb_path
126
-
127
- </li>
128
- <li>:haml =&gt; :my_haml_file : this suppose that&#8216;s my_haml_file.rhtml
129
- exist in haml_path
130
-
131
- </li>
132
- <li>:text =&gt; &quot;my text&quot;
133
-
134
- </li>
135
- <li>:<a href="Helpers.html#M000010">json</a> =&gt; MyObject : this suppose
136
- that&#8216;s MyObject respond to .to_json
137
-
138
- </li>
139
- </ul>
140
- <p>
141
- If you want to use a specific layout, you can specify it with option
142
- </p>
143
- <pre>
144
- :layout
145
- </pre>
146
- </li>
147
- </ul>
148
-
149
-
150
-
151
- </div>
152
-
153
- <!-- BEGIN: BODY -->