Usando o rest-client para baixar um arquivo em disco sem carregar tudo primeiro na memória

Estou usando o rest-client para baixar uma página grande (com cerca de 1,5 GB de tamanho). O valor recuperado é armazenado na memória e salvo em um arquivo. Como resultado, meu programa falha comfailed to allocate memory (NoMemoryError).

Mas não é necessário manter esses dados na memória, eles podem até ser salvos diretamente no disco.

Eu descobri "Você pode: (...) manipular manualmente a resposta (por exemplo, operar nela como um fluxo em vez de ler tudo na memória). Consulte a documentação do RestClient :: Request para obter mais informações." emhttps://github.com/rest-client/rest-client Infelizmente depois de lerhttp://www.rubydoc.info/gems/rest-client/1.7.3/RestClient/Request Não tenho ideia de como isso pode ser realizado.

Também sei que posso usar outra biblioteca (Usando WWW: Mechanize para baixar um arquivo em disco sem carregar tudo primeiro na memória), mas meu programa já está usando rest-client.

Código simplificado:

data = RestClient::Request.execute(:method => :get, :url => url, :timeout => 3600)
file = File.new(filename, 'w')
file.write data
file.close

Código -https://github.com/mkoniecz/CartoCSSHelper/blob/395deab626209bcdafd675c2d8e08d0e3dd0c7f9/downloader.rb#L126

questionAnswers(2)

yourAnswerToTheQuestion