diff options
author | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-03-08 18:47:39 +0000 |
---|---|---|
committer | Jean-Philippe Lang <jp_lang@yahoo.fr> | 2007-03-08 18:47:39 +0000 |
commit | 220f8a21357b064cb380dcf3be64466ad7a1b2a6 (patch) | |
tree | f95a708a0540c486cfdb5d113f189b3de01e15b1 | |
parent | 47e4864314b2fa9bc537568913f98e0a8d892960 (diff) | |
download | redmine-220f8a21357b064cb380dcf3be64466ad7a1b2a6.tar.gz redmine-220f8a21357b064cb380dcf3be64466ad7a1b2a6.zip |
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
-rw-r--r-- | wiki/app/models/wiki_content.rb | 17 |
1 files 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 |