aboutsummaryrefslogtreecommitdiffstats
path: root/lib/uri/common.rb
diff options
context:
space:
mode:
authormarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-15 21:28:10 +0000
committermarcandre <marcandre@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2011-07-15 21:28:10 +0000
commitc2dfaa7d40531aef3706bcc16f38178b0c6633ee (patch)
treed37533972d9408b7b81101440407d5faf3c82c59 /lib/uri/common.rb
parente05e9928430f94ef14dbf4c4adee7e24e18ec79f (diff)
downloadruby-c2dfaa7d40531aef3706bcc16f38178b0c6633ee.tar.gz
* lib/uri/common.rb (module): Remove optional parser argument to Kernel#URI
[ruby-core:38061] * lib/uri/generic.rb (module): ditto git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@32559 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/uri/common.rb')
-rw-r--r--lib/uri/common.rb18
1 files changed, 15 insertions, 3 deletions
diff --git a/lib/uri/common.rb b/lib/uri/common.rb
index aaafeba478..92beafa8d8 100644
--- a/lib/uri/common.rb
+++ b/lib/uri/common.rb
@@ -233,7 +233,7 @@ module URI
# Attempts to parse and merge a set of URIs
#
def join(*uris)
- uris[0] = URI(uris[0], self)
+ uris[0] = convert_to_uri(uris[0])
uris.inject :merge
end
@@ -527,6 +527,18 @@ module URI
ret
end
+
+ def convert_to_uri(uri)
+ if uri.is_a?(URI::Generic)
+ uri
+ elsif uri = String.try_convert(uri)
+ parse(uri)
+ else
+ raise ArgumentError,
+ "bad argument (expected URI object or URI string)"
+ end
+ end
+
end # class Parser
# URI::Parser.new
@@ -988,11 +1000,11 @@ module Kernel
#
# Returns +uri+ converted to a URI object.
#
- def URI(uri, parser = URI::DEFAULT_PARSER)
+ def URI(uri)
if uri.is_a?(URI::Generic)
uri
elsif uri = String.try_convert(uri)
- parser.parse(uri)
+ URI.parse(uri)
else
raise ArgumentError,
"bad argument (expected URI object or URI string)"