Я использую что-то вроде следующего, это довольно просто и не заставляет вас создавать собственную строку запроса:
require 'net/http'
response = nil
Net::HTTP.start "example.com", 80 do |http|
request = Net::HTTP::Get.new "/endpoint"
request.form_data = {:q => "123"}
response = http.request(request)
end