提交 d783ba20 编写于 作者: A Aaron Patterson

move optimize_helper? to the helper instance

上级 532e1228
......@@ -173,8 +173,13 @@ def self.create(route, options)
end
def initialize(route, options)
@options = options
@options = options
@segment_keys = route.segment_keys
@route = route
end
def optimize_helper?
@route.requirements.except(:controller, :action).empty?
end
def url_else(t, args)
......@@ -216,14 +221,17 @@ def define_url_helper(route, name, options)
# end
# end
#END_EVAL
ohelp = optimize_helper?(route)
ohelper = optimized_helper(route)
arg_size = route.required_parts.size
helper = UrlHelper.create(route, options.dup)
ohelp = helper.optimize_helper?
ohelper = optimized_helper(route)
arg_size = route.required_parts.size
@module.module_eval do
define_method(name) do |*args|
#helper.call t, args
if ohelp && args.size == arg_size && !args.last.is_a?(Hash) && optimize_routes_generation?
helper.url_if(self, eval("\"#{ohelper}\""))
else
......@@ -235,11 +243,6 @@ def define_url_helper(route, name, options)
helpers << name
end
# Clause check about when we need to generate an optimized helper.
def optimize_helper?(route) #:nodoc:
route.requirements.except(:controller, :action).empty?
end
# Generates the interpolation to be used in the optimized helper.
def optimized_helper(route)
string_route = route.ast.to_s
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册