From 0bedb3e5b1e80b5fdac2086f9b0c54df56f7313b Mon Sep 17 00:00:00 2001 From: xibbar Date: Wed, 10 Sep 2008 01:36:31 +0000 Subject: [PATCH] * 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 --- ChangeLog | 5 +++++ lib/cgi/cookie.rb | 31 ++++++------------------------- 2 files changed, 11 insertions(+), 25 deletions(-) diff --git a/ChangeLog b/ChangeLog index 7fdbdd9a78..998204a04b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Wed Sep 10 10:35:32 2008 Takeyuki Fujioka + + * 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 * 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