diff vendor/gems/coderay-1.0.0/lib/coderay/helpers/gzip.rb @ 909:cbb26bc654de redmine-1.3

Update to Redmine 1.3-stable branch (Redmine SVN rev 8964)
author Chris Cannam
date Fri, 24 Feb 2012 19:09:32 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/vendor/gems/coderay-1.0.0/lib/coderay/helpers/gzip.rb	Fri Feb 24 19:09:32 2012 +0000
@@ -0,0 +1,41 @@
+module CodeRay
+  
+  # A simplified interface to the gzip library +zlib+ (from the Ruby Standard Library.)
+  module GZip
+    
+    require 'zlib'
+    
+    # The default zipping level. 7 zips good and fast.
+    DEFAULT_GZIP_LEVEL = 7
+    
+    # Unzips the given string +s+.
+    #
+    # Example:
+    #   require 'gzip_simple'
+    #   print GZip.gunzip(File.read('adresses.gz'))
+    def GZip.gunzip s
+      Zlib::Inflate.inflate s
+    end
+    
+    # Zips the given string +s+.
+    #
+    # Example:
+    #   require 'gzip_simple'
+    #   File.open('adresses.gz', 'w') do |file
+    #     file.write GZip.gzip('Mum: 0123 456 789', 9)
+    #   end
+    #
+    # If you provide a +level+, you can control how strong
+    # the string is compressed:
+    # - 0: no compression, only convert to gzip format
+    # - 1: compress fast
+    # - 7: compress more, but still fast (default)
+    # - 8: compress more, slower
+    # - 9: compress best, very slow
+    def GZip.gzip s, level = DEFAULT_GZIP_LEVEL
+      Zlib::Deflate.new(level).deflate s, Zlib::FINISH
+    end
+    
+  end
+  
+end