Module: Kernel
Relationships & Source Files | |
Defined in: | lib/open-uri.rb |
Class Method Summary
-
open(name, *rest, &block)
mod_func
Allows the opening of various resources including URIs.
- open_uri_original_open Internal use only
Instance Method Summary
- open_uri_original_open private Internal use only
Class Method Details
open(name, *rest, &block) (mod_func)
Allows the opening of various resources including URIs.
If the first argument responds to the 'open' method, 'open' is called on it with the rest of the arguments.
If the first argument is a string that begins with xxx://, it is parsed by URI.parse
. If the parsed object responds to the 'open' method, 'open' is called on it with the rest of the arguments.
Otherwise, the original open
is called.
OpenURI::OpenRead#open provides URI::HTTP#open
, URI::HTTPS#open
and URI::FTP#open
, open
.
We can accept URIs and strings that begin with http://, https:// and ftp://. In these cases, the opened file object is extended by ::OpenURI::Meta.
# File 'lib/open-uri.rb', line 29
def open(name, *rest, &block) # :doc: if name.respond_to?(:open) name.open(*rest, &block) elsif name.respond_to?(:to_str) && %r{\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
open_uri_original_open
This method is for internal use only.
[ GitHub ]
# File 'lib/open-uri.rb', line 10
alias open_uri_original_open open # :nodoc:
Instance Method Details
open_uri_original_open (private)
This method is for internal use only.
[ GitHub ]
# File 'lib/open-uri.rb', line 8
alias open_uri_original_open open # :nodoc: