Module: Kernel
- Defined in:
- lib/curb_openuri.rb
Class Method Summary collapse
-
.open(name, *rest, &block) ⇒ Object
makes possible to open various resources including URIs.
Class Method Details
.open(name, *rest, &block) ⇒ Object
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, Kernelopen 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.
22 23 24 25 26 27 28 29 30 |
# File 'lib/curb_openuri.rb', line 22 def open(name, *rest, &block) # :doc: if name.respond_to?(:open) name.open(*rest, &block) elsif name.respond_to?(:to_s) && %r{\A(ftp|https?)://} =~ name CurlAgent.open(name, *rest, &block) else open_uri_original_open(name, *rest, &block) end end |