Froze rails gems
[depot.git] / vendor / rails / activesupport / lib / active_support / gzip.rb
diff --git a/vendor/rails/activesupport/lib/active_support/gzip.rb b/vendor/rails/activesupport/lib/active_support/gzip.rb
new file mode 100644 (file)
index 0000000..35a50e9
--- /dev/null
@@ -0,0 +1,25 @@
+require 'zlib'
+require 'stringio'
+
+module ActiveSupport
+  # A convenient wrapper for the zlib standard library that allows compression/decompression of strings with gzip.
+  module Gzip
+    class Stream < StringIO
+      def close; rewind; end
+    end
+
+    # Decompresses a gzipped string.
+    def self.decompress(source)
+      Zlib::GzipReader.new(StringIO.new(source)).read
+    end
+
+    # Compresses a string using gzip.
+    def self.compress(source)
+      output = Stream.new
+      gz = Zlib::GzipWriter.new(output)
+      gz.write(source)
+      gz.close
+      output.string
+    end
+  end
+end
\ No newline at end of file