Вы должны построить свою систему через адресуемый / uri , этот гем будет заботиться о URI (путь, хост, порт), и вы просто предоставите схему по умолчанию, http
.
(gem install addressable
).
Пример
>> uri = Addressable::URI.parse("http://google.com?q=lolcat")
=> #<Addressable::URI:0x80bcf0e0 URI:http://google.com?q=lolcat>
>> [uri.host,uri.path,uri.scheme]
=> ["google.com", "", "http"]
В основном вам нужно просто определить, присутствует ли http: //, и добавить его, если это не так, потому что URI не угадал бы его для вас. И это сделано, больше ничего не нужно обрабатывать вручную.