nitro 0.22.0 → 0.23.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 (54) hide show
  1. data/CHANGELOG +109 -1250
  2. data/INSTALL +3 -2
  3. data/README +5 -4
  4. data/Rakefile +1 -1
  5. data/bin/nitrogen +1 -1
  6. data/doc/AUTHORS +20 -6
  7. data/doc/CHANGELOG.3 +1314 -0
  8. data/doc/RELEASES +90 -0
  9. data/lib/nitro.rb +6 -17
  10. data/lib/nitro/adapter/cgi.rb +11 -0
  11. data/lib/nitro/adapter/webrick.rb +7 -1
  12. data/lib/nitro/caching/stores.rb +4 -6
  13. data/lib/nitro/compiler.rb +1 -1
  14. data/lib/nitro/compiler/errors.rb +1 -1
  15. data/lib/nitro/context.rb +11 -4
  16. data/lib/nitro/controller.rb +0 -3
  17. data/lib/nitro/cookie.rb +4 -3
  18. data/lib/nitro/dispatcher.rb +7 -1
  19. data/lib/nitro/dispatcher/nice.rb +6 -1
  20. data/lib/nitro/element.rb +2 -2
  21. data/lib/nitro/mixin/benchmark.rb +16 -0
  22. data/lib/nitro/mixin/form.rb +171 -55
  23. data/lib/nitro/mixin/rss.rb +1 -1
  24. data/lib/nitro/mixin/xhtml.rb +91 -4
  25. data/lib/nitro/render.rb +25 -6
  26. data/lib/nitro/request.rb +13 -3
  27. data/lib/nitro/scaffold.rb +91 -68
  28. data/lib/nitro/scaffold/relations.rb +54 -0
  29. data/lib/nitro/server.rb +8 -5
  30. data/lib/nitro/server/runner.rb +4 -3
  31. data/lib/nitro/service.rb +3 -1
  32. data/lib/nitro/service/xmlrpc.rb +1 -1
  33. data/lib/nitro/session.rb +69 -51
  34. data/lib/nitro/session/drb.rb +5 -7
  35. data/lib/nitro/session/drbserver.rb +4 -6
  36. data/lib/nitro/session/memory.rb +4 -6
  37. data/lib/part/admin.rb +6 -0
  38. data/lib/part/admin/controller.rb +24 -0
  39. data/lib/part/admin/skin.rb +21 -0
  40. data/lib/part/admin/template/index.xhtml +9 -0
  41. data/proto/public/js/cookies.js +122 -0
  42. data/proto/public/scaffold/edit.xhtml +4 -0
  43. data/proto/public/scaffold/form.xhtml +7 -0
  44. data/proto/public/scaffold/list.xhtml +15 -0
  45. data/proto/public/scaffold/new.xhtml +4 -0
  46. data/proto/public/scaffold/view.xhtml +0 -0
  47. data/proto/script/benchmark +19 -0
  48. data/test/nitro/adapter/tc_cgi.rb +32 -2
  49. data/test/nitro/mixin/tc_xhtml.rb +6 -0
  50. data/test/nitro/tc_dispatcher.rb +0 -17
  51. data/test/nitro/tc_render.rb +58 -0
  52. data/test/nitro/tc_server.rb +2 -0
  53. data/test/nitro/tc_session.rb +16 -0
  54. metadata +104 -85
