nitro 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
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