提交 226ea0e9 编写于 作者: J José Valim

Wrap everything in class << self.

上级 78afe68a
......@@ -4,27 +4,23 @@ module URL
mattr_accessor :tld_length
self.tld_length = 1
def self.extract_domain(host, tld_length = @@tld_length)
class << self
def extract_domain(host, tld_length = @@tld_length)
return nil unless named_host?(host)
host.split('.').last(1 + tld_length).join('.')
end
def self.extract_subdomains(host, tld_length = @@tld_length)
def extract_subdomains(host, tld_length = @@tld_length)
return [] unless named_host?(host)
parts = host.split('.')
parts[0..-(tld_length+2)]
end
def self.extract_subdomain(host, tld_length = @@tld_length)
def extract_subdomain(host, tld_length = @@tld_length)
extract_subdomains(host, tld_length).join('.')
end
def self.named_host?(host)
!(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host))
end
def self.url_for(options = {})
def url_for(options = {})
unless options[:host].present? || options[:only_path].present?
raise ArgumentError, 'Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true'
end
......@@ -50,9 +46,12 @@ def self.url_for(options = {})
rewritten_url
end
class << self
private
def named_host?(host)
!(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host))
end
def rewrite_authentication(options)
if options[:user] && options[:password]
"#{Rack::Utils.escape(options[:user])}:#{Rack::Utils.escape(options[:password])}@"
......@@ -72,11 +71,8 @@ def host_or_subdomain_and_domain(options)
host << (options[:domain] || extract_domain(options[:host], tld_length))
host
end
end
# Returns the complete URL used for this request.
def url
protocol + host_with_port + fullpath
......@@ -168,7 +164,6 @@ def subdomains(tld_length = @@tld_length)
def subdomain(tld_length = @@tld_length)
subdomains(tld_length)
end
end
end
end
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册