@@ -0,0 +1,122 @@
1
+ // From Typo (http://www.leetsoft.com)
2
+
3
+ /**
4
+ * Sets a Cookie with the given name and value.
5
+ *
6
+ * name Name of the cookie
7
+ * value Value of the cookie
8
+ * [expires] Expiration date of the cookie (default: end of current session)
9
+ * [path] Path where the cookie is valid (default: path of calling document)
10
+ * [domain] Domain where the cookie is valid
11
+ * (default: domain of calling document)
12
+ * [secure] Boolean value indicating if the cookie transmission requires a
13
+ * secure transmission
14
+ */
15
+ function setCookie(name, value, expires, path, domain, secure) {
16
+ document.cookie= name + "=" + escape(value) +
17
+ ((expires) ? "; expires=" + expires.toGMTString() : "") +
18
+ ((path) ? "; path=" + path : "") +
19
+ ((domain) ? "; domain=" + domain : "") +
20
+ ((secure) ? "; secure" : "");
21
+ }
22
+
23
+ /**
24
+ * Gets the value of the specified cookie.
25
+ *
26
+ * name Name of the desired cookie.
27
+ *
28
+ * Returns a string containing value of specified cookie,
29
+ * or null if cookie does not exist.
30
+ */
31
+ function getCookie(name) {
32
+ var dc = document.cookie;
33
+ var prefix = name + "=";
34
+ var begin = dc.indexOf("; " + prefix);
35
+ if (begin == -1) {
36
+ begin = dc.indexOf(prefix);
37
+ if (begin != 0) return null;
38
+ } else {
39
+ begin += 2;
40
+ }
41
+ var end = document.cookie.indexOf(";", begin);
42
+ if (end == -1) {
43
+ end = dc.length;
44
+ }
45
+ return unescape(dc.substring(begin + prefix.length, end));
46
+ }
47
+
48
+ /**
49
+ * Deletes the specified cookie.
50
+ *
51
+ * name name of the cookie
52
+ * [path] path of the cookie (must be same as path used to create cookie)
53
+ * [domain] domain of the cookie (must be same as domain used to create cookie)
54
+ */
55
+ function deleteCookie(name, path, domain) {
56
+ if (getCookie(name)) {
57
+ document.cookie = name + "=" +
58
+ ((path) ? "; path=" + path : "") +
59
+ ((domain) ? "; domain=" + domain : "") +
60
+ "; expires=Thu, 01-Jan-70 00:00:01 GMT";
61
+ }
62
+ }
63
+ /**
64
+ * Sets a Cookie with the given name and value.
65
+ *
66
+ * name Name of the cookie
67
+ * value Value of the cookie
68
+ * [expires] Expiration date of the cookie (default: end of current session)
69
+ * [path] Path where the cookie is valid (default: path of calling document)
70
+ * [domain] Domain where the cookie is valid
71
+ * (default: domain of calling document)
72
+ * [secure] Boolean value indicating if the cookie transmission requires a
73
+ * secure transmission
74
+ */
75
+ function setCookie(name, value, expires, path, domain, secure) {
76
+ document.cookie= name + "=" + escape(value) +
77
+ ((expires) ? "; expires=" + expires.toGMTString() : "") +
78
+ ((path) ? "; path=" + path : "") +
79
+ ((domain) ? "; domain=" + domain : "") +
80
+ ((secure) ? "; secure" : "");
81
+ }
82
+
83
+ /**
84
+ * Gets the value of the specified cookie.
85
+ *
86
+ * name Name of the desired cookie.
87
+ *
88
+ * Returns a string containing value of specified cookie,
89
+ * or null if cookie does not exist.
90
+ */
91
+ function getCookie(name) {
92
+ var dc = document.cookie;
93
+ var prefix = name + "=";
94
+ var begin = dc.indexOf("; " + prefix);
95
+ if (begin == -1) {
96
+ begin = dc.indexOf(prefix);
97
+ if (begin != 0) return null;
98
+ } else {
99
+ begin += 2;
100
+ }
101
+ var end = document.cookie.indexOf(";", begin);
102
+ if (end == -1) {
103
+ end = dc.length;
104
+ }
105
+ return unescape(dc.substring(begin + prefix.length, end)).split("+").join(" ");
106
+ }
107
+
108
+ /**
109
+ * Deletes the specified cookie.
110
+ *
111
+ * name name of the cookie
112
+ * [path] path of the cookie (must be same as path used to create cookie)
113
+ * [domain] domain of the cookie (must be same as domain used to create cookie)
114
+ */
115
+ function deleteCookie(name, path, domain) {
116
+ if (getCookie(name)) {
117
+ document.cookie = name + "=" +
118
+ ((path) ? "; path=" + path : "") +
119
+ ((domain) ? "; domain=" + domain : "") +
120
+ "; expires=Thu, 01-Jan-70 00:00:01 GMT";
121
+ }
122
+ }
@@ -0,0 +1,4 @@
1
+ <SystemPage name="Edit %name%">
2
+ <h2><a href="#@base/%name_plural%">List of %name_plural%</a></h2>
3
+ #{form_for(@%name%)}
4
+ </SystemPage>
@@ -0,0 +1,7 @@
1
+ <SystemPage name="Edit %name%">
2
+ <h2><a href="#@base/%name_plural%">List of %name_plural%</a></h2>
3
+ <?r if errors = session[:ERRORS] ?>
4
+ <span class="errors">ERRORS</span>
5
+ <?r end ?>
6
+ #{form_for(@%name%)}
7
+ </SystemPage>
@@ -0,0 +1,15 @@
1
+ <SystemPage name="List of %list_name%">
2
+ <h2><a href="#@base/new_%name%">New %name%</a></h2>
3
+ <table>
4
+ <?r for obj in @%list_name% ?>
5
+ <tr>
6
+ <td width="100%">#{obj.to_s}</td>
7
+ <?r if obj.respond_to?(:update_time) ?>
8
+ <td nowrap="1">#{obj.update_time.stamp(:db)}</td>
9
+ <?r end ?>
10
+ <td><a href="#@base/edit_%name%/#{obj.oid}">edit</a></td>
11
+ <td><a href="#@base/delete_%name%/#{obj.oid}">del</a></td>
12
+ </tr>
13
+ <?r end ?>
14
+ </table>
15
+ </SystemPage>
@@ -0,0 +1,4 @@
1
+ <SystemPage name="Edit %name%">
2
+ <h2><a href="#@base/%name_plural%">List of %name_plural%</a></h2>
3
+ #{form_for(@%name%)}
4
+ </SystemPage>
File without changes
@@ -0,0 +1,19 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ if ARGV.empty?
4
+ puts "Usage: benchmark times 'Article.expensive_method' 'Article.another_expensive_method' ..."
5
+ exit
6
+ end
7
+
8
+ require File.dirname(__FILE__) + '/../config/environment'
9
+ require 'benchmark'
10
+ include Benchmark
11
+
12
+ # Don't include compilation in the benchmark
13
+ ARGV[1..-1].each { |expression| eval(expression) }
14
+
15
+ bm(6) do |x|
16
+ ARGV[1..-1].each_with_index do |expression, idx|
17
+ x.report("##{idx + 1}") { ARGV[0].to_i.times { eval(expression) } }
18
+ end
19
+ end
@@ -1,5 +1,7 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), '..', '..', '..', 'lib')
2
2
 
