diff options
author | akira <akira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-02-07 04:51:11 +0000 |
---|---|---|
committer | akira <akira@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-02-07 04:51:11 +0000 |
commit | 91a3db0afc159e855312c4cd5c79fe925c65fd10 (patch) | |
tree | ded8203e542682aa90764b183c16fd7401e17be7 /lib/uri | |
parent | 90991d9889a7b95d85c13bdea3eb246d27e466ac (diff) |
uri-0.9.5
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2053 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'lib/uri')
-rw-r--r-- | lib/uri/common.rb | 13 | ||||
-rw-r--r-- | lib/uri/generic.rb | 6 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/uri/common.rb b/lib/uri/common.rb index ed2f6a7a5b..6f2fa81ad2 100644 --- a/lib/uri/common.rb +++ b/lib/uri/common.rb @@ -378,6 +378,19 @@ module URI =begin +--- URI::join(str[, str, ...]) + +=end + def self.join(*str) + u = self.parse(str[0]) + str[1 .. -1].each do |x| + u = u.merge(x) + end + u + end + +=begin + --- URI::extract(str[, schemes]) =end diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb index 4d3ab67b7e..1510e53eeb 100644 --- a/lib/uri/generic.rb +++ b/lib/uri/generic.rb @@ -494,7 +494,7 @@ Object else if v && v != '' && ABS_PATH !~ v && REL_PATH !~ v raise InvalidComponentError, - "bad component(expected relative path component): #{@path}" + "bad component(expected relative path component): #{v}" end end @@ -688,7 +688,7 @@ Object end # RFC2396, Section 5.2, 6), a) - base_path.pop if !base_path.last.empty? + base_path.pop unless base_path.size == 1 # RFC2396, Section 5.2, 6), c) # RFC2396, Section 5.2, 6), d) @@ -719,7 +719,7 @@ Object # valid absolute path # end base_path << x - base_path += tmp + tmp.each {|t| base_path << t} add_trailer_slash = false break end |