summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS4
-rw-r--r--lib/open-uri.rb7
-rw-r--r--test/open-uri/test_open-uri.rb10
3 files changed, 21 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 9d9898fcf4..05ebb37717 100644
--- a/NEWS
+++ b/NEWS
@@ -295,6 +295,10 @@ with all sufficient information, see the ChangeLog file or Redmine
* Net::HTTP#{proxy_user,proxy_pass} reflect http_proxy environment variable
if the system's environment variable is multiuser safe. [Bug #12921]
+* open-uri
+ * URI.open method defined as an alias to open-uri's Kernel.open.
+ open-uri's Kernel.open will be deprecated in future.
+
* OpenSSL
* Updated Ruby/OpenSSL from version 2.0 to 2.1. Changes are noted in
diff --git a/lib/open-uri.rb b/lib/open-uri.rb
index a68413e8f8..c0ef89c2ec 100644
--- a/lib/open-uri.rb
+++ b/lib/open-uri.rb
@@ -40,6 +40,13 @@ module Kernel
module_function :open
end
+module URI #:nodoc:
+ # alias for Kernel.open defined in open-uri.
+ def self.open(name, *rest, &block)
+ Kernel.open(name, *rest, &block)
+ end
+end
+
# OpenURI is an easy-to-use wrapper for Net::HTTP, Net::HTTPS and Net::FTP.
#
# == Example
diff --git a/test/open-uri/test_open-uri.rb b/test/open-uri/test_open-uri.rb
index 3feed423a0..0301483902 100644
--- a/test/open-uri/test_open-uri.rb
+++ b/test/open-uri/test_open-uri.rb
@@ -68,6 +68,16 @@ class TestOpenURI < Test::Unit::TestCase
@proxies.each_with_index {|k, i| ENV[k] = @old_proxies[i] }
end
+ def test_200_uri_open
+ with_http {|srv, dr, url|
+ srv.mount_proc("/urifoo200", lambda { |req, res| res.body = "urifoo200" } )
+ URI.open("#{url}/urifoo200") {|f|
+ assert_equal("200", f.status[0])
+ assert_equal("urifoo200", f.read)
+ }
+ }
+ end
+
def test_200
with_http {|srv, dr, url|
srv.mount_proc("/foo200", lambda { |req, res| res.body = "foo200" } )