nitro 0.20.0 → 0.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGELOG +752 -543
- data/INSTALL +38 -38
- data/README +264 -225
- data/Rakefile +48 -49
- data/bin/nitro +3 -3
- data/bin/nitrogen +6 -6
- data/doc/AUTHORS +10 -10
- data/doc/CHANGELOG.1 +1939 -1939
- data/doc/CHANGELOG.2 +954 -954
- data/doc/LICENSE +3 -3
- data/doc/MIGRATION +28 -0
- data/doc/RELEASES +814 -643
- data/doc/config.txt +5 -5
- data/install.rb +7 -17
- data/lib/nitro.rb +38 -9
- data/lib/nitro/adapter/cgi.rb +311 -312
- data/lib/nitro/adapter/fastcgi.rb +18 -25
- data/lib/nitro/adapter/webrick.rb +128 -137
- data/lib/nitro/adapter/wee.rb +51 -0
- data/lib/nitro/caching.rb +20 -20
- data/lib/nitro/caching/actions.rb +43 -43
- data/lib/nitro/caching/fragments.rb +46 -46
- data/lib/nitro/caching/invalidation.rb +11 -11
- data/lib/nitro/caching/output.rb +65 -65
- data/lib/nitro/caching/stores.rb +67 -67
- data/lib/nitro/compiler.rb +262 -0
- data/lib/nitro/compiler/elements.rb +0 -0
- data/lib/nitro/compiler/errors.rb +65 -0
- data/lib/nitro/compiler/localization.rb +25 -0
- data/lib/nitro/compiler/markup.rb +19 -0
- data/lib/nitro/compiler/shaders.rb +206 -0
- data/lib/nitro/compiler/squeeze.rb +20 -0
- data/lib/nitro/compiler/xslt.rb +61 -0
- data/lib/nitro/context.rb +87 -88
- data/lib/nitro/controller.rb +151 -158
- data/lib/nitro/cookie.rb +34 -34
- data/lib/nitro/dispatcher.rb +195 -186
- data/lib/nitro/element.rb +132 -126
- data/lib/nitro/element/java_script.rb +6 -6
- data/lib/nitro/flash.rb +66 -66
- data/lib/nitro/mail.rb +192 -192
- data/lib/nitro/mixin/buffer.rb +66 -0
- data/lib/nitro/mixin/debug.rb +16 -16
- data/lib/nitro/mixin/form.rb +88 -0
- data/lib/nitro/mixin/helper.rb +2 -2
- data/lib/nitro/mixin/javascript.rb +108 -108
- data/lib/nitro/mixin/markup.rb +144 -0
- data/lib/nitro/mixin/pager.rb +202 -202
- data/lib/nitro/mixin/rss.rb +67 -0
- data/lib/nitro/mixin/table.rb +63 -0
- data/lib/nitro/mixin/xhtml.rb +75 -0
- data/lib/nitro/mixin/xml.rb +124 -0
- data/lib/nitro/render.rb +183 -359
- data/lib/nitro/request.rb +140 -140
- data/lib/nitro/response.rb +27 -27
- data/lib/nitro/routing.rb +21 -21
- data/lib/nitro/scaffold.rb +124 -118
- data/lib/nitro/server.rb +117 -80
- data/lib/nitro/server/runner.rb +341 -0
- data/lib/nitro/service.rb +12 -12
- data/lib/nitro/service/xmlrpc.rb +22 -22
- data/lib/nitro/session.rb +122 -120
- data/lib/nitro/session/drb.rb +9 -9
- data/lib/nitro/session/drbserver.rb +34 -34
- data/lib/nitro/template.rb +171 -155
- data/lib/nitro/testing/assertions.rb +90 -90
- data/lib/nitro/testing/context.rb +16 -16
- data/lib/nitro/testing/testcase.rb +34 -34
- data/proto/conf/lhttpd.conf +9 -9
- data/proto/public/error.xhtml +75 -75
- data/proto/public/index.xhtml +18 -18
- data/proto/public/js/behaviour.js +65 -65
- data/proto/public/js/controls.js +1 -1
- data/proto/public/js/prototype.js +3 -3
- data/proto/public/settings.xhtml +61 -61
- data/proto/run.rb +1 -5
- data/test/nitro/adapter/raw_post1.bin +0 -0
- data/test/nitro/adapter/tc_cgi.rb +57 -57
- data/test/nitro/adapter/tc_webrick.rb +4 -4
- data/test/nitro/mixin/tc_pager.rb +25 -25
- data/test/nitro/mixin/tc_rss.rb +24 -0
- data/test/nitro/mixin/tc_table.rb +31 -0
- data/test/nitro/mixin/tc_xhtml.rb +13 -0
- data/test/nitro/tc_caching.rb +10 -10
- data/test/nitro/tc_context.rb +8 -8
- data/test/nitro/tc_controller.rb +48 -48
- data/test/nitro/tc_cookie.rb +6 -6
- data/test/nitro/tc_dispatcher.rb +64 -64
- data/test/nitro/tc_element.rb +27 -27
- data/test/nitro/tc_flash.rb +31 -31
- data/test/nitro/tc_mail.rb +63 -63
- data/test/nitro/tc_server.rb +26 -26
- data/test/nitro/tc_session.rb +9 -9
- data/test/nitro/tc_template.rb +19 -19
- data/test/public/blog/list.xhtml +1 -1
- metadata +31 -37
- data/lib/nitro/buffering.rb +0 -45
- data/lib/nitro/builder/form.rb +0 -104
- data/lib/nitro/builder/rss.rb +0 -104
- data/lib/nitro/builder/table.rb +0 -80
- data/lib/nitro/builder/xhtml.rb +0 -132
- data/lib/nitro/builder/xml.rb +0 -131
- data/lib/nitro/conf.rb +0 -36
- data/lib/nitro/environment.rb +0 -21
- data/lib/nitro/errors.rb +0 -69
- data/lib/nitro/localization.rb +0 -153
- data/lib/nitro/markup.rb +0 -147
- data/lib/nitro/output.rb +0 -24
- data/lib/nitro/runner.rb +0 -348
- data/lib/nitro/shaders.rb +0 -206
- data/test/nitro/builder/tc_rss.rb +0 -23
- data/test/nitro/builder/tc_table.rb +0 -30
- data/test/nitro/builder/tc_xhtml.rb +0 -39
- data/test/nitro/builder/tc_xml.rb +0 -56
- data/test/nitro/tc_localization.rb +0 -49
data/test/nitro/tc_server.rb
CHANGED
|
@@ -5,31 +5,31 @@ require 'test/unit'
|
|
|
5
5
|
require 'nitro/server'
|
|
6
6
|
|
|
7
7
|
class TC_Server < Test::Unit::TestCase # :nodoc: all
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
include Nitro
|
|
9
|
+
|
|
10
|
+
class RootController
|
|
11
|
+
end
|
|
12
12
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
13
|
+
class UsersController
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
class TestController
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
class DeepController
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_all
|
|
23
|
+
srv = Server.new('test')
|
|
24
|
+
|
|
25
|
+
srv.root = RootController
|
|
26
|
+
srv.root.users = UsersController
|
|
27
|
+
srv.root.test = TestController
|
|
28
|
+
srv.root.really.really.deep = DeepController
|
|
29
|
+
|
|
30
|
+
assert_equal RootController, srv.map['/']
|
|
31
|
+
assert_equal UsersController, srv.map['/users']
|
|
32
|
+
assert_equal TestController, srv.map['/test']
|
|
33
|
+
assert_equal DeepController, srv.map['/really/really/deep']
|
|
34
|
+
end
|
|
35
35
|
end
|
data/test/nitro/tc_session.rb
CHANGED
|
@@ -6,15 +6,15 @@ require 'test/unit'
|
|
|
6
6
|
require 'nitro/session'
|
|
7
7
|
|
|
8
8
|
class TC_Session < Test::Unit::TestCase # :nodoc: all
|
|
9
|
-
|
|
9
|
+
include Nitro
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
def test_create_id
|
|
12
|
+
sid = Session.new.session_id
|
|
13
|
+
assert_not_equal sid, Session.new.session_id
|
|
14
|
+
assert_not_equal sid, Session.new.session_id
|
|
15
|
+
assert_not_equal sid, Session.new.session_id
|
|
16
|
+
assert_not_equal sid, Session.new.session_id
|
|
17
|
+
assert_not_equal sid, Session.new.session_id
|
|
18
|
+
end
|
|
19
19
|
|
|
20
20
|
end
|
data/test/nitro/tc_template.rb
CHANGED
|
@@ -6,27 +6,27 @@ require 'ostruct'
|
|
|
6
6
|
require 'nitro/template'
|
|
7
7
|
|
|
8
8
|
class TC_Template < Test::Unit::TestCase # :nodoc: all
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
9
|
+
include Nitro
|
|
10
|
+
|
|
11
|
+
def test_all
|
|
12
|
+
template = %q{
|
|
13
|
+
Hello #{user}
|
|
14
14
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
15
|
+
dont forget the following todo items:
|
|
16
|
+
|
|
17
|
+
<?r for item in items ?>
|
|
18
|
+
<li>#{item}</li>
|
|
19
|
+
<?r end ?>
|
|
20
|
+
}
|
|
21
21
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
user = 'gmosx'
|
|
23
|
+
items = %w{ nitro is really great }
|
|
24
|
+
out = ''
|
|
25
25
|
|
|
26
|
-
|
|
26
|
+
Template.process(template, :out, binding)
|
|
27
27
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
28
|
+
assert_match %r{\<li\>nitro\</li\>}, out
|
|
29
|
+
assert_match %r{\<li\>really\</li\>}, out
|
|
30
|
+
assert_match %r{Hello gmosx}, out
|
|
31
|
+
end
|
|
32
32
|
end
|
data/test/public/blog/list.xhtml
CHANGED
metadata
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
|
-
rubygems_version: 0.8.
|
|
2
|
+
rubygems_version: 0.8.11
|
|
3
3
|
specification_version: 1
|
|
4
4
|
name: nitro
|
|
5
5
|
version: !ruby/object:Gem::Version
|
|
6
|
-
version: 0.
|
|
7
|
-
date: 2005-07-
|
|
6
|
+
version: 0.21.0
|
|
7
|
+
date: 2005-07-25 00:00:00 +03:00
|
|
8
8
|
summary: Nitro Web Engine
|
|
9
9
|
require_paths:
|
|
10
10
|
- lib
|
|
11
11
|
email: gm@navel.gr
|
|
12
|
-
homepage: http://
|
|
12
|
+
homepage: http://www.nitrohq.com
|
|
13
13
|
rubyforge_project: nitro
|
|
14
14
|
description: "Nitro provides everything you need to develop real-world, scalable web
|
|
15
15
|
applications."
|
|
@@ -25,6 +25,8 @@ required_ruby_version: !ruby/object:Gem::Version::Requirement
|
|
|
25
25
|
version: 1.8.2
|
|
26
26
|
version:
|
|
27
27
|
platform: ruby
|
|
28
|
+
signing_key:
|
|
29
|
+
cert_chain:
|
|
28
30
|
authors:
|
|
29
31
|
- George Moschovitis
|
|
30
32
|
files:
|
|
@@ -54,6 +56,7 @@ files:
|
|
|
54
56
|
- doc/CHANGELOG.1
|
|
55
57
|
- doc/CHANGELOG.2
|
|
56
58
|
- doc/bugs.txt
|
|
59
|
+
- doc/MIGRATION
|
|
57
60
|
- proto/log
|
|
58
61
|
- proto/conf
|
|
59
62
|
- proto/doc
|
|
@@ -80,7 +83,7 @@ files:
|
|
|
80
83
|
- proto/public/js/effects.js
|
|
81
84
|
- lib/nitro
|
|
82
85
|
- lib/nitro.rb
|
|
83
|
-
- lib/nitro/
|
|
86
|
+
- lib/nitro/server
|
|
84
87
|
- lib/nitro/testing
|
|
85
88
|
- lib/nitro/session
|
|
86
89
|
- lib/nitro/adapter
|
|
@@ -91,41 +94,31 @@ files:
|
|
|
91
94
|
- lib/nitro/mail.rb
|
|
92
95
|
- lib/nitro/dispatcher.rb
|
|
93
96
|
- lib/nitro/context.rb
|
|
94
|
-
- lib/nitro/conf.rb
|
|
95
|
-
- lib/nitro/localization.rb
|
|
96
97
|
- lib/nitro/request.rb
|
|
97
98
|
- lib/nitro/mixin
|
|
98
99
|
- lib/nitro/caching.rb
|
|
99
|
-
- lib/nitro/
|
|
100
|
-
- lib/nitro/output.rb
|
|
101
|
-
- lib/nitro/buffering.rb
|
|
100
|
+
- lib/nitro/compiler
|
|
102
101
|
- lib/nitro/cookie.rb
|
|
103
102
|
- lib/nitro/testing.rb
|
|
104
103
|
- lib/nitro/render.rb
|
|
105
104
|
- lib/nitro/session.rb
|
|
106
105
|
- lib/nitro/routing.rb
|
|
107
|
-
- lib/nitro/environment.rb
|
|
108
|
-
- lib/nitro/shaders.rb
|
|
109
106
|
- lib/nitro/response.rb
|
|
110
|
-
- lib/nitro/errors.rb
|
|
111
|
-
- lib/nitro/runner.rb
|
|
112
107
|
- lib/nitro/template.rb
|
|
113
108
|
- lib/nitro/element.rb
|
|
114
109
|
- lib/nitro/service.rb
|
|
115
110
|
- lib/nitro/service
|
|
116
111
|
- lib/nitro/flash.rb
|
|
117
112
|
- lib/nitro/server.rb
|
|
118
|
-
- lib/nitro/
|
|
119
|
-
- lib/nitro/
|
|
120
|
-
- lib/nitro/builder/form.rb
|
|
121
|
-
- lib/nitro/builder/rss.rb
|
|
122
|
-
- lib/nitro/builder/table.rb
|
|
113
|
+
- lib/nitro/compiler.rb
|
|
114
|
+
- lib/nitro/server/runner.rb
|
|
123
115
|
- lib/nitro/testing/assertions.rb
|
|
124
116
|
- lib/nitro/testing/context.rb
|
|
125
117
|
- lib/nitro/testing/testcase.rb
|
|
126
118
|
- lib/nitro/session/drbserver.rb
|
|
127
119
|
- lib/nitro/session/drb.rb
|
|
128
120
|
- lib/nitro/session/memory.rb
|
|
121
|
+
- lib/nitro/adapter/wee.rb
|
|
129
122
|
- lib/nitro/adapter/fastcgi.rb
|
|
130
123
|
- lib/nitro/adapter/cgi.rb
|
|
131
124
|
- lib/nitro/adapter/webrick.rb
|
|
@@ -137,16 +130,28 @@ files:
|
|
|
137
130
|
- lib/nitro/element/java_script.rb
|
|
138
131
|
- lib/nitro/mixin/debug.rb
|
|
139
132
|
- lib/nitro/mixin/pager.rb
|
|
133
|
+
- lib/nitro/mixin/markup.rb
|
|
140
134
|
- lib/nitro/mixin/javascript.rb
|
|
141
135
|
- lib/nitro/mixin/helper.rb
|
|
136
|
+
- lib/nitro/mixin/form.rb
|
|
137
|
+
- lib/nitro/mixin/rss.rb
|
|
138
|
+
- lib/nitro/mixin/table.rb
|
|
139
|
+
- lib/nitro/mixin/xml.rb
|
|
140
|
+
- lib/nitro/mixin/xhtml.rb
|
|
141
|
+
- lib/nitro/mixin/buffer.rb
|
|
142
|
+
- lib/nitro/compiler/xslt.rb
|
|
143
|
+
- lib/nitro/compiler/elements.rb
|
|
144
|
+
- lib/nitro/compiler/localization.rb
|
|
145
|
+
- lib/nitro/compiler/errors.rb
|
|
146
|
+
- lib/nitro/compiler/squeeze.rb
|
|
147
|
+
- lib/nitro/compiler/shaders.rb
|
|
148
|
+
- lib/nitro/compiler/markup.rb
|
|
142
149
|
- lib/nitro/service/xmlrpc.rb
|
|
143
150
|
- test/nitro
|
|
144
151
|
- test/public
|
|
145
|
-
- test/nitro/builder
|
|
146
152
|
- test/nitro/mixin
|
|
147
153
|
- test/nitro/ui
|
|
148
154
|
- test/nitro/adapter
|
|
149
|
-
- test/nitro/tc_localization.rb
|
|
150
155
|
- test/nitro/tc_template.rb
|
|
151
156
|
- test/nitro/tc_mail.rb
|
|
152
157
|
- test/nitro/tc_controller.rb
|
|
@@ -158,11 +163,10 @@ files:
|
|
|
158
163
|
- test/nitro/tc_flash.rb
|
|
159
164
|
- test/nitro/tc_server.rb
|
|
160
165
|
- test/nitro/tc_cookie.rb
|
|
161
|
-
- test/nitro/builder/tc_rss.rb
|
|
162
|
-
- test/nitro/builder/tc_table.rb
|
|
163
|
-
- test/nitro/builder/tc_xhtml.rb
|
|
164
|
-
- test/nitro/builder/tc_xml.rb
|
|
165
166
|
- test/nitro/mixin/tc_pager.rb
|
|
167
|
+
- test/nitro/mixin/tc_rss.rb
|
|
168
|
+
- test/nitro/mixin/tc_table.rb
|
|
169
|
+
- test/nitro/mixin/tc_xhtml.rb
|
|
166
170
|
- test/nitro/adapter/raw_post1.bin
|
|
167
171
|
- test/nitro/adapter/tc_cgi.rb
|
|
168
172
|
- test/nitro/adapter/tc_webrick.rb
|
|
@@ -199,7 +203,7 @@ dependencies:
|
|
|
199
203
|
-
|
|
200
204
|
- "="
|
|
201
205
|
- !ruby/object:Gem::Version
|
|
202
|
-
version: 0.
|
|
206
|
+
version: 0.21.0
|
|
203
207
|
version:
|
|
204
208
|
- !ruby/object:Gem::Dependency
|
|
205
209
|
name: og
|
|
@@ -209,17 +213,7 @@ dependencies:
|
|
|
209
213
|
-
|
|
210
214
|
- "="
|
|
211
215
|
- !ruby/object:Gem::Version
|
|
212
|
-
version: 0.
|
|
213
|
-
version:
|
|
214
|
-
- !ruby/object:Gem::Dependency
|
|
215
|
-
name: facets
|
|
216
|
-
version_requirement:
|
|
217
|
-
version_requirements: !ruby/object:Gem::Version::Requirement
|
|
218
|
-
requirements:
|
|
219
|
-
-
|
|
220
|
-
- ">="
|
|
221
|
-
- !ruby/object:Gem::Version
|
|
222
|
-
version: 0.7.1
|
|
216
|
+
version: 0.21.0
|
|
223
217
|
version:
|
|
224
218
|
- !ruby/object:Gem::Dependency
|
|
225
219
|
name: ruby-breakpoint
|
data/lib/nitro/buffering.rb
DELETED
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
require 'glue/attribute'
|
|
2
|
-
|
|
3
|
-
require 'nitro/shaders'
|
|
4
|
-
|
|
5
|
-
module Nitro
|
|
6
|
-
|
|
7
|
-
# The output buffering mixin. Provides php-style output
|
|
8
|
-
# buffering functionality.
|
|
9
|
-
#--
|
|
10
|
-
# TODO: use better names but keep the ob_xxx php style methods
|
|
11
|
-
# as aliases.
|
|
12
|
-
#++
|
|
13
|
-
|
|
14
|
-
module OutputBuffering
|
|
15
|
-
# Output buffers stack, used for php-style nested output
|
|
16
|
-
# buffering.
|
|
17
|
-
|
|
18
|
-
attr :out_buffers
|
|
19
|
-
|
|
20
|
-
# Start (push) a new output buffer.
|
|
21
|
-
|
|
22
|
-
def ob_start
|
|
23
|
-
@out_buffers ||= []
|
|
24
|
-
@out_buffers.push(@out)
|
|
25
|
-
@out = ''
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
# End (pop) the current output buffer.
|
|
29
|
-
|
|
30
|
-
def ob_end
|
|
31
|
-
@out = @out_buffers.pop
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
# End (pop) the current output buffer and write to the parent.
|
|
35
|
-
|
|
36
|
-
def ob_write_end
|
|
37
|
-
nested_buffer = @out
|
|
38
|
-
@out = @out_buffers.pop
|
|
39
|
-
@out << nested_buffer
|
|
40
|
-
end
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
end
|
|
44
|
-
|
|
45
|
-
# * George Moschovitis <gm@navel.gr>
|
data/lib/nitro/builder/form.rb
DELETED
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
require 'glue/hash'
|
|
2
|
-
require 'nitro/markup'
|
|
3
|
-
|
|
4
|
-
module Nitro
|
|
5
|
-
|
|
6
|
-
# FormBuilder.
|
|
7
|
-
|
|
8
|
-
module FormBuilderMixin
|
|
9
|
-
|
|
10
|
-
# Render a standard form for the given managed object.
|
|
11
|
-
# If show_all is false then apply field filtering.
|
|
12
|
-
#
|
|
13
|
-
# Example:
|
|
14
|
-
#
|
|
15
|
-
# <p>
|
|
16
|
-
# <form name="test">
|
|
17
|
-
# #{o.build_form(entry)}
|
|
18
|
-
# </form>
|
|
19
|
-
# </p>
|
|
20
|
-
|
|
21
|
-
def build_form(obj, lc = nil, show_all = false)
|
|
22
|
-
str = '<dl>'
|
|
23
|
-
|
|
24
|
-
for p in obj.class.properties
|
|
25
|
-
unless show_all
|
|
26
|
-
next if :oid == p.symbol
|
|
27
|
-
end
|
|
28
|
-
|
|
29
|
-
if p.klass.ancestors.include?(Integer) or
|
|
30
|
-
p.klass.ancestors.include?(Float)
|
|
31
|
-
str << %{
|
|
32
|
-
<dt><label for="#{p.symbol}">#{p.symbol}</label></dt>
|
|
33
|
-
<dd>
|
|
34
|
-
<input type="text" id="#{p.symbol}" name="#{p.symbol}" value="#{obj.send(p.symbol)}" />
|
|
35
|
-
</dd>
|
|
36
|
-
}
|
|
37
|
-
elsif p.klass.ancestors.include?(String)
|
|
38
|
-
str << %{
|
|
39
|
-
<dt><label for="#{p.symbol}">#{p.symbol}</label></dt>
|
|
40
|
-
<dd>
|
|
41
|
-
}
|
|
42
|
-
if p.meta[:markup]
|
|
43
|
-
val = N::Markup.compact(obj.send(p.symbol))
|
|
44
|
-
else
|
|
45
|
-
val = obj.send(p.symbol)
|
|
46
|
-
end
|
|
47
|
-
if :textarea == p.meta[:ui]
|
|
48
|
-
str << %{
|
|
49
|
-
<textarea id="#{p.symbol}" name="#{p.symbol}">#{val}</textarea>
|
|
50
|
-
}
|
|
51
|
-
else
|
|
52
|
-
str << %{
|
|
53
|
-
<input type="text" id="#{p.symbol}" name="#{p.symbol}" value="#{val}" />
|
|
54
|
-
}
|
|
55
|
-
end
|
|
56
|
-
str << %{
|
|
57
|
-
</dd>
|
|
58
|
-
}
|
|
59
|
-
elsif p.klass.ancestors.include?(TrueClass)
|
|
60
|
-
str << %{
|
|
61
|
-
<dt><label for="#{p.symbol}">#{p.symbol}</label></dt>
|
|
62
|
-
<dd>
|
|
63
|
-
<input type="checkbox" id="#{p.symbol}" name="#{p.symbol}" />
|
|
64
|
-
</dd>
|
|
65
|
-
}
|
|
66
|
-
elsif p.klass.ancestors.include?(Time)
|
|
67
|
-
str << %{
|
|
68
|
-
<dt><label for="#{p.symbol}">#{p.symbol}</label></dt>
|
|
69
|
-
<dd>
|
|
70
|
-
<input type="text" id="#{p.symbol}" name="#{p.symbol}" value="#{obj.send(p.symbol)}" />
|
|
71
|
-
</dd>
|
|
72
|
-
}
|
|
73
|
-
=begin
|
|
74
|
-
elsif p.klass.ancestors.include?(Date)
|
|
75
|
-
return %|#\{@#{p.symbol} ? "'#\{Og::Utils.date(@#{p.symbol})\}'" : 'NULL'\}|
|
|
76
|
-
else
|
|
77
|
-
return %|#\{@#{p.symbol} ? "'#\{Og::Utils.escape(@#{p.symbol}.to_yaml)\}'" : "''"\}|
|
|
78
|
-
=end
|
|
79
|
-
end
|
|
80
|
-
end
|
|
81
|
-
|
|
82
|
-
str << %{
|
|
83
|
-
</dl>}
|
|
84
|
-
|
|
85
|
-
self << str
|
|
86
|
-
end
|
|
87
|
-
|
|
88
|
-
end
|
|
89
|
-
|
|
90
|
-
# Abstract class for the FormBuilderMixin.
|
|
91
|
-
|
|
92
|
-
class FormBuilder
|
|
93
|
-
include FormBuilderMixin
|
|
94
|
-
|
|
95
|
-
class << self
|
|
96
|
-
def build(obj, lc = nil, show_all = false)
|
|
97
|
-
FormBuilder.new.build_form(obj, lc, show_all)
|
|
98
|
-
end
|
|
99
|
-
end
|
|
100
|
-
end
|
|
101
|
-
|
|
102
|
-
end
|
|
103
|
-
|
|
104
|
-
# * George Moschovitis
|