* lib/uri/generic.rb (URI::Generic#merge): merge merge0.
  [GH-1469]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@56528 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2016-10-31 02:08:54 +00:00
Родитель 6ce158ba87
Коммит 587a24609b
2 изменённых файлов: 15 добавлений и 31 удалений

Просмотреть файл

@ -1,3 +1,8 @@
Mon Oct 31 11:08:51 2016 Samuel Williams <samuel.williams@oriontransfer.co.nz>
* lib/uri/generic.rb (URI::Generic#merge): merge merge0.
[GH-1469]
Sun Oct 30 15:32:43 2016 SHIBATA Hiroshi <hsbt@ruby-lang.org>
* lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update

Просмотреть файл

@ -1096,16 +1096,20 @@ module URI
# # => #<URI::HTTP:0x2021f3b0 URL:http://my.example.com/main.rbx?page=1>
#
def merge(oth)
begin
base, rel = merge0(oth)
rescue
raise $!.class, $!.message
rel = parser.send(:convert_to_uri, oth)
if rel.absolute?
#raise BadURIError, "both URI are absolute" if absolute?
# hmm... should return oth for usability?
return rel
end
if base == rel
return base
unless self.absolute?
raise BadURIError, "both URI are relative"
end
base = self.dup
authority = rel.userinfo || rel.host || rel.port
# RFC2396, Section 5.2, 2)
@ -1136,31 +1140,6 @@ module URI
end # merge
alias + merge
# return base and rel.
# you can modify `base', but can not `rel'.
def merge0(oth)
oth = parser.send(:convert_to_uri, oth)
if self.relative? && oth.relative?
raise BadURIError,
"both URI are relative"
end
if self.absolute? && oth.absolute?
#raise BadURIError,
# "both URI are absolute"
# hmm... should return oth for usability?
return oth, oth
end
if self.absolute?
return self.dup, oth
else
return oth, oth
end
end
private :merge0
# :stopdoc:
def route_from_path(src, dst)
case dst