From 220f8a21357b064cb380dcf3be64466ad7a1b2a6 Mon Sep 17 00:00:00 2001 From: Jean-Philippe Lang Date: Thu, 8 Mar 2007 18:47:39 +0000 Subject: [PATCH] changed from Zlib::GzipWriter/Zlib::GzipReader to Zlib::Inflate/Zlib::Deflate git-svn-id: http://redmine.rubyforge.org/svn/branches/work@315 e93f8b46-1217-0410-a6f0-8f06a7374b81 --- wiki/app/models/wiki_content.rb | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/wiki/app/models/wiki_content.rb b/wiki/app/models/wiki_content.rb index 81a230cd9..b0382cfaf 100644 --- a/wiki/app/models/wiki_content.rb +++ b/wiki/app/models/wiki_content.rb @@ -30,11 +30,13 @@ class WikiContent < ActiveRecord::Base def text=(plain) case Setting.wiki_compression when 'gzip' - gz = Zlib::GzipWriter.new(compressed = StringIO.new) - gz.write(plain) - gz.close - self.data = compressed.string + begin + self.data = Zlib::Deflate.deflate(plain, Zlib::BEST_COMPRESSION) self.compression = 'gzip' + rescue + self.data = plain + self.compression = '' + end else self.data = plain self.compression = '' @@ -43,12 +45,9 @@ class WikiContent < ActiveRecord::Base end def text - case compression + @text ||= case compression when 'gzip' - gz = Zlib::GzipReader.new(StringIO.new(data)) - plain = gz.read - gz.close - plain + Zlib::Inflate.inflate(data) else # uncompressed data data