diff --git a/README.textile b/README.textile index 3829eaa..c41e660 100644 --- a/README.textile +++ b/README.textile @@ -26,7 +26,7 @@ url = Domainatrix.parse("http://www.pauldix.net") url.url # => "http://www.pauldix.net" (the original url) url.public_suffix # => "net" url.domain # => "pauldix" -url.canonical # => "net.pauldix" +url.canonical # => "net.pauldix.www" url = Domainatrix.parse("http://foo.bar.pauldix.co.uk/asdf.html?q=arg") url.public_suffix # => "co.uk" diff --git a/lib/domainatrix/domain_parser.rb b/lib/domainatrix/domain_parser.rb index 22452eb..a3a78ff 100644 --- a/lib/domainatrix/domain_parser.rb +++ b/lib/domainatrix/domain_parser.rb @@ -32,7 +32,7 @@ def read_dat_file(file_name) def parse(url) return {} unless url && url.strip != '' - url = "http://#{url}" unless url[/:\/\//] + url = "http://#{url.gsub(/^\/*/,'')}" unless url[/:\/\//] uri = URI.parse(url) if uri.query path = "#{uri.path}?#{uri.query}" diff --git a/spec/domainatrix/domain_parser_spec.rb b/spec/domainatrix/domain_parser_spec.rb index a00df73..9f8cdc8 100644 --- a/spec/domainatrix/domain_parser_spec.rb +++ b/spec/domainatrix/domain_parser_spec.rb @@ -31,6 +31,9 @@ it "includes the original url" do @domain_parser.parse("http://www.pauldix.net")[:url].should == "http://www.pauldix.net" + @domain_parser.parse("//www.pauldix.net")[:url].should == "http://www.pauldix.net" + @domain_parser.parse("/www.pauldix.net")[:url].should == "http://www.pauldix.net" + @domain_parser.parse("www.pauldix.net")[:url].should == "http://www.pauldix.net" end it "includes the scheme" do