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.
- data/CHANGELOG +109 -1250
- data/INSTALL +3 -2
- data/README +5 -4
- data/Rakefile +1 -1
- data/bin/nitrogen +1 -1
- data/doc/AUTHORS +20 -6
- data/doc/CHANGELOG.3 +1314 -0
- data/doc/RELEASES +90 -0
- data/lib/nitro.rb +6 -17
- data/lib/nitro/adapter/cgi.rb +11 -0
- data/lib/nitro/adapter/webrick.rb +7 -1
- data/lib/nitro/caching/stores.rb +4 -6
- data/lib/nitro/compiler.rb +1 -1
- data/lib/nitro/compiler/errors.rb +1 -1
- data/lib/nitro/context.rb +11 -4
- data/lib/nitro/controller.rb +0 -3
- data/lib/nitro/cookie.rb +4 -3
- data/lib/nitro/dispatcher.rb +7 -1
- data/lib/nitro/dispatcher/nice.rb +6 -1
- data/lib/nitro/element.rb +2 -2
- data/lib/nitro/mixin/benchmark.rb +16 -0
- data/lib/nitro/mixin/form.rb +171 -55
- data/lib/nitro/mixin/rss.rb +1 -1
- data/lib/nitro/mixin/xhtml.rb +91 -4
- data/lib/nitro/render.rb +25 -6
- data/lib/nitro/request.rb +13 -3
- data/lib/nitro/scaffold.rb +91 -68
- data/lib/nitro/scaffold/relations.rb +54 -0
- data/lib/nitro/server.rb +8 -5
- data/lib/nitro/server/runner.rb +4 -3
- data/lib/nitro/service.rb +3 -1
- data/lib/nitro/service/xmlrpc.rb +1 -1
- data/lib/nitro/session.rb +69 -51
- data/lib/nitro/session/drb.rb +5 -7
- data/lib/nitro/session/drbserver.rb +4 -6
- data/lib/nitro/session/memory.rb +4 -6
- data/lib/part/admin.rb +6 -0
- data/lib/part/admin/controller.rb +24 -0
- data/lib/part/admin/skin.rb +21 -0
- data/lib/part/admin/template/index.xhtml +9 -0
- data/proto/public/js/cookies.js +122 -0
- data/proto/public/scaffold/edit.xhtml +4 -0
- data/proto/public/scaffold/form.xhtml +7 -0
- data/proto/public/scaffold/list.xhtml +15 -0
- data/proto/public/scaffold/new.xhtml +4 -0
- data/proto/public/scaffold/view.xhtml +0 -0
- data/proto/script/benchmark +19 -0
- data/test/nitro/adapter/tc_cgi.rb +32 -2
- data/test/nitro/mixin/tc_xhtml.rb +6 -0
- data/test/nitro/tc_dispatcher.rb +0 -17
- data/test/nitro/tc_render.rb +58 -0
- data/test/nitro/tc_server.rb +2 -0
- data/test/nitro/tc_session.rb +16 -0
- 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,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>
|
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
|
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
|
data/test/nitro/tc_dispatcher.rb
CHANGED
@@ -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
|
data/test/nitro/tc_server.rb
CHANGED
data/test/nitro/tc_session.rb
CHANGED
@@ -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.
|
7
|
-
date: 2005-08-
|
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-
|
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/
|
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
|
-
-
|
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/
|
80
|
-
- proto/public/
|
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/
|
84
|
+
- proto/public/js/cookies.js
|
84
85
|
- proto/public/js/controls.js
|
85
|
-
- proto/public/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/
|
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/
|
102
|
+
- lib/nitro/element
|
101
103
|
- lib/nitro/mixin
|
102
|
-
- lib/nitro/
|
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/
|
111
|
-
- lib/nitro/
|
112
|
-
- lib/nitro/service
|
116
|
+
- lib/nitro/request.rb
|
117
|
+
- lib/nitro/render.rb
|
113
118
|
- lib/nitro/flash.rb
|
114
|
-
- lib/nitro/
|
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/
|
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/
|
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/
|
131
|
-
- lib/nitro/
|
132
|
-
- lib/nitro/
|
133
|
-
- lib/nitro/
|
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/
|
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/
|
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/
|
148
|
-
- lib/nitro/
|
149
|
-
- lib/nitro/
|
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/
|
172
|
-
- test/nitro/
|
173
|
-
- test/nitro/
|
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.
|
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.
|
240
|
+
version: 0.23.0
|
222
241
|
version:
|
223
242
|
- !ruby/object:Gem::Dependency
|
224
243
|
name: ruby-breakpoint
|