Kernel (Module)

In: open-uri.rb

Methods

open  

External Aliases

open -> open_uri_original_open

Private Instance methods

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 and URI::FTP#open, Kernel[#.]open can accepts such URIs and strings which begins with http:// and ftp://. In this http and ftp case, the opened file object is extended by OpenURI::Meta.

[Source]

# File open-uri.rb, line 79
  def open(name, *rest, &block) # :doc:

    if name.respond_to?(:open)
      name.open(*rest, &block)
    elsif name.respond_to?(:to_str) &&
          %{\A[A-Za-z][A-Za-z0-9+\-\.]*://} =~ name &&
          (uri = URI.parse(name)).respond_to?(:open)
      uri.open(*rest, &block)
    else
      open_uri_original_open(name, *rest, &block)
    end
  end

[Validate]