Sha256: 22d33541c3033a81a09a09baf6cbce4d6313179c4120b2f91abd55eb24c3d84f

Contents?: true

Size: 1.05 KB

Versions: 4

Compression:

Stored size: 1.05 KB

Contents

require 'curl_agent'

module Kernel
  private
  alias open_uri_original_open open # :nodoc:

  # 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.
  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
  module_function :open
end

Version data entries

4 entries across 4 versions & 2 rubygems

Version Path
romanbsd-curb-openuri-0.1.0 lib/curb_openuri.rb
curb-openuri-0.2.1 lib/curb_openuri.rb
curb-openuri-0.2.0 lib/curb_openuri.rb
curb-openuri-0.1.0 lib/curb_openuri.rb