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.
Files changed (115) hide show
  1. data/CHANGELOG +752 -543
  2. data/INSTALL +38 -38
  3. data/README +264 -225
  4. data/Rakefile +48 -49
  5. data/bin/nitro +3 -3
  6. data/bin/nitrogen +6 -6
  7. data/doc/AUTHORS +10 -10
  8. data/doc/CHANGELOG.1 +1939 -1939
  9. data/doc/CHANGELOG.2 +954 -954
  10. data/doc/LICENSE +3 -3
  11. data/doc/MIGRATION +28 -0
  12. data/doc/RELEASES +814 -643
  13. data/doc/config.txt +5 -5
  14. data/install.rb +7 -17
  15. data/lib/nitro.rb +38 -9
  16. data/lib/nitro/adapter/cgi.rb +311 -312
  17. data/lib/nitro/adapter/fastcgi.rb +18 -25
  18. data/lib/nitro/adapter/webrick.rb +128 -137
  19. data/lib/nitro/adapter/wee.rb +51 -0
  20. data/lib/nitro/caching.rb +20 -20
  21. data/lib/nitro/caching/actions.rb +43 -43
  22. data/lib/nitro/caching/fragments.rb +46 -46
  23. data/lib/nitro/caching/invalidation.rb +11 -11
  24. data/lib/nitro/caching/output.rb +65 -65
  25. data/lib/nitro/caching/stores.rb +67 -67
  26. data/lib/nitro/compiler.rb +262 -0
  27. data/lib/nitro/compiler/elements.rb +0 -0
  28. data/lib/nitro/compiler/errors.rb +65 -0
  29. data/lib/nitro/compiler/localization.rb +25 -0
  30. data/lib/nitro/compiler/markup.rb +19 -0
  31. data/lib/nitro/compiler/shaders.rb +206 -0
  32. data/lib/nitro/compiler/squeeze.rb +20 -0
  33. data/lib/nitro/compiler/xslt.rb +61 -0
  34. data/lib/nitro/context.rb +87 -88
  35. data/lib/nitro/controller.rb +151 -158
  36. data/lib/nitro/cookie.rb +34 -34
  37. data/lib/nitro/dispatcher.rb +195 -186
  38. data/lib/nitro/element.rb +132 -126
  39. data/lib/nitro/element/java_script.rb +6 -6
  40. data/lib/nitro/flash.rb +66 -66
  41. data/lib/nitro/mail.rb +192 -192
  42. data/lib/nitro/mixin/buffer.rb +66 -0
  43. data/lib/nitro/mixin/debug.rb +16 -16
  44. data/lib/nitro/mixin/form.rb +88 -0
  45. data/lib/nitro/mixin/helper.rb +2 -2
  46. data/lib/nitro/mixin/javascript.rb +108 -108
  47. data/lib/nitro/mixin/markup.rb +144 -0
  48. data/lib/nitro/mixin/pager.rb +202 -202
  49. data/lib/nitro/mixin/rss.rb +67 -0
  50. data/lib/nitro/mixin/table.rb +63 -0
  51. data/lib/nitro/mixin/xhtml.rb +75 -0
  52. data/lib/nitro/mixin/xml.rb +124 -0
  53. data/lib/nitro/render.rb +183 -359
  54. data/lib/nitro/request.rb +140 -140
  55. data/lib/nitro/response.rb +27 -27
  56. data/lib/nitro/routing.rb +21 -21
  57. data/lib/nitro/scaffold.rb +124 -118
  58. data/lib/nitro/server.rb +117 -80
  59. data/lib/nitro/server/runner.rb +341 -0
  60. data/lib/nitro/service.rb +12 -12
  61. data/lib/nitro/service/xmlrpc.rb +22 -22
  62. data/lib/nitro/session.rb +122 -120
  63. data/lib/nitro/session/drb.rb +9 -9
  64. data/lib/nitro/session/drbserver.rb +34 -34
  65. data/lib/nitro/template.rb +171 -155
  66. data/lib/nitro/testing/assertions.rb +90 -90
  67. data/lib/nitro/testing/context.rb +16 -16
  68. data/lib/nitro/testing/testcase.rb +34 -34
  69. data/proto/conf/lhttpd.conf +9 -9
  70. data/proto/public/error.xhtml +75 -75
  71. data/proto/public/index.xhtml +18 -18
  72. data/proto/public/js/behaviour.js +65 -65
  73. data/proto/public/js/controls.js +1 -1
  74. data/proto/public/js/prototype.js +3 -3
  75. data/proto/public/settings.xhtml +61 -61
  76. data/proto/run.rb +1 -5
  77. data/test/nitro/adapter/raw_post1.bin +0 -0
  78. data/test/nitro/adapter/tc_cgi.rb +57 -57
  79. data/test/nitro/adapter/tc_webrick.rb +4 -4
  80. data/test/nitro/mixin/tc_pager.rb +25 -25
  81. data/test/nitro/mixin/tc_rss.rb +24 -0
  82. data/test/nitro/mixin/tc_table.rb +31 -0
  83. data/test/nitro/mixin/tc_xhtml.rb +13 -0
  84. data/test/nitro/tc_caching.rb +10 -10
  85. data/test/nitro/tc_context.rb +8 -8
  86. data/test/nitro/tc_controller.rb +48 -48
  87. data/test/nitro/tc_cookie.rb +6 -6
  88. data/test/nitro/tc_dispatcher.rb +64 -64
  89. data/test/nitro/tc_element.rb +27 -27
  90. data/test/nitro/tc_flash.rb +31 -31
  91. data/test/nitro/tc_mail.rb +63 -63
  92. data/test/nitro/tc_server.rb +26 -26
  93. data/test/nitro/tc_session.rb +9 -9
  94. data/test/nitro/tc_template.rb +19 -19
  95. data/test/public/blog/list.xhtml +1 -1
  96. metadata +31 -37
  97. data/lib/nitro/buffering.rb +0 -45
  98. data/lib/nitro/builder/form.rb +0 -104
  99. data/lib/nitro/builder/rss.rb +0 -104
  100. data/lib/nitro/builder/table.rb +0 -80
  101. data/lib/nitro/builder/xhtml.rb +0 -132
  102. data/lib/nitro/builder/xml.rb +0 -131
  103. data/lib/nitro/conf.rb +0 -36
  104. data/lib/nitro/environment.rb +0 -21
  105. data/lib/nitro/errors.rb +0 -69
  106. data/lib/nitro/localization.rb +0 -153
  107. data/lib/nitro/markup.rb +0 -147
  108. data/lib/nitro/output.rb +0 -24
  109. data/lib/nitro/runner.rb +0 -348
  110. data/lib/nitro/shaders.rb +0 -206
  111. data/test/nitro/builder/tc_rss.rb +0 -23
  112. data/test/nitro/builder/tc_table.rb +0 -30
  113. data/test/nitro/builder/tc_xhtml.rb +0 -39
  114. data/test/nitro/builder/tc_xml.rb +0 -56
  115. data/test/nitro/tc_localization.rb +0 -49
