Знаете ли вы о open-uri ?
require 'open-uri'
open("/home/me/file.txt") { |f| ... }
open("http://www.google.com") { |f| ... }
Таким образом, чтобы поддержать либо "http://", либо" file: // "в одном операторе, просто удалите" file ": // "от начала URI, если он присутствует (и нет необходимости выполнять какую-либо обработку для" http://"),, например, так:
uri = ...
open(uri.sub(%r{^file://}, ''))