ramaze 0.0.7 → 0.0.8
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/Rakefile +52 -19
- data/bin/ramaze +19 -6
- data/doc/CHANGELOG +33 -0
- data/doc/COPYING +1 -1
- data/doc/FAQ +92 -0
- data/doc/GPL +340 -0
- data/doc/INSTALL +34 -0
- data/doc/ProjectInfo +53 -0
- data/doc/README +187 -110
- data/doc/readme_chunks/appendix.txt +13 -0
- data/doc/readme_chunks/examples.txt +38 -0
- data/doc/readme_chunks/features.txt +82 -0
- data/doc/readme_chunks/getting_help.txt +5 -0
- data/doc/readme_chunks/getting_started.txt +18 -0
- data/doc/readme_chunks/installing.txt +41 -0
- data/doc/readme_chunks/introduction.txt +18 -0
- data/doc/readme_chunks/principles.txt +41 -0
- data/doc/readme_chunks/thanks.txt +59 -0
- data/doc/tutorial/todolist.txt +546 -0
- data/examples/blog/main.rb +1 -1
- data/examples/blog/src/controller.rb +13 -11
- data/examples/blog/src/element.rb +11 -6
- data/examples/blog/src/model.rb +8 -23
- data/examples/blog/template/edit.xhtml +3 -1
- data/examples/blog/template/index.xhtml +4 -4
- data/examples/caching.rb +4 -4
- data/examples/element.rb +10 -7
- data/examples/hello.rb +3 -4
- data/examples/simple.rb +5 -3
- data/examples/templates/template/external.amrita +19 -0
- data/examples/templates/template/{external.rmze → external.zmr} +2 -2
- data/examples/templates/template_amrita2.rb +48 -0
- data/examples/templates/template_erubis.rb +5 -2
- data/examples/templates/{template_ramaze.rb → template_ezamar.rb} +13 -7
- data/examples/templates/template_haml.rb +4 -1
- data/examples/templates/template_liquid.rb +2 -1
- data/examples/templates/template_markaby.rb +2 -1
- data/examples/todolist/conf/benchmark.yaml +35 -0
- data/examples/todolist/conf/debug.yaml +34 -0
- data/examples/todolist/conf/live.yaml +33 -0
- data/examples/todolist/conf/silent.yaml +31 -0
- data/examples/todolist/conf/stage.yaml +33 -0
- data/examples/todolist/main.rb +18 -0
- data/examples/todolist/public/404.jpg +0 -0
- data/examples/todolist/public/css/coderay.css +105 -0
- data/examples/todolist/public/css/ramaze_error.css +42 -0
- data/{lib/proto → examples/todolist}/public/error.xhtml +0 -0
- data/examples/todolist/public/favicon.ico +0 -0
- data/examples/todolist/public/js/jquery.js +1923 -0
- data/examples/todolist/public/ramaze.png +0 -0
- data/examples/todolist/src/controller/main.rb +56 -0
- data/examples/todolist/src/element/page.rb +26 -0
- data/examples/todolist/src/model.rb +14 -0
- data/examples/todolist/template/index.xhtml +17 -0
- data/examples/todolist/template/new.xhtml +7 -0
- data/examples/todolist/todolist.db +9 -0
- data/examples/whywiki/main.rb +3 -8
- data/examples/whywiki/template/show.xhtml +4 -0
- data/lib/proto/public/error.zmr +77 -0
- data/lib/proto/src/controller/main.rb +2 -1
- data/lib/proto/src/element/page.rb +2 -1
- data/lib/proto/src/model.rb +3 -2
- data/lib/ramaze.rb +7 -9
- data/lib/ramaze/adapter.rb +51 -0
- data/lib/ramaze/adapter/cgi.rb +23 -0
- data/lib/ramaze/adapter/fcgi.rb +22 -0
- data/lib/ramaze/adapter/mongrel.rb +7 -86
- data/lib/ramaze/adapter/webrick.rb +14 -133
- data/lib/ramaze/cache/memcached.rb +6 -0
- data/lib/ramaze/cache/yaml_store.rb +3 -1
- data/lib/ramaze/controller.rb +292 -2
- data/lib/ramaze/dispatcher.rb +85 -213
- data/lib/ramaze/error.rb +10 -0
- data/lib/ramaze/global.rb +8 -0
- data/lib/ramaze/helper/aspect.rb +30 -7
- data/lib/ramaze/helper/auth.rb +16 -9
- data/lib/ramaze/helper/cache.rb +40 -35
- data/lib/ramaze/helper/feed.rb +1 -1
- data/lib/ramaze/helper/flash.rb +34 -0
- data/lib/ramaze/helper/link.rb +8 -2
- data/lib/ramaze/helper/openid.rb +63 -0
- data/lib/ramaze/helper/redirect.rb +12 -11
- data/lib/ramaze/helper/stack.rb +5 -7
- data/lib/ramaze/inform.rb +12 -1
- data/lib/ramaze/snippets/kernel/aquire.rb +1 -1
- data/lib/ramaze/snippets/kernel/{self_method.rb → method.rb} +3 -18
- data/lib/ramaze/snippets/kernel/{rescue_require.rb → pretty_inspect.rb} +7 -6
- data/lib/ramaze/snippets/method/name.rb +22 -0
- data/lib/ramaze/snippets/{kernel → ramaze}/autoreload.rb +0 -0
- data/lib/ramaze/snippets/ramaze/caller_info.rb +14 -0
- data/lib/ramaze/snippets/{kernel → ramaze}/caller_lines.rb +3 -10
- data/lib/ramaze/snippets/rdoc/usage_no_exit.rb +49 -23
- data/lib/ramaze/snippets/string/DIVIDE.rb +0 -1
- data/lib/ramaze/store/default.rb +58 -2
- data/lib/ramaze/store/yaml.rb +161 -0
- data/lib/ramaze/template.rb +27 -86
- data/lib/ramaze/template/amrita2.rb +14 -19
- data/lib/ramaze/template/erubis.rb +15 -38
- data/lib/ramaze/template/ezamar.rb +100 -0
- data/lib/ramaze/template/ezamar/element.rb +166 -0
- data/lib/ramaze/template/ezamar/engine.rb +124 -0
- data/lib/ramaze/template/ezamar/morpher.rb +155 -0
- data/lib/ramaze/template/haml.rb +16 -43
- data/lib/ramaze/template/liquid.rb +11 -51
- data/lib/ramaze/template/markaby.rb +44 -42
- data/lib/ramaze/tool/mime.rb +18 -0
- data/lib/ramaze/tool/mime_types.yaml +615 -0
- data/lib/ramaze/trinity/request.rb +20 -196
- data/lib/ramaze/trinity/response.rb +4 -33
- data/lib/ramaze/trinity/session.rb +150 -72
- data/lib/ramaze/version.rb +1 -1
- data/spec/adapter_spec.rb +20 -0
- data/spec/public/favicon.ico +0 -0
- data/spec/public/ramaze.png +0 -0
- data/spec/public/test_download.css +141 -0
- data/spec/{tc_request.rb → request_tc_helper.rb} +45 -21
- data/spec/spec_all.rb +77 -34
- data/spec/spec_helper.rb +8 -157
- data/spec/spec_helper_context.rb +72 -0
- data/spec/spec_helper_requester.rb +52 -0
- data/spec/spec_helper_simple_http.rb +433 -0
- data/spec/tc_adapter_mongrel.rb +3 -15
- data/spec/tc_adapter_webrick.rb +4 -14
- data/spec/tc_cache.rb +3 -5
- data/spec/tc_controller.rb +22 -12
- data/spec/tc_dependencies.rb +13 -0
- data/spec/tc_element.rb +8 -7
- data/spec/tc_error.rb +13 -7
- data/spec/tc_global.rb +16 -18
- data/spec/tc_helper_aspect.rb +2 -4
- data/spec/tc_helper_auth.rb +15 -14
- data/spec/tc_helper_cache.rb +5 -7
- data/spec/tc_helper_feed.rb +0 -2
- data/spec/tc_helper_flash.rb +103 -0
- data/spec/tc_helper_form.rb +4 -6
- data/spec/tc_helper_link.rb +1 -3
- data/spec/tc_helper_redirect.rb +23 -8
- data/spec/tc_helper_stack.rb +31 -15
- data/spec/tc_morpher.rb +1 -3
- data/spec/tc_params.rb +48 -7
- data/spec/tc_request_mongrel.rb +9 -0
- data/spec/tc_request_webrick.rb +5 -0
- data/spec/tc_session.rb +41 -25
- data/spec/tc_store.rb +55 -6
- data/spec/tc_store_yaml.rb +71 -0
- data/spec/tc_template_amrita2.rb +3 -3
- data/spec/tc_template_erubis.rb +2 -3
- data/spec/{tc_template_ramaze.rb → tc_template_ezamar.rb} +15 -5
- data/spec/tc_template_haml.rb +4 -3
- data/spec/tc_template_liquid.rb +3 -4
- data/spec/tc_template_markaby.rb +4 -6
- data/spec/tc_tidy.rb +1 -3
- data/spec/template/amrita2/{data.html → data.amrita} +0 -0
- data/spec/template/amrita2/{index.html → index.amrita} +0 -0
- data/spec/template/amrita2/{sum.html → sum.amrita} +0 -0
- data/spec/template/ezamar/another/long/action.zmr +1 -0
- data/spec/template/ezamar/combined.zmr +1 -0
- data/spec/template/{ramaze/file_only.rmze → ezamar/file_only.zmr} +0 -0
- data/spec/template/{ramaze/index.rmze → ezamar/index.zmr} +0 -0
- data/spec/template/{ramaze/nested.rmze → ezamar/nested.zmr} +0 -0
- data/spec/template/ezamar/some__long__action.zmr +1 -0
- data/spec/template/{ramaze/sum.rmze → ezamar/sum.zmr} +0 -0
- metadata +181 -123
- data/doc/allison/LICENSE +0 -184
- data/doc/allison/README +0 -37
- data/doc/allison/allison.css +0 -300
- data/doc/allison/allison.gif +0 -0
- data/doc/allison/allison.js +0 -307
- data/doc/allison/allison.rb +0 -287
- data/doc/allison/cache/BODY +0 -588
- data/doc/allison/cache/CLASS_INDEX +0 -4
- data/doc/allison/cache/CLASS_PAGE +0 -1
- data/doc/allison/cache/FILE_INDEX +0 -4
- data/doc/allison/cache/FILE_PAGE +0 -1
- data/doc/allison/cache/FONTS +0 -1
- data/doc/allison/cache/FR_INDEX_BODY +0 -1
- data/doc/allison/cache/IMGPATH +0 -1
- data/doc/allison/cache/INDEX +0 -1
- data/doc/allison/cache/JAVASCRIPT +0 -307
- data/doc/allison/cache/METHOD_INDEX +0 -4
- data/doc/allison/cache/METHOD_LIST +0 -1
- data/doc/allison/cache/SRC_PAGE +0 -1
- data/doc/allison/cache/STYLE +0 -322
- data/doc/allison/cache/URL +0 -1
- data/doc/changes.txt +0 -2021
- data/doc/changes.xml +0 -2024
- data/lib/ramaze/snippets/kernel/silently.rb +0 -13
- data/lib/ramaze/snippets/thread/deadQUESTIONMARK.rb +0 -11
- data/lib/ramaze/template/haml/actionview_stub.rb +0 -20
- data/lib/ramaze/template/ramaze.rb +0 -177
- data/lib/ramaze/template/ramaze/element.rb +0 -166
- data/lib/ramaze/template/ramaze/morpher.rb +0 -156
- data/spec/tc_test.rb +0 -17
data/spec/tc_helper_form.rb
CHANGED
|
@@ -26,9 +26,7 @@ Logger.send(:class_variable_set, "@@global_logger", gulp_class.new)
|
|
|
26
26
|
|
|
27
27
|
Og.start :destroy => true
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
class TCFormHelperEntryController < Template::Ramaze
|
|
29
|
+
class TCFormHelperEntryController < Ramaze::Controller
|
|
32
30
|
helper :form
|
|
33
31
|
|
|
34
32
|
def index
|
|
@@ -56,7 +54,7 @@ class TCFormHelperEntryController < Template::Ramaze
|
|
|
56
54
|
end
|
|
57
55
|
end
|
|
58
56
|
|
|
59
|
-
class TCFormHelperEntryTimestampedController <
|
|
57
|
+
class TCFormHelperEntryTimestampedController < Ramaze::Controller
|
|
60
58
|
helper :form
|
|
61
59
|
|
|
62
60
|
def index
|
|
@@ -68,7 +66,7 @@ class TCFormHelperEntryTimestampedController < Template::Ramaze
|
|
|
68
66
|
end
|
|
69
67
|
end
|
|
70
68
|
|
|
71
|
-
class
|
|
69
|
+
class TCFormHelperEntryDatedController < Ramaze::Controller
|
|
72
70
|
helper :form
|
|
73
71
|
|
|
74
72
|
def index
|
|
@@ -127,7 +125,7 @@ context "FormHelper" do
|
|
|
127
125
|
end
|
|
128
126
|
|
|
129
127
|
context "EntryDated" do
|
|
130
|
-
ramaze :fake_start => true, :mapping => {'/entry_dated' =>
|
|
128
|
+
ramaze :fake_start => true, :mapping => {'/entry_dated' => TCFormHelperEntryDatedController}
|
|
131
129
|
|
|
132
130
|
specify "testrun" do
|
|
133
131
|
get('/entry_dated').should ==
|
data/spec/tc_helper_link.rb
CHANGED
data/spec/tc_helper_redirect.rb
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
require 'spec/spec_helper'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class TCRedirectHelperController < Template::Ramaze
|
|
6
|
+
class TCRedirectHelperController < Ramaze::Controller
|
|
9
7
|
helper :redirect
|
|
10
8
|
|
|
11
9
|
def index
|
|
@@ -27,6 +25,16 @@ class TCRedirectHelperController < Template::Ramaze
|
|
|
27
25
|
def redirect_referer_action
|
|
28
26
|
redirect_referer
|
|
29
27
|
end
|
|
28
|
+
|
|
29
|
+
def no_actual_redirect
|
|
30
|
+
catch(:redirect){ redirection }
|
|
31
|
+
'foo'
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def no_actual_double_redirect
|
|
35
|
+
catch(:redirect){ double_redirection }
|
|
36
|
+
'bar'
|
|
37
|
+
end
|
|
30
38
|
end
|
|
31
39
|
|
|
32
40
|
context "RedirectHelper" do
|
|
@@ -39,13 +47,20 @@ context "RedirectHelper" do
|
|
|
39
47
|
end
|
|
40
48
|
|
|
41
49
|
specify "calls" do
|
|
42
|
-
ctx.
|
|
43
|
-
|
|
50
|
+
ctx.story do
|
|
51
|
+
get('/redirection').should == "TCRedirectHelperController"
|
|
52
|
+
get('/double_redirection').should == "TCRedirectHelperController"
|
|
53
|
+
get('/no_actual_redirect').should == 'foo'
|
|
54
|
+
get('/no_actual_double_redirect').should == 'bar'
|
|
55
|
+
end
|
|
44
56
|
end
|
|
45
57
|
|
|
46
58
|
specify "redirect to referer" do
|
|
47
|
-
ctx.
|
|
48
|
-
|
|
49
|
-
|
|
59
|
+
ctx.story do
|
|
60
|
+
get('/').should == 'TCRedirectHelperController'
|
|
61
|
+
get('/redirect_referer_action').should == 'TCRedirectHelperController'
|
|
62
|
+
get('/noop').should == 'noop'
|
|
63
|
+
get('/redirect_referer_action').should == 'noop'
|
|
64
|
+
end
|
|
50
65
|
end
|
|
51
66
|
end
|
data/spec/tc_helper_stack.rb
CHANGED
|
@@ -3,30 +3,36 @@
|
|
|
3
3
|
|
|
4
4
|
require 'spec/spec_helper'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class TCStackHelperController < Template::Ramaze
|
|
9
|
-
helper :stack
|
|
6
|
+
class TCStackHelperController < Ramaze::Controller
|
|
7
|
+
helper :stack, :aspect
|
|
10
8
|
|
|
11
9
|
def index
|
|
12
10
|
session.inspect
|
|
13
11
|
end
|
|
14
12
|
|
|
15
13
|
def foo
|
|
16
|
-
call :login unless logged_in?
|
|
14
|
+
call Rs(:login) unless logged_in?
|
|
17
15
|
"logged in"
|
|
18
16
|
end
|
|
19
17
|
|
|
20
18
|
def bar
|
|
21
|
-
call :login unless logged_in?
|
|
19
|
+
call Rs(:login) unless logged_in?
|
|
22
20
|
request.params.inspect
|
|
23
21
|
end
|
|
24
22
|
|
|
23
|
+
def secure
|
|
24
|
+
logged_in? ? 'secret content' : 'please login'
|
|
25
|
+
end
|
|
26
|
+
|
|
25
27
|
def login
|
|
26
28
|
session[:logged_in] = true
|
|
27
29
|
answer
|
|
28
30
|
end
|
|
29
31
|
|
|
32
|
+
def logout
|
|
33
|
+
session.clear
|
|
34
|
+
end
|
|
35
|
+
|
|
30
36
|
private
|
|
31
37
|
|
|
32
38
|
def logged_in?
|
|
@@ -37,19 +43,29 @@ end
|
|
|
37
43
|
context "StackHelper" do
|
|
38
44
|
ramaze(:mapping => {'/' => TCStackHelperController})
|
|
39
45
|
|
|
40
|
-
|
|
46
|
+
specify "conventional login" do
|
|
47
|
+
=begin
|
|
48
|
+
Context.new do
|
|
49
|
+
get('/secure').should == 'please login'
|
|
50
|
+
get('/login')
|
|
51
|
+
get('/secure').should == 'secret content'
|
|
52
|
+
get('/logout')
|
|
53
|
+
end
|
|
54
|
+
=end
|
|
55
|
+
end
|
|
41
56
|
|
|
42
57
|
specify "indirect login" do
|
|
43
|
-
|
|
44
|
-
|
|
58
|
+
Context.new do
|
|
59
|
+
get('/foo').should == 'logged in'
|
|
60
|
+
get('/foo').should == 'logged in'
|
|
61
|
+
eget('/').should == {:logged_in => true, :STACK => []}
|
|
62
|
+
end
|
|
45
63
|
end
|
|
46
64
|
|
|
47
65
|
specify "indirect login with params" do
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
specify "indirect posting fun" do
|
|
53
|
-
ctx.epost('/bar', :x => :y)['x'].should == 'y'
|
|
66
|
+
Context.new do
|
|
67
|
+
eget('/bar', 'x' => 'y').should == {'x' => 'y'}
|
|
68
|
+
eget('/').should == {:logged_in => true, :STACK => []}
|
|
69
|
+
end
|
|
54
70
|
end
|
|
55
71
|
end
|
data/spec/tc_morpher.rb
CHANGED
data/spec/tc_params.rb
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
require 'spec/spec_helper'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class TCParamsController < Template::Ramaze
|
|
6
|
+
class TCParamsController < Ramaze::Controller
|
|
9
7
|
def index
|
|
10
8
|
"index"
|
|
11
9
|
end
|
|
@@ -33,10 +31,29 @@ class TCParamsController < Template::Ramaze
|
|
|
33
31
|
def one_default param = 'default'
|
|
34
32
|
"one_default (#{param})"
|
|
35
33
|
end
|
|
34
|
+
|
|
35
|
+
def cat1__cat11
|
|
36
|
+
'cat1: cat11'
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def cat1__cat11__cat111
|
|
40
|
+
'cat1: cat11: cat111'
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
class TCParamsController2 < Ramaze::Controller
|
|
45
|
+
def add(one, two = nil, three = nil)
|
|
46
|
+
"#{one}:#{two}:#{three}"
|
|
47
|
+
end
|
|
36
48
|
end
|
|
37
49
|
|
|
38
50
|
context "Simple Parameters" do
|
|
39
|
-
ramaze(
|
|
51
|
+
ramaze(
|
|
52
|
+
:mapping => {
|
|
53
|
+
'/' => TCParamsController,
|
|
54
|
+
'/jo' => TCParamsController2
|
|
55
|
+
}
|
|
56
|
+
)
|
|
40
57
|
|
|
41
58
|
specify "Should respond to no parameters given" do
|
|
42
59
|
get('/no_params').should == "no params"
|
|
@@ -47,7 +64,7 @@ context "Simple Parameters" do
|
|
|
47
64
|
end
|
|
48
65
|
|
|
49
66
|
specify "call /bar though index doesn't take params" do
|
|
50
|
-
lambda{
|
|
67
|
+
lambda{ get('/bar') }.should_raise #OpenURI::HTTPError
|
|
51
68
|
end
|
|
52
69
|
|
|
53
70
|
specify "action that takes a single param" do
|
|
@@ -59,7 +76,7 @@ context "Simple Parameters" do
|
|
|
59
76
|
end
|
|
60
77
|
|
|
61
78
|
specify "action that takes two params but we give only one" do
|
|
62
|
-
lambda{
|
|
79
|
+
lambda{ get('/double_param/foo') }.should_raise #OpenURI::HTTPError
|
|
63
80
|
end
|
|
64
81
|
|
|
65
82
|
specify "action that takes all params" do
|
|
@@ -71,7 +88,7 @@ context "Simple Parameters" do
|
|
|
71
88
|
end
|
|
72
89
|
|
|
73
90
|
specify "action that takes all params but needs at least one (not given here)" do
|
|
74
|
-
lambda{
|
|
91
|
+
lambda{ get('/at_least_one') }.should_raise #OpenURI::HTTPError
|
|
75
92
|
end
|
|
76
93
|
|
|
77
94
|
specify "one default" do
|
|
@@ -81,4 +98,28 @@ context "Simple Parameters" do
|
|
|
81
98
|
specify "one default" do
|
|
82
99
|
get('/one_default/my_default').should == "one_default (my_default)"
|
|
83
100
|
end
|
|
101
|
+
|
|
102
|
+
specify "double underscore lookup" do
|
|
103
|
+
get('/cat1/cat11').should == 'cat1: cat11'
|
|
104
|
+
end
|
|
105
|
+
|
|
106
|
+
specify "double double underscore lookup" do
|
|
107
|
+
get('/cat1/cat11/cat111').should == 'cat1: cat11: cat111'
|
|
108
|
+
end
|
|
109
|
+
|
|
110
|
+
|
|
111
|
+
specify "jo/add should raise with 0 parameters" do
|
|
112
|
+
lambda{ get('/jo/add') }.should_raise
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
specify "add should raise with 4 parameters" do
|
|
116
|
+
lambda{ get('/jo/add/1/2/3/4') }.should_raise
|
|
117
|
+
end
|
|
118
|
+
|
|
119
|
+
specify "add should not raise with 1-3 parameters" do
|
|
120
|
+
get('/jo/add/1').should == '1::'
|
|
121
|
+
get('/jo/add/1/2').should == '1:2:'
|
|
122
|
+
get('/jo/add/1/2/3').should == '1:2:3'
|
|
123
|
+
end
|
|
124
|
+
|
|
84
125
|
end
|
data/spec/tc_session.rb
CHANGED
|
@@ -3,9 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
require 'spec/spec_helper'
|
|
5
5
|
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class TCSessionController < Template::Ramaze
|
|
6
|
+
class TCSessionController < Ramaze::Controller
|
|
9
7
|
def index
|
|
10
8
|
session.inspect
|
|
11
9
|
end
|
|
@@ -21,36 +19,54 @@ class TCSessionController < Template::Ramaze
|
|
|
21
19
|
end
|
|
22
20
|
end
|
|
23
21
|
|
|
24
|
-
context "
|
|
22
|
+
context "Session" do
|
|
25
23
|
ramaze(:mapping => {'/' => TCSessionController})
|
|
26
24
|
|
|
27
|
-
|
|
25
|
+
{ :MemoryCache => :memory,
|
|
26
|
+
:YAMLStoreCache => :yaml_store,
|
|
27
|
+
:MemcachedCache => :memcached,
|
|
28
|
+
}.each do |cache, requirement|
|
|
29
|
+
begin
|
|
30
|
+
require "ramaze/cache/#{requirement}"
|
|
31
|
+
rescue LoadError => ex
|
|
32
|
+
puts ex
|
|
33
|
+
next
|
|
34
|
+
end
|
|
28
35
|
|
|
29
|
-
|
|
30
|
-
ctx.eget.should == {}
|
|
31
|
-
end
|
|
36
|
+
context cache.to_s do
|
|
32
37
|
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
end
|
|
38
|
+
Ramaze::Global.cache = cache
|
|
39
|
+
Thread.main[:session_cache] = nil
|
|
36
40
|
|
|
37
|
-
|
|
38
|
-
ctx.eget('/').should == {'foo' => 'bar'}
|
|
39
|
-
end
|
|
41
|
+
ctx = Context.new
|
|
40
42
|
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
43
|
+
specify "Should give me an empty session" do
|
|
44
|
+
ctx.eget.should == {}
|
|
45
|
+
end
|
|
44
46
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
47
|
+
specify "set some session-parameters" do
|
|
48
|
+
ctx.eget('/set_session/foo/bar').should == {'foo' => 'bar'}
|
|
49
|
+
end
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
specify "inspect session again" do
|
|
52
|
+
ctx.eget('/').should == {'foo' => 'bar'}
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
specify "change the session" do
|
|
56
|
+
ctx.eget('/set_session/foo/foobar')['foo'].should == 'foobar'
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
specify "inspect the changed session" do
|
|
60
|
+
ctx.eget('/')['foo'].should == 'foobar'
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
specify "now a little bit with POST" do
|
|
64
|
+
ctx.epost('/post_set_session', 'x' => 'y')['x'].should == 'y'
|
|
65
|
+
end
|
|
52
66
|
|
|
53
|
-
|
|
54
|
-
|
|
67
|
+
specify "snooping a bit around" do
|
|
68
|
+
ctx.cookie.split('=').size.should == 3
|
|
69
|
+
end
|
|
70
|
+
end
|
|
55
71
|
end
|
|
56
72
|
end
|
data/spec/tc_store.rb
CHANGED
|
@@ -4,19 +4,68 @@
|
|
|
4
4
|
require 'spec/spec_helper'
|
|
5
5
|
require 'ramaze/store/default'
|
|
6
6
|
|
|
7
|
-
include Ramaze
|
|
8
|
-
|
|
9
7
|
context "initialize an Store" do
|
|
10
8
|
db = 'db.yaml'
|
|
11
9
|
|
|
10
|
+
def add hash = {}
|
|
11
|
+
Books.merge!(hash)
|
|
12
|
+
end
|
|
13
|
+
|
|
12
14
|
specify "Store::Default.new" do
|
|
13
|
-
|
|
14
|
-
|
|
15
|
+
Books = Ramaze::Store::Default.new(db)
|
|
16
|
+
Books.db.should.is_a?(YAML::Store)
|
|
15
17
|
end
|
|
16
18
|
|
|
17
19
|
specify "store and retrieve something" do
|
|
18
|
-
|
|
19
|
-
|
|
20
|
+
add 'Pickaxe' => 'good book'
|
|
21
|
+
Books['Pickaxe'].should == 'good book'
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
specify "empty?" do
|
|
25
|
+
add 'Pickaxe' => 'good book'
|
|
26
|
+
|
|
27
|
+
Books.empty?.should == false
|
|
28
|
+
Books.clear
|
|
29
|
+
Books.empty?.should == true
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
specify "size" do
|
|
33
|
+
Books.size.should == 0
|
|
34
|
+
|
|
35
|
+
{
|
|
36
|
+
'Pickaxe' => 'good book',
|
|
37
|
+
'1984' => 'scary',
|
|
38
|
+
'Brave new World' => 'interesting',
|
|
39
|
+
}.each_with_index do |(title, content), i|
|
|
40
|
+
add title => content
|
|
41
|
+
Books.size.should == i + 1
|
|
42
|
+
end
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
specify "Enumerable" do
|
|
46
|
+
add 'Pickaxe' => 'good book', '1984' => 'scary'
|
|
47
|
+
|
|
48
|
+
Books.each do |title, content|
|
|
49
|
+
[title, content].compact.empty?.should == false
|
|
50
|
+
Books[title].should == content
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
specify "merge and merge!" do
|
|
55
|
+
books = {'Pickaxe' => 'good book', '1984' => 'scary'}
|
|
56
|
+
add books
|
|
57
|
+
|
|
58
|
+
bnw = {'Brave new World' => 'interesting'}
|
|
59
|
+
|
|
60
|
+
Books.merge(bnw).should == books.merge(bnw)
|
|
61
|
+
|
|
62
|
+
Books[bnw.keys.first].should == nil
|
|
63
|
+
|
|
64
|
+
Books.merge!(bnw).should == books.merge(bnw)
|
|
65
|
+
|
|
66
|
+
Books[bnw.keys.first].should == bnw.values.first
|
|
67
|
+
|
|
68
|
+
Books.size.should == 3
|
|
20
69
|
end
|
|
21
70
|
|
|
22
71
|
teardown do
|