Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

decouple the router object from the request class

  • Loading branch information...
commit 0f5e3a9f6b8a5c292092fb73a5071af102242e57 1 parent 6fd8346
@tenderlove tenderlove authored
View
8 actionpack/lib/action_dispatch/journey/router.rb
@@ -20,13 +20,11 @@ class RoutingError < ::StandardError # :nodoc:
# :nodoc:
VERSION = '2.0.0'
- attr_reader :request_class, :formatter
+ attr_reader :formatter
attr_accessor :routes
- def initialize(routes, options)
- @options = options
- @request_class = options[:request_class]
- @routes = routes
+ def initialize(routes)
+ @routes = routes
end
def serve(req)
View
3  actionpack/lib/action_dispatch/routing/route_set.rb
@@ -302,8 +302,7 @@ def initialize(request_class = ActionDispatch::Request)
@finalized = false
@set = Journey::Routes.new
- @router = Journey::Router.new(@set, {
- :request_class => request_class})
+ @router = Journey::Router.new @set
@formatter = Journey::Formatter.new @set
end
View
20 actionpack/test/journey/router_test.rb
@@ -12,18 +12,10 @@ class StubDispatcher < Routing::RouteSet::Dispatcher; end
def setup
@app = StubDispatcher.new
@routes = Routes.new
- @router = Router.new(@routes, {
- :request_class => ActionDispatch::Request
- })
+ @router = Router.new(@routes)
@formatter = Formatter.new(@routes)
end
- def test_request_class_reader
- klass = Object.new
- router = Router.new(routes, :request_class => klass)
- assert_equal klass, router.request_class
- end
-
class FakeRequestFeeler < Struct.new(:env, :called)
def new env
self.env = env
@@ -41,7 +33,7 @@ def ip; env['REMOTE_ADDR']; end
end
def test_dashes
- router = Router.new(routes, { :request_class => ActionDispatch::Request })
+ router = Router.new(routes)
exp = Router::Strexp.new '/foo-bar-baz', {}, ['/.?']
path = Path::Pattern.new exp
@@ -57,7 +49,7 @@ def test_dashes
end
def test_unicode
- router = Router.new(routes, { :request_class => ActionDispatch::Request })
+ router = Router.new(routes)
#match the escaped version of /ほげ
exp = Router::Strexp.new '/%E3%81%BB%E3%81%92', {}, ['/.?']
@@ -75,7 +67,7 @@ def test_unicode
def test_request_class_and_requirements_success
klass = FakeRequestFeeler.new nil
- router = Router.new(routes, {})
+ router = Router.new(routes)
requirements = { :hello => /world/ }
@@ -95,7 +87,7 @@ def test_request_class_and_requirements_success
def test_request_class_and_requirements_fail
klass = FakeRequestFeeler.new nil
- router = Router.new(routes, {})
+ router = Router.new(routes)
requirements = { :hello => /mom/ }
@@ -124,7 +116,7 @@ def path_info=(x)
end
def test_request_class_overrides_path_info
- router = Router.new(routes, {:request_class => CustomPathRequest })
+ router = Router.new(routes)
exp = Router::Strexp.new '/bar', {}, ['/.?']
path = Path::Pattern.new exp
Please sign in to comment.
Something went wrong with that request. Please try again.