aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_dispatch/http/url.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-12-03 13:27:43 +0100
committerJosé Valim <jose.valim@gmail.com>2010-12-03 13:27:43 +0100
commit226ea0e9e817a2e449d989d925c36cf6a4cfd67b (patch)
tree0f48dd20921a000907962e860a1478c8d1a45070 /actionpack/lib/action_dispatch/http/url.rb
parent78afe68afbfec229db50148c00e48417cd2a352f (diff)
downloadrails-226ea0e9e817a2e449d989d925c36cf6a4cfd67b.tar.gz
rails-226ea0e9e817a2e449d989d925c36cf6a4cfd67b.tar.bz2
rails-226ea0e9e817a2e449d989d925c36cf6a4cfd67b.zip
Wrap everything in class << self.
Diffstat (limited to 'actionpack/lib/action_dispatch/http/url.rb')
-rw-r--r--actionpack/lib/action_dispatch/http/url.rb79
1 files changed, 37 insertions, 42 deletions
diff --git a/actionpack/lib/action_dispatch/http/url.rb b/actionpack/lib/action_dispatch/http/url.rb
index 51d4766282..796cd8c09b 100644
--- a/actionpack/lib/action_dispatch/http/url.rb
+++ b/actionpack/lib/action_dispatch/http/url.rb
@@ -4,55 +4,54 @@ module ActionDispatch
mattr_accessor :tld_length
self.tld_length = 1
- def self.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)
- return [] unless named_host?(host)
- parts = host.split('.')
- parts[0..-(tld_length+2)]
- end
-
- def self.extract_subdomain(host, tld_length = @@tld_length)
- extract_subdomains(host, tld_length).join('.')
- end
+ 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.named_host?(host)
- !(host.nil? || /\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/.match(host))
- end
+ def extract_subdomains(host, tld_length = @@tld_length)
+ return [] unless named_host?(host)
+ parts = host.split('.')
+ parts[0..-(tld_length+2)]
+ end
- def self.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'
+ def extract_subdomain(host, tld_length = @@tld_length)
+ extract_subdomains(host, tld_length).join('.')
end
- rewritten_url = ""
+ 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
- unless options[:only_path]
- rewritten_url << (options[:protocol] || "http")
- rewritten_url << "://" unless rewritten_url.match("://")
- rewritten_url << rewrite_authentication(options)
- rewritten_url << host_or_subdomain_and_domain(options)
- rewritten_url << ":#{options.delete(:port)}" if options[:port]
- end
+ rewritten_url = ""
- path = options.delete(:path) || ''
+ unless options[:only_path]
+ rewritten_url << (options[:protocol] || "http")
+ rewritten_url << "://" unless rewritten_url.match("://")
+ rewritten_url << rewrite_authentication(options)
+ rewritten_url << host_or_subdomain_and_domain(options)
+ rewritten_url << ":#{options.delete(:port)}" if options[:port]
+ end
- params = options[:params] || {}
- params.reject! {|k,v| !v }
+ path = options.delete(:path) || ''
- rewritten_url << (options[:trailing_slash] ? path.sub(/\?|\z/) { "/" + $& } : path)
- rewritten_url << "?#{params.to_query}" unless params.empty?
- rewritten_url << "##{Rack::Mount::Utils.escape_uri(options[:anchor].to_param.to_s)}" if options[:anchor]
- rewritten_url
- end
+ params = options[:params] || {}
+ params.reject! {|k,v| !v }
+
+ rewritten_url << (options[:trailing_slash] ? path.sub(/\?|\z/) { "/" + $& } : path)
+ rewritten_url << "?#{params.to_query}" unless params.empty?
+ rewritten_url << "##{Rack::Mount::Utils.escape_uri(options[:anchor].to_param.to_s)}" if options[:anchor]
+ 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 @@ module ActionDispatch
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 @@ module ActionDispatch
def subdomain(tld_length = @@tld_length)
subdomains(tld_length)
end
-
end
end
end