summaryrefslogtreecommitdiff
path: root/lib/uri/generic.rb
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-10-31 02:08:54 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-10-31 02:08:54 +0000
commit587a24609bea4d7587510f614ac47fa56e7b246a ()
tree56cf912bfb3593cfcd0b4fe18537dc3720056bf9 /lib/uri/generic.rb
parent6ce158ba870eb815ba9775ac8380b32fd81be040 (diff)
uri/generic.rb: Tidy up merge
* 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
-rw-r--r--lib/uri/generic.rb41
1 files changed, 10 insertions, 31 deletions
@@ -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
end
- if base == rel
- return base
end
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