merb-core 0.9.5 → 0.9.6
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 +925 -0
- data/CONTRIBUTORS +93 -0
- data/PUBLIC_CHANGELOG +85 -0
- data/Rakefile +18 -28
- data/bin/merb +34 -5
- data/lib/merb-core/autoload.rb +2 -3
- data/lib/merb-core/bootloader.rb +60 -66
- data/lib/merb-core/config.rb +7 -1
- data/lib/merb-core/controller/abstract_controller.rb +35 -21
- data/lib/merb-core/controller/merb_controller.rb +15 -42
- data/lib/merb-core/controller/mixins/authentication.rb +42 -6
- data/lib/merb-core/controller/mixins/conditional_get.rb +83 -0
- data/lib/merb-core/controller/mixins/render.rb +3 -3
- data/lib/merb-core/core_ext/kernel.rb +6 -19
- data/lib/merb-core/dispatch/cookies.rb +96 -80
- data/lib/merb-core/dispatch/default_exception/views/index.html.erb +2 -0
- data/lib/merb-core/dispatch/request.rb +18 -16
- data/lib/merb-core/dispatch/router/route.rb +6 -0
- data/lib/merb-core/dispatch/router.rb +4 -1
- data/lib/merb-core/dispatch/session/container.rb +64 -0
- data/lib/merb-core/dispatch/session/cookie.rb +91 -101
- data/lib/merb-core/dispatch/session/memcached.rb +38 -174
- data/lib/merb-core/dispatch/session/memory.rb +62 -208
- data/lib/merb-core/dispatch/session/store_container.rb +145 -0
- data/lib/merb-core/dispatch/session.rb +174 -48
- data/lib/merb-core/rack/middleware/conditional_get.rb +14 -8
- data/lib/merb-core/rack/middleware/csrf.rb +73 -0
- data/lib/merb-core/rack.rb +1 -0
- data/lib/merb-core/script.rb +112 -0
- data/lib/merb-core/server.rb +2 -0
- data/lib/merb-core/tasks/merb_rake_helper.rb +25 -0
- data/lib/merb-core/test/helpers/request_helper.rb +40 -3
- data/lib/merb-core/test/run_specs.rb +4 -3
- data/lib/merb-core/vendor/facets/inflect.rb +7 -10
- data/lib/merb-core/version.rb +1 -1
- data/lib/merb-core.rb +11 -40
- data/spec/private/core_ext/kernel_spec.rb +0 -11
- data/spec/private/dispatch/fixture/log/merb_test.log +893 -0
- data/spec/private/router/fixture/log/merb_test.log +12 -1728
- data/spec/private/router/route_spec.rb +4 -0
- data/spec/private/router/router_spec.rb +8 -0
- data/spec/private/vendor/facets/plural_spec.rb +1 -1
- data/spec/private/vendor/facets/singular_spec.rb +1 -1
- data/spec/public/abstract_controller/controllers/display.rb +8 -2
- data/spec/public/abstract_controller/controllers/filters.rb +18 -0
- data/spec/public/abstract_controller/display_spec.rb +6 -2
- data/spec/public/abstract_controller/filter_spec.rb +4 -0
- data/spec/public/controller/authentication_spec.rb +114 -43
- data/spec/public/controller/base_spec.rb +8 -0
- data/spec/public/controller/conditional_get_spec.rb +100 -0
- data/spec/public/controller/config/init.rb +1 -1
- data/spec/public/controller/controllers/authentication.rb +29 -0
- data/spec/public/controller/controllers/base.rb +13 -0
- data/spec/public/controller/controllers/conditional_get.rb +35 -0
- data/spec/public/controller/controllers/cookies.rb +10 -1
- data/spec/public/controller/cookies_spec.rb +38 -9
- data/spec/public/controller/spec_helper.rb +1 -0
- data/spec/public/controller/url_spec.rb +70 -1
- data/spec/public/directory_structure/directory/log/merb_test.log +461 -0
- data/spec/public/rack/conditinal_get_middleware_spec.rb +77 -89
- data/spec/public/rack/csrf_middleware_spec.rb +70 -0
- data/spec/public/reloading/directory/log/merb_test.log +52 -0
- data/spec/public/request/request_spec.rb +19 -1
- data/spec/public/router/fixation_spec.rb +26 -4
- data/spec/public/router/fixture/log/merb_test.log +234 -30332
- data/spec/public/session/controllers/sessions.rb +52 -0
- data/spec/public/session/cookie_session_spec.rb +73 -0
- data/spec/public/session/memcached_session_spec.rb +31 -0
- data/spec/public/session/memory_session_spec.rb +28 -0
- data/spec/public/session/multiple_sessions_spec.rb +74 -0
- data/spec/public/session/no_session_spec.rb +12 -0
- data/spec/public/session/session_spec.rb +91 -0
- data/spec/public/test/controllers/spec_helper_controller.rb +2 -1
- data/spec/public/test/request_helper_spec.rb +15 -0
- data/spec/spec_helper.rb +2 -2
- metadata +23 -5
- data/spec/private/dispatch/cookies_spec.rb +0 -219
- data/spec/private/dispatch/session_mixin_spec.rb +0 -47
@@ -0,0 +1,52 @@
|
|
1
|
+
module Merb::Test::Fixtures
|
2
|
+
|
3
|
+
module Controllers
|
4
|
+
|
5
|
+
class Testing < Merb::Controller
|
6
|
+
self._template_root = File.dirname(__FILE__) / "views"
|
7
|
+
end
|
8
|
+
|
9
|
+
class SessionsController < Testing
|
10
|
+
|
11
|
+
def index
|
12
|
+
request.session[:foo] = params[:foo]
|
13
|
+
Merb::Config[:session_store]
|
14
|
+
end
|
15
|
+
|
16
|
+
def regenerate
|
17
|
+
request.session.regenerate
|
18
|
+
end
|
19
|
+
|
20
|
+
def retrieve
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
class MultipleSessionsController < Testing
|
26
|
+
|
27
|
+
def store_in_cookie
|
28
|
+
request.session(:cookie)[:foo] = 'cookie-bar'
|
29
|
+
end
|
30
|
+
|
31
|
+
def store_in_memory
|
32
|
+
request.session(:memory)[:foo] = 'memory-bar'
|
33
|
+
end
|
34
|
+
|
35
|
+
def store_in_memcache
|
36
|
+
request.session(:memcache)[:foo] = 'memcache-bar'
|
37
|
+
end
|
38
|
+
|
39
|
+
def store_in_multiple
|
40
|
+
request.session(:memcache)[:foo] = 'memcache-baz'
|
41
|
+
request.session(:memory)[:foo] = 'memory-baz'
|
42
|
+
request.session(:cookie)[:foo] = 'cookie-baz'
|
43
|
+
end
|
44
|
+
|
45
|
+
def retrieve
|
46
|
+
end
|
47
|
+
|
48
|
+
end
|
49
|
+
|
50
|
+
end
|
51
|
+
|
52
|
+
end
|
@@ -0,0 +1,73 @@
|
|
1
|
+
$START_OPTIONS = { :session_store => "cookie", :session_secret_key => "session-secret-key-here" }
|
2
|
+
|
3
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
4
|
+
require File.join(File.dirname(__FILE__), "session_spec")
|
5
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
6
|
+
|
7
|
+
describe Merb::CookieSession do
|
8
|
+
|
9
|
+
before do
|
10
|
+
@session_class = Merb::CookieSession
|
11
|
+
@session = @session_class.generate
|
12
|
+
end
|
13
|
+
|
14
|
+
it_should_behave_like "All session-store backends"
|
15
|
+
|
16
|
+
it "should have a session_store_type class attribute" do
|
17
|
+
@session.class.session_store_type.should == :cookie
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
describe Merb::CookieSession, "mixed into Merb::Controller" do
|
23
|
+
|
24
|
+
before(:all) { @controller_klass = Merb::Test::Fixtures::Controllers::SessionsController }
|
25
|
+
|
26
|
+
it "should represent the controller session" do
|
27
|
+
controller = dispatch_to(@controller_klass, :index)
|
28
|
+
controller.body.should == "cookie"
|
29
|
+
controller.request.session.should be_kind_of(Merb::CookieSession)
|
30
|
+
end
|
31
|
+
|
32
|
+
it "should store and retrieve session data" do
|
33
|
+
with_cookies(@controller_klass) do
|
34
|
+
controller = dispatch_to(@controller_klass, :index, :foo => "cookie")
|
35
|
+
controller.request.session[:foo].should == "cookie"
|
36
|
+
|
37
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
38
|
+
controller.request.session[:foo].should == "cookie"
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
it "should allow regeneration of the session" do
|
43
|
+
with_cookies(@controller_klass) do
|
44
|
+
controller = dispatch_to(@controller_klass, :index, :foo => "cookie")
|
45
|
+
controller = dispatch_to(@controller_klass, :regenerate)
|
46
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
47
|
+
controller.request.session[:foo].should == "cookie"
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
51
|
+
it "shouldn't allow tampering with cookie data" do
|
52
|
+
with_cookies(@controller_klass) do |cookie_jar|
|
53
|
+
controller = dispatch_to(@controller_klass, :index, :foo => "cookie")
|
54
|
+
cookie_data, cookie_checksum = controller.cookies[Merb::Request._session_id_key].split('--')
|
55
|
+
cookie_data = 'tampered-with-data'
|
56
|
+
cookie_jar[Merb::Request._session_id_key] = "#{cookie_data}--#{cookie_checksum}"
|
57
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
58
|
+
lambda { controller.request.session }.should raise_error(Merb::CookieSession::TamperedWithCookie)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
it "shouldn't allow tampering with cookie fingerprints" do
|
63
|
+
with_cookies(@controller_klass) do |cookie_jar|
|
64
|
+
controller = dispatch_to(@controller_klass, :index, :foo => "cookie")
|
65
|
+
cookie_data, cookie_checksum = controller.cookies[Merb::Request._session_id_key].split('--')
|
66
|
+
cookie_checksum = 'tampered-with-checksum'
|
67
|
+
cookie_jar[Merb::Request._session_id_key] = "#{cookie_data}--#{cookie_checksum}"
|
68
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
69
|
+
lambda { controller.request.session }.should raise_error(Merb::CookieSession::TamperedWithCookie)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
end
|
@@ -0,0 +1,31 @@
|
|
1
|
+
$START_OPTIONS = { :session_store => "memcache" }
|
2
|
+
|
3
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
4
|
+
require File.join(File.dirname(__FILE__), "session_spec")
|
5
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
6
|
+
|
7
|
+
require 'memcached'
|
8
|
+
Merb::MemcacheSession.store = Memcached.new('127.0.0.1:11211', { :namespace => 'my_app' })
|
9
|
+
|
10
|
+
describe Merb::MemcacheSession do
|
11
|
+
|
12
|
+
before do
|
13
|
+
@session_class = Merb::MemcacheSession
|
14
|
+
@session = @session_class.generate
|
15
|
+
end
|
16
|
+
|
17
|
+
it_should_behave_like "All session-store backends"
|
18
|
+
|
19
|
+
it "should have a session_store_type class attribute" do
|
20
|
+
@session.class.session_store_type.should == :memcache
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
|
25
|
+
describe Merb::MemcacheSession, "mixed into Merb::Controller" do
|
26
|
+
|
27
|
+
before(:all) { @session_class = Merb::MemcacheSession }
|
28
|
+
|
29
|
+
it_should_behave_like "All session-stores mixed into Merb::Controller"
|
30
|
+
|
31
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
$START_OPTIONS = { :session_store => "memory" }
|
2
|
+
|
3
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
4
|
+
require File.join(File.dirname(__FILE__), "session_spec")
|
5
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
6
|
+
|
7
|
+
describe Merb::MemorySession do
|
8
|
+
|
9
|
+
before do
|
10
|
+
@session_class = Merb::MemorySession
|
11
|
+
@session = @session_class.generate
|
12
|
+
end
|
13
|
+
|
14
|
+
it_should_behave_like "All session-store backends"
|
15
|
+
|
16
|
+
it "should have a session_store_type class attribute" do
|
17
|
+
@session.class.session_store_type.should == :memory
|
18
|
+
end
|
19
|
+
|
20
|
+
end
|
21
|
+
|
22
|
+
describe Merb::MemorySession, "mixed into Merb::Controller" do
|
23
|
+
|
24
|
+
before(:all) { @session_class = Merb::MemorySession }
|
25
|
+
|
26
|
+
it_should_behave_like "All session-stores mixed into Merb::Controller"
|
27
|
+
|
28
|
+
end
|
@@ -0,0 +1,74 @@
|
|
1
|
+
$START_OPTIONS = { :session_stores => ["cookie", "memory", "memcache"], :session_secret_key => "session-secret-key-here" }
|
2
|
+
|
3
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
4
|
+
require File.join(File.dirname(__FILE__), "session_spec")
|
5
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
6
|
+
|
7
|
+
require 'memcached'
|
8
|
+
Merb::MemcacheSession.store = Memcached.new('127.0.0.1:11211', { :namespace => 'my_app' })
|
9
|
+
|
10
|
+
describe "An app with multiple session stores configured" do
|
11
|
+
|
12
|
+
before(:all) { @controller_klass = Merb::Test::Fixtures::Controllers::MultipleSessionsController }
|
13
|
+
|
14
|
+
it "should store cookie-based session data" do
|
15
|
+
with_cookies(@controller_klass) do
|
16
|
+
controller = dispatch_to(@controller_klass, :store_in_cookie)
|
17
|
+
controller.request.session(:cookie)[:foo].should == "cookie-bar"
|
18
|
+
controller.request.session[:foo].should == "cookie-bar" # defaults to the first registered store
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should retrieve cookie-based session data" do
|
23
|
+
with_cookies(@controller_klass) do
|
24
|
+
controller = dispatch_to(@controller_klass, :store_in_cookie)
|
25
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
26
|
+
controller.request.session(:cookie)[:foo].should == "cookie-bar"
|
27
|
+
controller.request.session[:foo].should == "cookie-bar" # defaults to the first registered store
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should store memory-based session data" do
|
32
|
+
with_cookies(@controller_klass) do
|
33
|
+
controller = dispatch_to(@controller_klass, :store_in_memory)
|
34
|
+
controller.request.session(:memory)[:foo].should == "memory-bar"
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
it "should retrieve memory-based session data" do
|
39
|
+
with_cookies(@controller_klass) do
|
40
|
+
controller = dispatch_to(@controller_klass, :store_in_memory)
|
41
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
42
|
+
controller.request.session(:memory)[:foo].should == "memory-bar"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should store memcache-based session data" do
|
47
|
+
with_cookies(@controller_klass) do
|
48
|
+
controller = dispatch_to(@controller_klass, :store_in_memcache)
|
49
|
+
controller.request.session(:memcache)[:foo].should == "memcache-bar"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should retrieve memcache-based session data" do
|
54
|
+
with_cookies(@controller_klass) do
|
55
|
+
controller = dispatch_to(@controller_klass, :store_in_memcache)
|
56
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
57
|
+
controller.request.session(:memcache)[:foo].should == "memcache-bar"
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
# TODO - _session_id cookies are clobbered atm - so this doesn't work yet
|
62
|
+
# it "should allow you to use them simultaneously" do
|
63
|
+
# with_cookies(@controller_klass) do
|
64
|
+
# controller = dispatch_to(@controller_klass, :store_in_multiple)
|
65
|
+
# controller.request.session(:cookie)[:foo].should == "cookie-baz"
|
66
|
+
#
|
67
|
+
# controller = dispatch_to(@controller_klass, :retrieve)
|
68
|
+
# controller.request.session(:cookie)[:foo].should =="cookie-baz"
|
69
|
+
# controller.request.session(:memory)[:foo].should == "memory-baz"
|
70
|
+
# controller.request.session(:memcache)[:foo].should == "memcache-baz"
|
71
|
+
# end
|
72
|
+
# end
|
73
|
+
|
74
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
2
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
3
|
+
|
4
|
+
describe "An app without sessions enabled" do
|
5
|
+
|
6
|
+
it "should raise an exception when accessing request.session" do
|
7
|
+
lambda {
|
8
|
+
controller = dispatch_to(Merb::Test::Fixtures::Controllers::SessionsController, :index)
|
9
|
+
}.should raise_error(Merb::SessionMixin::NoSessionContainer)
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,91 @@
|
|
1
|
+
require File.join(File.dirname(__FILE__), "..", "..", "spec_helper")
|
2
|
+
require File.join(File.dirname(__FILE__), "controllers", "sessions")
|
3
|
+
|
4
|
+
# The Merb::Session module gets mixed into Merb::SessionContainer to allow
|
5
|
+
# app-level functionality (usually found in app/models/merb/session.rb)
|
6
|
+
module Merb
|
7
|
+
module Session
|
8
|
+
|
9
|
+
def awesome?
|
10
|
+
self[:foo] == 'awesome'
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
describe "All session-store backends", :shared => true do
|
17
|
+
|
18
|
+
it "should be instanciated using the 'generate' method" do
|
19
|
+
@session_class.generate.should be_kind_of(@session_class)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should store the session_id" do
|
23
|
+
@session.session_id.should match(/^[0-9a-f]{32}$/)
|
24
|
+
end
|
25
|
+
|
26
|
+
it "should have bracket accessors for setting data" do
|
27
|
+
@session.should respond_to(:[]=)
|
28
|
+
@session.should respond_to(:[])
|
29
|
+
@session[:foo] = 'bar'
|
30
|
+
@session[:foo].should == 'bar'
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
describe "All session-stores mixed into Merb::Controller", :shared => true do
|
36
|
+
|
37
|
+
before(:all) { @controller_klass = Merb::Test::Fixtures::Controllers::SessionsController }
|
38
|
+
|
39
|
+
it "should represent the controller session" do
|
40
|
+
with_cookies(@controller_klass) do
|
41
|
+
controller = dispatch_to(@controller_klass, :index)
|
42
|
+
controller.request.session.should be_kind_of(@session_class)
|
43
|
+
end
|
44
|
+
end
|
45
|
+
|
46
|
+
it "should store session data" do
|
47
|
+
session_store_type = @session_class.session_store_type.to_s
|
48
|
+
with_cookies(@controller_klass) do
|
49
|
+
controller = dispatch_to(@controller_klass, :index, :foo => session_store_type)
|
50
|
+
controller.request.session[:foo].should == session_store_type
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
it "should retrieve session data" do
|
55
|
+
session_store_type = @session_class.session_store_type.to_s
|
56
|
+
with_cookies(@controller_klass) do
|
57
|
+
controller = dispatch_to(@controller_klass, :index, :foo => session_store_type)
|
58
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
59
|
+
controller.request.session[:foo].should == session_store_type
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
it "should allow regeneration of the session" do
|
64
|
+
session_store_type = @session_class.session_store_type.to_s
|
65
|
+
with_cookies(@controller_klass) do
|
66
|
+
controller = dispatch_to(@controller_klass, :index, :foo => session_store_type)
|
67
|
+
controller = dispatch_to(@controller_klass, :regenerate)
|
68
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
69
|
+
controller.request.session[:foo].should == session_store_type
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
it "should not set the Set-Cookie header when the session(_id) didn't change" do
|
74
|
+
session_store_type = @session_class.session_store_type.to_s
|
75
|
+
with_cookies(@controller_klass) do
|
76
|
+
controller = dispatch_to(@controller_klass, :index, :foo => session_store_type)
|
77
|
+
controller.headers["Set-Cookie"].should_not be_blank
|
78
|
+
controller = dispatch_to(@controller_klass, :retrieve)
|
79
|
+
controller.headers["Set-Cookie"].should be_blank
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
83
|
+
it "should have mixed in Merb::Session methods" do
|
84
|
+
with_cookies(@controller_klass) do
|
85
|
+
controller = dispatch_to(@controller_klass, :index, :foo => 'awesome')
|
86
|
+
controller.request.session.should respond_to(:awesome?)
|
87
|
+
controller.request.session.should be_awesome
|
88
|
+
end
|
89
|
+
end
|
90
|
+
|
91
|
+
end
|
@@ -7,6 +7,20 @@ Dir[File.join(File.dirname(__FILE__), "controllers/**/*.rb")].each do |f|
|
|
7
7
|
end
|
8
8
|
|
9
9
|
describe Merb::Test::RequestHelper do
|
10
|
+
|
11
|
+
describe Merb::Test::RequestHelper::CookieJar do
|
12
|
+
|
13
|
+
it "should update its values from a request object" do
|
14
|
+
cookie_jar = Merb::Test::RequestHelper::CookieJar.new
|
15
|
+
cookie_jar.should be_empty
|
16
|
+
request = fake_request
|
17
|
+
request.cookies[:foo] = "bar+baz" # escaped by default
|
18
|
+
cookie_jar.update_from_request request
|
19
|
+
cookie_jar[:foo].should == 'bar baz'
|
20
|
+
end
|
21
|
+
|
22
|
+
end
|
23
|
+
|
10
24
|
describe "#dispatch_to" do
|
11
25
|
|
12
26
|
before(:all) do
|
@@ -205,6 +219,7 @@ describe Merb::Test::RequestHelper do
|
|
205
219
|
controller.class.should == Namespaced::SpecHelperController
|
206
220
|
end
|
207
221
|
end
|
222
|
+
|
208
223
|
end
|
209
224
|
|
210
225
|
module Merb::Test::RequestHelper
|
data/spec/spec_helper.rb
CHANGED
@@ -5,7 +5,7 @@ require File.join(File.dirname(__FILE__), "..", "lib", "merb-core")
|
|
5
5
|
|
6
6
|
default_options = {:environment => 'test', :adapter => 'runner'}
|
7
7
|
options = default_options.merge($START_OPTIONS || {})
|
8
|
-
Merb.
|
8
|
+
Merb.start_environment(options)
|
9
9
|
|
10
10
|
# -- Global custom matchers --
|
11
11
|
|
@@ -92,10 +92,10 @@ module Merb
|
|
92
92
|
end
|
93
93
|
end
|
94
94
|
|
95
|
-
|
96
95
|
Spec::Runner.configure do |config|
|
97
96
|
config.include Merb::Test::Helper
|
98
97
|
config.include Merb::Test::RspecMatchers
|
98
|
+
config.include Merb::Test::Rspec::ViewMatchers
|
99
99
|
config.include Merb::Test::RequestHelper
|
100
100
|
|
101
101
|
def with_level(level)
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: merb-core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ezra Zygmuntowicz
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2008-
|
12
|
+
date: 2008-09-09 00:00:00 +03:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -20,7 +20,7 @@ dependencies:
|
|
20
20
|
requirements:
|
21
21
|
- - ">="
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.9.
|
23
|
+
version: 0.9.5
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: erubis
|
@@ -127,6 +127,9 @@ files:
|
|
127
127
|
- README
|
128
128
|
- Rakefile
|
129
129
|
- TODO
|
130
|
+
- CHANGELOG
|
131
|
+
- PUBLIC_CHANGELOG
|
132
|
+
- CONTRIBUTORS
|
130
133
|
- docs/bootloading.dox
|
131
134
|
- docs/documentation_standards
|
132
135
|
- docs/merb-core-call-stack-diagram.mmap
|
@@ -146,7 +149,6 @@ files:
|
|
146
149
|
- spec/private/core_ext/kernel_spec.rb
|
147
150
|
- spec/private/dispatch
|
148
151
|
- spec/private/dispatch/bootloader_spec.rb
|
149
|
-
- spec/private/dispatch/cookies_spec.rb
|
150
152
|
- spec/private/dispatch/fixture
|
151
153
|
- spec/private/dispatch/fixture/app
|
152
154
|
- spec/private/dispatch/fixture/app/controllers
|
@@ -183,7 +185,6 @@ files:
|
|
183
185
|
- spec/private/dispatch/fixture/public/stylesheets
|
184
186
|
- spec/private/dispatch/fixture/public/stylesheets/master.css
|
185
187
|
- spec/private/dispatch/route_params_spec.rb
|
186
|
-
- spec/private/dispatch/session_mixin_spec.rb
|
187
188
|
- spec/private/dispatch/spec_helper.rb
|
188
189
|
- spec/private/router
|
189
190
|
- spec/private/router/behavior_spec.rb
|
@@ -324,11 +325,13 @@ files:
|
|
324
325
|
- spec/public/controller
|
325
326
|
- spec/public/controller/authentication_spec.rb
|
326
327
|
- spec/public/controller/base_spec.rb
|
328
|
+
- spec/public/controller/conditional_get_spec.rb
|
327
329
|
- spec/public/controller/config
|
328
330
|
- spec/public/controller/config/init.rb
|
329
331
|
- spec/public/controller/controllers
|
330
332
|
- spec/public/controller/controllers/authentication.rb
|
331
333
|
- spec/public/controller/controllers/base.rb
|
334
|
+
- spec/public/controller/controllers/conditional_get.rb
|
332
335
|
- spec/public/controller/controllers/cookies.rb
|
333
336
|
- spec/public/controller/controllers/dispatcher.rb
|
334
337
|
- spec/public/controller/controllers/display.rb
|
@@ -402,6 +405,7 @@ files:
|
|
402
405
|
- spec/public/logger/spec_helper.rb
|
403
406
|
- spec/public/rack
|
404
407
|
- spec/public/rack/conditinal_get_middleware_spec.rb
|
408
|
+
- spec/public/rack/csrf_middleware_spec.rb
|
405
409
|
- spec/public/rack/rack_middleware_spec.rb
|
406
410
|
- spec/public/rack/shared_example_groups.rb
|
407
411
|
- spec/public/reloading
|
@@ -433,6 +437,15 @@ files:
|
|
433
437
|
- spec/public/router/spec_helper.rb
|
434
438
|
- spec/public/router/special_spec.rb
|
435
439
|
- spec/public/router/string_spec.rb
|
440
|
+
- spec/public/session
|
441
|
+
- spec/public/session/controllers
|
442
|
+
- spec/public/session/controllers/sessions.rb
|
443
|
+
- spec/public/session/cookie_session_spec.rb
|
444
|
+
- spec/public/session/memcached_session_spec.rb
|
445
|
+
- spec/public/session/memory_session_spec.rb
|
446
|
+
- spec/public/session/multiple_sessions_spec.rb
|
447
|
+
- spec/public/session/no_session_spec.rb
|
448
|
+
- spec/public/session/session_spec.rb
|
436
449
|
- spec/public/template
|
437
450
|
- spec/public/template/template_spec.rb
|
438
451
|
- spec/public/template/templates
|
@@ -465,6 +478,7 @@ files:
|
|
465
478
|
- lib/merb-core/controller/mime.rb
|
466
479
|
- lib/merb-core/controller/mixins
|
467
480
|
- lib/merb-core/controller/mixins/authentication.rb
|
481
|
+
- lib/merb-core/controller/mixins/conditional_get.rb
|
468
482
|
- lib/merb-core/controller/mixins/controller.rb
|
469
483
|
- lib/merb-core/controller/mixins/render.rb
|
470
484
|
- lib/merb-core/controller/mixins/responder.rb
|
@@ -489,9 +503,11 @@ files:
|
|
489
503
|
- lib/merb-core/dispatch/router/route.rb
|
490
504
|
- lib/merb-core/dispatch/router.rb
|
491
505
|
- lib/merb-core/dispatch/session
|
506
|
+
- lib/merb-core/dispatch/session/container.rb
|
492
507
|
- lib/merb-core/dispatch/session/cookie.rb
|
493
508
|
- lib/merb-core/dispatch/session/memcached.rb
|
494
509
|
- lib/merb-core/dispatch/session/memory.rb
|
510
|
+
- lib/merb-core/dispatch/session/store_container.rb
|
495
511
|
- lib/merb-core/dispatch/session.rb
|
496
512
|
- lib/merb-core/dispatch/worker.rb
|
497
513
|
- lib/merb-core/gem_ext
|
@@ -517,12 +533,14 @@ files:
|
|
517
533
|
- lib/merb-core/rack/middleware
|
518
534
|
- lib/merb-core/rack/middleware/conditional_get.rb
|
519
535
|
- lib/merb-core/rack/middleware/content_length.rb
|
536
|
+
- lib/merb-core/rack/middleware/csrf.rb
|
520
537
|
- lib/merb-core/rack/middleware/path_prefix.rb
|
521
538
|
- lib/merb-core/rack/middleware/profiler.rb
|
522
539
|
- lib/merb-core/rack/middleware/static.rb
|
523
540
|
- lib/merb-core/rack/middleware/tracer.rb
|
524
541
|
- lib/merb-core/rack/middleware.rb
|
525
542
|
- lib/merb-core/rack.rb
|
543
|
+
- lib/merb-core/script.rb
|
526
544
|
- lib/merb-core/server.rb
|
527
545
|
- lib/merb-core/tasks
|
528
546
|
- lib/merb-core/tasks/audit.rake
|