3
+ require 'nano/object/assign_with'
4
+
3
5
  require 'socket'
4
6
  require 'ostruct'
5
7
  require 'test/unit'
@@ -7,9 +9,14 @@ require 'test/unit'
7
9
  require 'nitro/cookie'
8
10
  require 'nitro/adapter/cgi'
9
11
 
10
- class TC_AdaptersCgi < Test::Unit::TestCase # :nodoc: all
12
+ class TestAdapterCgi < Test::Unit::TestCase # :nodoc: all
11
13
  include Nitro
12
-
14
+
15
+ class User
16
+ attr_accessor :name
17
+ attr_accessor :password
18
+ end
19
+
13
20
  def test_parse_query_parameters
14
21
  qs = 'name=tml;id=12354'
15
22
  params = CgiUtils.parse_query_string(qs)
@@ -30,6 +37,29 @@ class TC_AdaptersCgi < Test::Unit::TestCase # :nodoc: all
30
37
  arr = params['arr']
31
38
  assert_equal Array, arr.class
32
39
  assert_equal 3, arr.size
40
+
41
+ qs = 'other=1;user.name=gmosx;user.password=hello'
42
+ params = CgiUtils.parse_query_string(qs)
43
+ assert_equal 2, params.size
44
+ u = params['user']
45
+ assert_equal Hash, u.class
46
+ assert_equal 'gmosx', u['name']
47
+ assert_equal 'hello', u['password']
48
+
49
+ user = User.new
50
+ user.assign_with(params['user'])
51
+ assert_equal 'gmosx', user.name
52
+ assert_equal 'hello', user.password
53
+
54
+ # Ruby/Scriptaculous compatibility.
55
+
56
+ qs = 'other=1;user[name]=gmosx;user[password]=hello'
57
+ params = CgiUtils.parse_query_string(qs)
58
+ assert_equal 2, params.size
59
+ u = params['user']
60
+ assert_equal Hash, u.class
61
+ assert_equal 'gmosx', u['name']
62
+ assert_equal 'hello', u['password']
33
63
  end
