Вы можете использовать curl напрямую в Ruby, вместо этого, в зависимости от команды и жестко заданных параметров - текущий код сложнее поддерживать и не говорит вам точно, что может быть не так, если что-то случится. См. Рубиновый локон .
На самом деле идеальным вариантом было бы отказаться от использования curl и использовать rest-client .
Hash.from_xml(RestClient.get('http://localhost:8888/', :admin=>true))
Нет зависимостей - только чистый рубин. Правильные исключения подняты в любом случае. Тривиальная спецификация параметров. Доступен глагол POST.