зеркало из https://github.com/github/ruby.git
* lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.
[ruby-ext:02251] git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@4952 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
Родитель
00c9f4cb9b
Коммит
e008c87423
|
@ -1,3 +1,8 @@
|
|||
Thu Nov 13 20:34:17 2003 Tanaka Akira <akr@m17n.org>
|
||||
|
||||
* lib/open-uri.rb (Kernel[#.]open): hard coded URI schemes removed.
|
||||
[ruby-ext:02251]
|
||||
|
||||
Thu Nov 13 19:17:00 2003 Hidetoshi NAGAI <nagai@ai.kyutech.ac.jp>
|
||||
|
||||
* lib/test/unit/ui/tk/testrunner.rb: use grid and panedwindow
|
||||
|
@ -7,6 +12,7 @@ Thu Nov 13 17:56:41 2003 Tanaka Akira <akr@m17n.org>
|
|||
|
||||
* lib/open-uri.rb (OpenURI.open_uri): use File::RDONLY.
|
||||
reported by Take_tk <ggb03124@nifty.ne.jp>.
|
||||
[ruby-ext:02245]
|
||||
|
||||
Thu Nov 13 16:45:53 2003 GOTOU Yuuzou <gotoyuzo@notwork.org>
|
||||
|
||||
|
|
|
@ -62,16 +62,27 @@ module Kernel
|
|||
private
|
||||
alias open_uri_original_open open # :nodoc:
|
||||
|
||||
# makes possible to open URIs.
|
||||
# If the first argument is URI::HTTP, URI::FTP or
|
||||
# String beginning with http:// or ftp://,
|
||||
# the URI is opened.
|
||||
# The opened file object is extended by OpenURI::Meta.
|
||||
# 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 and 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.
|
||||
def open(name, *rest, &block)
|
||||
if name.respond_to?("open")
|
||||
name.open(*rest, &block)
|
||||
elsif name.respond_to?("to_str") && %r{\A(http|ftp)://} =~ name
|
||||
OpenURI.open_uri(name, *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
|
||||
|
@ -307,7 +318,7 @@ module OpenURI
|
|||
end
|
||||
end
|
||||
|
||||
# Mixin for URIs.
|
||||
# Mixin for HTTP and FTP URIs.
|
||||
module OpenRead
|
||||
# opens the URI.
|
||||
def open(*rest, &block)
|
||||
|
|
Загрузка…
Ссылка в новой задаче