Я ищу удобный и функциональный способ добавления кодированных значений в строку запроса URL в Ruby. На данный момент у меня есть:
require 'open-uri'
u = URI::HTTP.new("http", nil, "mydomain.example", nil, nil, "/tv", nil, "show=" + URI::encode("Rosie & Jim"), nil)
p u.to_s # => "http://mydomain.example/tv?show=Rosie%20&%20Jim"
Это не то, что я ищу, потому что мне нужно получить
"http://mydomain.example/tv?show=Rosie%20%26%20Jim"
, чтобы значение show=
не было усеченным.
Есть ли у Open::URI другой метод, который мог бы это сделать? Если нет, можно ли это сделать с помощью любого другого стандартного метода Ruby или gem?