Sé que hay bibliotecas en otros idiomas que pueden tomar una cadena que contenga una ruta a un archivo local o una URL y abrirla como una secuencia de E / S legible.
¿Existe una manera fácil de hacer esto en ruby?
open-uri es parte de la biblioteca estándar de Ruby, y redefinirá el comportamiento de openpara que pueda abrir una URL, así como un archivo local. Devuelve un Fileobjeto, por lo que debería poder llamar a métodos como ready 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").readopen-urino transmitirá un archivo, por lo que no puede leer un primer 4k de él.open-urileerá un archivo completo en la memoria en el momento de la apertura.URI.parse('http://www.stackoverflow.com').open { |f| f.read }Si busca una forma de asegurarse, no llameKernal.open. También evita las reglas de seguridad de Rubocop.