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

push host / port / protocol extraction up

Then we only need to extract host once.
上级 41a7c443
......@@ -29,7 +29,8 @@ def extract_subdomain(host, tld_length)
end
def url_for(options)
unless options[:host] || options[:only_path]
host = options[:host]
unless host || options[:only_path]
raise ArgumentError, 'Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true'
end
......@@ -41,7 +42,9 @@ def url_for(options)
result = if options[:only_path]
path
else
build_host_url(options).concat path
protocol = options[:protocol]
port = options[:port]
build_host_url(host, port, protocol, options).concat path
end
if options.key? :params
......@@ -80,10 +83,7 @@ def add_trailing_slash(path)
path
end
def build_host_url(options)
protocol = options[:protocol]
host = options[:host]
port = options[:port]
def build_host_url(host, port, protocol, options)
if match = host.match(HOST_REGEXP)
protocol ||= match[1] unless protocol == false
host = match[2]
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册