diff options
-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 <xibbar@ruby-lang.org> + + * 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 <akira@arika.org> * 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 |