Спасибо Крису Хилду за ваш ответ. В итоге я использовал Net :: HTTP, потому что он был более простым, чем я думал, в конце концов. HTTParty выглядит так, как будто это могло бы сделать это еще проще, но в интересах будущих людей с этой проблемой вот что я сделал.
# Assume @user_name and @password were previously declared to be the
# appropriate basic auth values and that the connection is open as @connection
def put(path, body, header={})
request = Net::HTTP::Put.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'}))
request.basic_auth(@user_name, @password)
@connection.request(request, body).body
end
def post(path, body, header={})
request = Net::HTTP::Post.new(path, header.merge({'Accept' => 'application/xml,application/json', 'Content-type'=>'application/json'}))
request.basic_auth(@user_name, @password)
@connection.request(request, body).body
end
def get(path, header={})
request = Net::HTTP::Get.new(path)
request.basic_auth(@user_name, @password)
@connection.request(request).body
end
Затем я вызвал JSON :: parse () на выходе этих методов и получил хеш, представляющий JSON, который я мог использовать по своему усмотрению.