@@ -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
- include Nitro
9
-
10
- class RootController
11
- end
8
+ include Nitro
9
+
10
+ class RootController
11
+ end
12
12
 
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
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
@@ -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
- include Nitro
9
+ include Nitro
10
10
 
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
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
@@ -6,27 +6,27 @@ require 'ostruct'
6
6
  require 'nitro/template'
7
7
 
8
8
  class TC_Template < Test::Unit::TestCase # :nodoc: all
9
- include Nitro
10
-
11
- def test_all
12
- template = %q{
13
- Hello #{user}
9
+ include Nitro
10
+
11
+ def test_all
12
+ template = %q{
13
+ Hello #{user}
14
14
 
15
- dont forget the following todo items:
16
-
17
- <?r for item in items ?>
18
- <li>#{item}</li>
19
- <?r end ?>
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
- user = 'gmosx'
23
- items = %w{ nitro is really great }
24
- out = ''
22
+ user = 'gmosx'
23
+ items = %w{ nitro is really great }
24
+ out = ''
25
25
 
26
- Template.process(template, :out, binding)
26
+ Template.process(template, :out, binding)
27
27
 
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
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
@@ -1,5 +1,5 @@
1
1
  <html>
2
- <b>Test</b>
2
+ <b>Test</b>
3
3
 
4
4
  <?r @tflag = true ?>
5
5
 
metadata CHANGED
@@ -1,15 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
- rubygems_version: 0.8.10
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.20.0
7
- date: 2005-07-12
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://nitro.rubyforge.org
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/builder
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/markup.rb
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/builder/xhtml.rb
119
- - lib/nitro/builder/xml.rb
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.20.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.20.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
@@ -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>
@@ -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