From b8be8d535a32c9f0ab54482cbf09fdcd9e0abee8 Mon Sep 17 00:00:00 2001 From: akira Date: Wed, 12 Jun 2002 09:32:35 +0000 Subject: merged differences between uri-0.9.6 and uri-0.9.7 git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2560 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/uri.rb | 2 +- lib/uri/common.rb | 8 ++++---- lib/uri/generic.rb | 19 +++++++++++++------ 3 files changed, 18 insertions(+), 11 deletions(-) (limited to 'lib') diff --git a/lib/uri.rb b/lib/uri.rb index d33f0c827f..beb1443697 100644 --- a/lib/uri.rb +++ b/lib/uri.rb @@ -15,7 +15,7 @@ =end module URI - VERSION_CODE = '000906'.freeze + VERSION_CODE = '000907'.freeze VERSION = VERSION_CODE.scan(/../).collect{|n| n.to_i}.join('.').freeze end diff --git a/lib/uri/common.rb b/lib/uri/common.rb index 6f2fa81ad2..ea7d3c8865 100644 --- a/lib/uri/common.rb +++ b/lib/uri/common.rb @@ -145,14 +145,14 @@ module URI X_ABS_URI = " (#{PATTERN::SCHEME}): (?# 1: scheme) (?: - (?: + (?:(?: //(?: (?:(?:(#{PATTERN::USERINFO})@)? (?# 2: userinfo) (?:(#{PATTERN::HOST})(?::(\\d*))?))?(?# 3: host, 4: port) | (#{PATTERN::REG_NAME}) (?# 5: registry) - ) - (#{PATTERN::ABS_PATH})? (?# 6: path) + ))? + ((?!//)#{PATTERN::ABS_PATH})? (?# 6: path) )(?:\\?(#{PATTERN::QUERY}))? (?# 7: query) | (#{PATTERN::OPAQUE_PART}) (?# 8: opaque) @@ -231,7 +231,7 @@ module URI end else raise ArgumentError, - "expected Array of or Hash of compornents of #{klass.to_s} (#{klass.component[1..-1].join(', ')})" + "expected Array of or Hash of components of #{klass.to_s} (#{klass.component[1..-1].join(', ')})" end tmp[:scheme] = klass.to_s.sub(/\A.*::/, '').downcase diff --git a/lib/uri/generic.rb b/lib/uri/generic.rb index e80c6f752b..775a001392 100644 --- a/lib/uri/generic.rb +++ b/lib/uri/generic.rb @@ -121,7 +121,7 @@ Object end else raise ArgumentError, - "expected Array of or Hash of compornents of #{self.type} (#{self.type.component.join(', ')})" + "expected Array of or Hash of components of #{self.type} (#{self.type.component.join(', ')})" end tmp << true @@ -296,9 +296,12 @@ Object end private :check_password - def userinfo=(user, password = nil) - check_userinfo(user, password) - set_userinfo(user, password) + def userinfo=(userinfo) + if userinfo.nil? + return nil + end + check_userinfo(*userinfo) + set_userinfo(*userinfo) end def user=(user) @@ -312,21 +315,25 @@ Object end def set_userinfo(user, password = nil) - if !password + unless password user, password = split_userinfo(user) end @user = user - @password = password + @password = password if password + + [@user, @password] end protected :set_userinfo def set_user(v) set_userinfo(v, @password) + v end protected :set_user def set_password(v) set_userinfo(@user, v) + v end protected :set_password -- cgit v1.2.3