diff options
author | xibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-10 01:36:31 +0000 |
---|---|---|
committer | xibbar <xibbar@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-09-10 01:36:31 +0000 |
commit | 0bedb3e5b1e80b5fdac2086f9b0c54df56f7313b (patch) | |
tree | 0a2aef6a03f8ffe88b79abe3c444fdcd1604641c | |
parent | 3293f6cfb9abebcba9b0d52aaaa16f8b5542b9ec (diff) |
* lib/cgi/cookie.rb (CGI::Cookie#to_s): performance improvement
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@19281 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | lib/cgi/cookie.rb | 31 |
2 files changed, 11 insertions, 25 deletions
@@ -1,3 +1,8 @@ +Wed Sep 10 10:35:32 2008 Takeyuki Fujioka <[email protected]> + + * lib/cgi/cookie.rb (CGI::Cookie#to_s): performance improvement + from http://jp.rubyist.net/magazine/?0023-Cgirb. + Wed Sep 10 10:12:29 2008 akira yamada <[email protected]> * lib/sync.rb (Sync_m#sync_exclusive): fixed diff --git a/lib/cgi/cookie.rb b/lib/cgi/cookie.rb index 6add74eab6..befe1402e6 100644 --- a/lib/cgi/cookie.rb +++ b/lib/cgi/cookie.rb @@ -96,31 +96,12 @@ class CGI # Convert the Cookie to its string representation. def to_s - buf = "" - buf += @name + '=' - - if @value.kind_of?(String) - buf += CGI::escape(@value) - else - buf += @value.collect{|v| CGI::escape(v) }.join("&") - end - - if @domain - buf += '; domain=' + @domain - end - - if @path - buf += '; path=' + @path - end - - if @expires - buf += '; expires=' + CGI::rfc1123_date(@expires) - end - - if @secure == true - buf += '; secure' - end - + val = @value.kind_of?(String) ? CGI::escape(@value) : @value.collect{|v| CGI::escape(v) }.join("&") + buf = "#{@name}=#{val}" + buf << "; domain=#{@domain}" if @domain + buf << "; path=#{@path}" if @path + buf << "; expires=#{CGI::rfc1123_date(@expires)}" if @expires + buf << "; secure" if @secure == true buf end |