open

open(name, *rest, &block)
private
makes possible to open various resources including URIs. If the first argument respond to `open’ method, the method is called with the rest arguments.
If the first argument is a string which begins with xxx://, it is parsed by URI.parse. If the parsed object respond to `open’ method, the method is called with the rest arguments.
Otherwise original open is called.
Since open-uri.rb provides URI::HTTP#open, URI::HTTPS#open and URI::FTP#open, Kernel[#.]open can accepts such URIs and strings which begins with http://, https:// and ftp://. In these case, the opened file object is extended by OpenURI::Meta.