Respostas:
open-uri faz parte da biblioteca Ruby padrão e redefinirá o comportamento de open
para que você possa abrir uma url, bem como um arquivo local. Ele retorna um File
objeto, então você deve ser capaz de chamar métodos como read
e readlines
.
require 'open-uri'
file_contents = open('local-file.txt') { |f| f.read }
web_contents = open('http://www.stackoverflow.com') {|f| f.read }
content = open("http://example.com").read
open-uri
não irá transmitir um arquivo, então você não pode ler os primeiros 4k dele. open-uri
lerá um arquivo inteiro na memória no momento da abertura.
URI.parse('http://www.stackoverflow.com').open { |f| f.read }
Se você está procurando uma forma de segurar não ligue Kernal.open
. Também contorna as regras de segurança do Rubocop.