不確定な URL に新しいパラメーターを追加する必要がありますparam=value
。
実際の URL にすでにこのようなパラメータがある場合
http://url.com?p1=v1&p2=v2
URL を次のように変換する必要があります。
http://url.com?p1=v1&p2=v2¶m=value
ただし、URL に次のようなパラメーターがまだない場合:
http://url.com
URL を次のように変換する必要があります。
http://url.com?param=value
の存在を探すだけで&
は十分かどうかわからないので、これを正規表現で解決するのは心配です。URL をURIオブジェクトに変換してから、param を追加して再度 String に変換する必要があるのではないかと考えています。
すでにこの状況に陥っている人からの提案を探しています。
アップデート
参加を支援するために、基本的なテスト スイートを共有しています。
require "minitest"
require "minitest/autorun"
def add_param(url, param_name, param_value)
# the code here
"not implemented"
end
class AddParamTest < Minitest::Test
def test_add_param
assert_equal("http://url.com?param=value", add_param("http://url.com", "param", "value"))
assert_equal("http://url.com?p1=v1&p2=v2¶m=value", add_param("http://url.com?p1=v1&p2=v2", "param", "value"))
assert_equal("http://url.com?param=value#&tro&lo&lo", add_param("http://url.com#&tro&lo&lo", "param", "value"))
assert_equal("http://url.com?p1=v1&p2=v2¶m=value#&tro&lo&lo", add_param("http://url.com?p1=v1&p2=v2#&tro&lo&lo", "param", "value"))
end
end