Como associar com segurança segmentos de URL relativos?

Estou tentando encontrar um método robusto para unir segmentos de caminho de URL parcial. Existe uma maneira rápida de fazer isso?

Eu tentei o seguinte:

puts URI::join('resource/', '/edit', '12?option=test')

Eu espero

resource/edit/12?option=test

Mas eu recebo o erro:

`merge': both URI are relative (URI::BadURIError)

Eu tenho usadoFile.join() no passado para isso, mas algo não parece certo sobre o uso da biblioteca de arquivos para URL

questionAnswers(18)

yourAnswerToTheQuestion