提交 59b9fe96 编写于 作者: A Aaron Patterson

reuse the route collection and formatter by clearing them

上级 4ffe667a
......@@ -228,6 +228,13 @@ def initialize(request_class = ActionDispatch::Request)
@append = []
@prepend = []
@disable_clear_and_finalize = false
@set = Journey::Routes.new
@router = Journey::Router.new(@set, {
:parameters_key => PARAMETERS_KEY,
:request_class => request_class})
@formatter = Journey::Formatter.new @set
clear!
end
......@@ -270,11 +277,8 @@ def clear!
@finalized = false
routes.clear
named_routes.clear
@set = Journey::Routes.new
@router = Journey::Router.new(@set, {
:parameters_key => PARAMETERS_KEY,
:request_class => request_class})
@formatter = Journey::Formatter.new @set
set.clear
formatter.clear
@prepend.each { |blk| eval_block(blk) }
end
......@@ -343,7 +347,7 @@ def empty?
def add_route(app, conditions = {}, requirements = {}, defaults = {}, name = nil, anchor = true)
raise ArgumentError, "Invalid route name: '#{name}'" unless name.blank? || name.to_s.match(/^[_a-z]\w*$/i)
route = Route.new(self, app, conditions, requirements, defaults, name, anchor)
@set.add_route(route.app, route.conditions, route.defaults, route.name)
@set.add_route(app, route.conditions, defaults, name)
named_routes[name] = route if name
routes << route
route
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册