summaryrefslogtreecommitdiff
path: root/lib
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
parente05e9928430f94ef14dbf4c4adee7e24e18ec79f (diff)
* 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')
-rw-r--r--lib/uri/common.rb18
-rw-r--r--lib/uri/generic.rb6
2 files changed, 18 insertions, 6 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)"
diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb
index a37649545a..1056cfe3bc 100644
--- a/lib/uri/generic.rb
+++ b/lib/uri/generic.rb
@@ -1239,7 +1239,7 @@ module URI
# return base and rel.
# you can modify `base', but can not `rel'.
def merge0(oth)
- oth = URI(oth, parser)
+ oth = parser.send(:convert_to_uri, oth)
if self.relative? && oth.relative?
raise BadURIError,
@@ -1302,7 +1302,7 @@ module URI
# :stopdoc:
def route_from0(oth)
- oth = URI(oth, parser)
+ oth = parser.send(:convert_to_uri, oth)
if self.relative?
raise BadURIError,
"relative URI: #{self}"
@@ -1410,7 +1410,7 @@ module URI
# #=> #<URI::Generic:0x2020c2f6 URL:/main.rbx?page=1>
#
def route_to(oth)
- URI(oth, parser).route_from(self)
+ parser.send(:convert_to_uri, oth).route_from(self)
end
#