34
64
 
35
65
  def test_parse_cookies
@@ -9,5 +9,11 @@ class TC_XhtmlMixin < Test::Unit::TestCase # :nodoc: all
9
9
 
10
10
  def test_all
11
11
  end
12
+
13
+ def test_popup
14
+ res = popup :text => 'Pop', :url => 'add-comment', :scrollbars => true
15
+ exp = %{<a href="#" onclick="javascript: var pwl = (screen.width - 320) / 2; var pwt = (screen.height - 240) / 2; window.open('add-comment', 'Popup', 'width=320,height=240,top='+pwt+',left='+pwl+', resizable=noscrollbars=yes'); return false;"">Pop</a>}
16
+ assert_equal exp, res
17
+ end
12
18
 
13
19
  end
@@ -61,23 +61,6 @@ class TC_Dispatcher < Test::Unit::TestCase # :nodoc: all
61
61
  klass, action = @d.dispatch('/')
62
62
  assert_equal MainController, klass
63
63
  assert_equal 'index_action', action
64
-
65
- =begin
66
- # gmosx: this functionality is deprecated. Use multiple
67
- # controller to define multiple apis.
68
-
69
- # multi-api dispatcher.
70
-
71
- # no xml prefix, use xhtml api.
72
- klass, action = @dxml.dispatch('/blog/list')
73
- assert_equal BlogController, klass
74
- assert_equal 'list_action', action
75
-
76
- # xml prefix, use xml api.
77
- klass, action = @dxml.dispatch('/xml:blog/list')
78
- assert_equal BlogController, klass
79
- assert_equal 'list_action', action
80
- =end
81
64
  end
82
65
 
83
66
  end
@@ -0,0 +1,58 @@
1
+ $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2
+
3
+ require 'test/unit'
4
+
5
+ require 'nitro'
6
+ require 'nitro/render'
7
+ require 'glue/mock'
8
+
9
+ class TestRender < Test::Unit::TestCase # :nodoc: all
10
+ include Nitro
11
+
12
+ class ContextMock < Mock
13
+ mock :response_headers, {}
14
+ mock :host_url, 'http://www.nitrohq.com'
15
+ end
16
+
17
+ class TestController
18
+ include Nitro::Render
19
+ end
20
+
21
+ def setup
22
+ ctx = ContextMock.new
23
+ @controller = TestController.new(ContextMock.new, '/base')
24
+ end
25
+
26
+ def teardown
27
+ @controller = nil
28
+ end
29
+
30
+ def test_redirect
31
+ # relative url, the controller base_url is prepended
32
+ redirect 'hello'
33
+ assert_equal 'http://www.nitrohq.com/base/hello', @controller.context.response_headers['location']
34
+
35
+ # absolute url, use as is.
36
+ redirect '/main'
37
+ assert_equal 'http://www.nitrohq.com/main', @controller.context.response_headers['location']
38
+
39
+ # http://, use as is.
40
+ redirect 'http://www.gmosx.com/info'
41
+ assert_equal 'http://www.gmosx.com/info', @controller.context.response_headers['location']
42
+
43
+ # bug.
44
+ redirect 'edit/Home'
45
+ assert_equal 'http://www.nitrohq.com/base/edit/Home', @controller.context.response_headers['location']
46
+
47
+ @controller.base = nil
48
+ redirect 'edit/Home'
49
+ assert_equal 'http://www.nitrohq.com/edit/Home', @controller.context.response_headers['location']
50
+ end
51
+
52
+ def redirect(*args)
53
+ begin
54
+ @controller.send :redirect, *args
55
+ rescue Nitro::RenderExit
56
+ end
57
+ end
58
+ end
@@ -1,5 +1,7 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2
2
 
3
+ $NITRO_NO_ENVIRONMENT = true
4
+
3
5
  require 'test/unit'
4
6
 
5
7
  require 'nitro/server'
@@ -1,5 +1,7 @@
1
1
  $:.unshift File.join(File.dirname(__FILE__), '..', '..', 'lib')
2
2
 
3
+ $NITRO_NO_ENVIRONMENT = true
4
+
3
5
  require 'ostruct'
4
6
  require 'test/unit'
5
7
 
@@ -17,4 +19,18 @@ class TC_Session < Test::Unit::TestCase # :nodoc: all
17
19
  assert_not_equal sid, Session.new.session_id
18
20
  end
19
21
 
22
+ def test_gc
23
+ Session.keepalive = 2
24
+
25
+ Session.store[1] = Session.new
26
+ Session.store[2] = Session.new
27
+
28
+ assert_equal 2, Session.store.values.size
29
+ Session.gc!
30
+ assert_equal 2, Session.store.values.size
31
+ sleep(3)
32
+ Session.gc!
33
+ assert_equal 0, Session.store.values.size
34
+ end
35
+
20
36
  end
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.8.11
3
3
  specification_version: 1
4
4
  name: nitro
5
5
  version: !ruby/object:Gem::Version
6
- version: 0.22.0
7
- date: 2005-08-07 00:00:00 +03:00
6
+ version: 0.23.0
7
+ date: 2005-08-31 00:00:00 +03:00
8
8
  summary: Nitro Web Engine
9
9
  require_paths:
10
10
  - lib
@@ -30,156 +30,175 @@ cert_chain:
30
30
  authors:
31
31
  - George Moschovitis
32
32
  files:
33
- - CHANGELOG
34
33
  - Rakefile
35
- - INSTALL
36
34
  - README
35
+ - INSTALL
36
+ - CHANGELOG
37
37
  - install.rb
38
38
  - bin/nitrogen
39
39
  - bin/nitro
40
- - benchmark/tiny-webrick-n-200-c-5.txt
41
- - benchmark/tiny-webrick-n-200.txt
42
- - benchmark/bench.rb
43
40
  - benchmark/tiny2-webrick-n-200.txt
44
- - benchmark/tiny-lhttpd-n-200-c-5.txt
41
+ - benchmark/tiny-webrick-n-200.txt
45
42
  - benchmark/static-webrick-n-200.txt
46
43
  - benchmark/simple-webrick-n-200.txt
44
+ - benchmark/tiny-webrick-n-200-c-5.txt
45
+ - benchmark/tiny-lhttpd-n-200-c-5.txt
46
+ - benchmark/bench.rb
47
47
  - examples/README
48
- - doc/architecture.txt
49
- - doc/apache.txt
50
48
  - doc/tutorial.txt
51
- - doc/LICENSE
52
- - doc/RELEASES
53
- - doc/config.txt
54
49
  - doc/faq.txt
55
- - doc/AUTHORS
56
- - doc/CHANGELOG.1
57
- - doc/CHANGELOG.2
50
+ - doc/config.txt
58
51
  - doc/bugs.txt
52
+ - doc/architecture.txt
53
+ - doc/apache.txt
54
+ - doc/RELEASES
59
55
  - doc/MIGRATION
60
- - proto/log
56
+ - doc/LICENSE
57
+ - doc/CHANGELOG.2
58
+ - doc/CHANGELOG.1
59
+ - doc/AUTHORS
60
+ - doc/CHANGELOG.3
61
61
  - proto/conf
62
62
  - proto/doc
63
+ - proto/log
63
64
  - proto/public
65
+ - proto/script
64
66
  - proto/src
65
67
  - proto/run.rb
66
68
  - proto/README
67
- - proto/script
68
69
  - proto/conf/lhttpd.conf
69
70
  - proto/conf/apache.conf
70
71
  - proto/doc/README
72
+ - proto/public/js
71
73
  - proto/public/media
72
74
  - proto/public/scaffold
73
- - proto/public/js
74
75
  - proto/public/settings.xhtml
76
+ - proto/public/robots.txt
75
77
  - proto/public/index.xhtml
76
- - proto/public/cgi.rb
77
- - proto/public/error.xhtml
78
78
  - proto/public/fcgi.rb
79
- - proto/public/robots.txt
80
- - proto/public/media/nitro.png
79
+ - proto/public/error.xhtml
80
+ - proto/public/cgi.rb
81
81
  - proto/public/js/prototype.js
82
+ - proto/public/js/effects.js
82
83
  - proto/public/js/dragdrop.js
83
- - proto/public/js/behaviour.js
84
+ - proto/public/js/cookies.js
84
85
  - proto/public/js/controls.js
85
- - proto/public/js/effects.js
86
+ - proto/public/js/behaviour.js
87
+ - proto/public/media/nitro.png
88
+ - proto/public/scaffold/view.xhtml
89
+ - proto/public/scaffold/new.xhtml
90
+ - proto/public/scaffold/list.xhtml
91
+ - proto/public/scaffold/form.xhtml
92
+ - proto/public/scaffold/edit.xhtml
86
93
  - proto/script/runner
94
+ - proto/script/benchmark
87
95
  - lib/nitro
96
+ - lib/part
88
97
  - lib/nitro.rb
89
- - lib/nitro/server
90
- - lib/nitro/session
91
98
  - lib/nitro/adapter
92
99
  - lib/nitro/caching
93
- - lib/nitro/element
94
- - lib/nitro/test
95
- - lib/nitro/controller.rb
96
- - lib/nitro/scaffold.rb
97
- - lib/nitro/dispatcher.rb
98
- - lib/nitro/context.rb
100
+ - lib/nitro/compiler
99
101
  - lib/nitro/dispatcher
100
- - lib/nitro/request.rb
102
+ - lib/nitro/element
101
103
  - lib/nitro/mixin
102
- - lib/nitro/caching.rb
104
+ - lib/nitro/scaffold
105
+ - lib/nitro/server
106
+ - lib/nitro/service
107
+ - lib/nitro/session
108
+ - lib/nitro/test
103
109
  - lib/nitro/test.rb
104
- - lib/nitro/compiler
105
- - lib/nitro/cookie.rb
106
- - lib/nitro/render.rb
107
110
  - lib/nitro/session.rb
111
+ - lib/nitro/service.rb
112
+ - lib/nitro/server.rb
113
+ - lib/nitro/scaffold.rb
108
114
  - lib/nitro/routing.rb
109
115
  - lib/nitro/response.rb
110
- - lib/nitro/element.rb
111
- - lib/nitro/service.rb
112
- - lib/nitro/service
116
+ - lib/nitro/request.rb
117
+ - lib/nitro/render.rb
113
118
  - lib/nitro/flash.rb
114
- - lib/nitro/server.rb
119
+ - lib/nitro/element.rb
120
+ - lib/nitro/dispatcher.rb
121
+ - lib/nitro/cookie.rb
122
+ - lib/nitro/controller.rb
123
+ - lib/nitro/context.rb
115
124
  - lib/nitro/compiler.rb
116
- - lib/nitro/server/runner.rb
117
- - lib/nitro/session/drbserver.rb
118
- - lib/nitro/session/drb.rb
119
- - lib/nitro/session/memory.rb
125
+ - lib/nitro/caching.rb
120
126
  - lib/nitro/adapter/wee.rb
121
- - lib/nitro/adapter/fastcgi.rb
122
- - lib/nitro/adapter/cgi.rb
123
127
  - lib/nitro/adapter/webrick.rb
124
128
  - lib/nitro/adapter/scgi.rb
125
- - lib/nitro/caching/invalidation.rb
129
+ - lib/nitro/adapter/fastcgi.rb
130
+ - lib/nitro/adapter/cgi.rb
126
131
  - lib/nitro/caching/stores.rb
127
- - lib/nitro/caching/actions.rb
128
132
  - lib/nitro/caching/output.rb
133
+ - lib/nitro/caching/invalidation.rb
129
134
  - lib/nitro/caching/fragments.rb
130
- - lib/nitro/element/java_script.rb
131
- - lib/nitro/test/assertions.rb
132
- - lib/nitro/test/context.rb
133
- - lib/nitro/test/testcase.rb
135
+ - lib/nitro/caching/actions.rb
136
+ - lib/nitro/compiler/xslt.rb
137
+ - lib/nitro/compiler/squeeze.rb
138
+ - lib/nitro/compiler/shaders.rb
139
+ - lib/nitro/compiler/markup.rb
140
+ - lib/nitro/compiler/localization.rb
141
+ - lib/nitro/compiler/errors.rb
142
+ - lib/nitro/compiler/elements.rb
134
143
  - lib/nitro/dispatcher/nice.rb
135
144
  - lib/nitro/dispatcher/general.rb
136
- - lib/nitro/mixin/debug.rb
145
+ - lib/nitro/element/java_script.rb
146
+ - lib/nitro/mixin/xml.rb
147
+ - lib/nitro/mixin/xhtml.rb
148
+ - lib/nitro/mixin/table.rb
149
+ - lib/nitro/mixin/rss.rb
137
150
  - lib/nitro/mixin/pager.rb
138
151
  - lib/nitro/mixin/markup.rb
139
152
  - lib/nitro/mixin/javascript.rb
140
153
  - lib/nitro/mixin/helper.rb
141
154
  - lib/nitro/mixin/form.rb
142
- - lib/nitro/mixin/rss.rb
143
- - lib/nitro/mixin/table.rb
144
- - lib/nitro/mixin/xml.rb
145
- - lib/nitro/mixin/xhtml.rb
155
+ - lib/nitro/mixin/debug.rb
146
156
  - lib/nitro/mixin/buffer.rb
147
- - lib/nitro/compiler/xslt.rb
148
- - lib/nitro/compiler/elements.rb
149
- - lib/nitro/compiler/localization.rb
150
- - lib/nitro/compiler/errors.rb
151
- - lib/nitro/compiler/squeeze.rb
152
- - lib/nitro/compiler/shaders.rb
153
- - lib/nitro/compiler/markup.rb
157
+ - lib/nitro/mixin/benchmark.rb
158
+ - lib/nitro/scaffold/relations.rb
159
+ - lib/nitro/server/runner.rb
154
160
  - lib/nitro/service/xmlrpc.rb
161
+ - lib/nitro/session/memory.rb
162
+ - lib/nitro/session/drbserver.rb
163
+ - lib/nitro/session/drb.rb
164
+ - lib/nitro/test/testcase.rb
165
+ - lib/nitro/test/context.rb
166
+ - lib/nitro/test/assertions.rb
167
+ - lib/part/admin
168
+ - lib/part/admin.rb
169
+ - lib/part/admin/template
170
+ - lib/part/admin/skin.rb
171
+ - lib/part/admin/controller.rb
172
+ - lib/part/admin/template/index.xhtml
155
173
  - test/nitro
156
174
  - test/public
175
+ - test/nitro/adapter
157
176
  - test/nitro/mixin
158
177
  - test/nitro/ui
159
- - test/nitro/adapter
160
- - test/nitro/tc_controller.rb
161
178
  - test/nitro/tc_session.rb
162
- - test/nitro/tc_context.rb
163
- - test/nitro/tc_dispatcher.rb
164
- - test/nitro/tc_element.rb
165
- - test/nitro/tc_caching.rb
166
- - test/nitro/tc_flash.rb
167
179
  - test/nitro/tc_server.rb
168
180
  - test/nitro/tc_request.rb
181
+ - test/nitro/tc_render.rb
182
+ - test/nitro/tc_flash.rb
183
+ - test/nitro/tc_element.rb
184
+ - test/nitro/tc_dispatcher.rb
169
185
  - test/nitro/tc_cookie.rb
170
186
  - test/nitro/tc_controller_aspect.rb
171
- - test/nitro/mixin/tc_pager.rb
172
- - test/nitro/mixin/tc_rss.rb
173
- - test/nitro/mixin/tc_table.rb
174
- - test/nitro/mixin/tc_xhtml.rb
175
- - test/nitro/adapter/raw_post1.bin
176
- - test/nitro/adapter/tc_cgi.rb
187
+ - test/nitro/tc_controller.rb
188
+ - test/nitro/tc_context.rb
189
+ - test/nitro/tc_caching.rb
177
190
  - test/nitro/adapter/tc_webrick.rb
191
+ - test/nitro/adapter/tc_cgi.rb
192
+ - test/nitro/adapter/raw_post1.bin
193
+ - test/nitro/mixin/tc_xhtml.rb
194
+ - test/nitro/mixin/tc_table.rb
195
+ - test/nitro/mixin/tc_rss.rb
196
+ - test/nitro/mixin/tc_pager.rb
178
197
  - test/public/blog
179
198
  - test/public/dummy_mailer
180
- - test/public/blog/inc1.xhtml
181
- - test/public/blog/inc2.xhtml
182
199
  - test/public/blog/list.xhtml
200
+ - test/public/blog/inc2.xhtml
201
+ - test/public/blog/inc1.xhtml
183
202
  - test/public/dummy_mailer/registration.xhtml
184
203
  test_files: []
185
204
  rdoc_options:
@@ -190,10 +209,10 @@ rdoc_options:
190
209
  - "--all"
191
210
  - "--inline-source"
192
211
  extra_rdoc_files:
193
- - CHANGELOG
194
212
  - Rakefile
195
- - INSTALL
196
213
  - README
214
+ - INSTALL
215
+ - CHANGELOG
197
216
  executables:
198
217
  - nitro
199
218
  - nitrogen
@@ -208,7 +227,7 @@ dependencies:
208
227
  -
209
228
  - "="
210
229
  - !ruby/object:Gem::Version
211
- version: 0.22.0
230
+ version: 0.23.0
212
231
  version:
213
232
  - !ruby/object:Gem::Dependency
214
233
  name: og
@@ -218,7 +237,7 @@ dependencies:
218
237
  -
219
238
  - "="
220
239
  - !ruby/object:Gem::Version
221
- version: 0.22.0
240
+ version: 0.23.0
222
241
  version:
223
242
  - !ruby/object:Gem::Dependency
224
243
  name: ruby-breakpoint