Sha256: b047fee7a88f06f1df2c9baeb81fc55d2d4cf459c3c2c73b8d4ff39f7cdfb696

Contents?: true

Size: 592 Bytes

Versions: 211

Compression:

Stored size: 592 Bytes

Contents

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

Version data entries

211 entries across 178 versions & 27 rubygems

Version Path
activesupport-2.1.0 lib/active_support/gzip.rb
activesupport-2.1.2 lib/active_support/gzip.rb
activesupport-2.2.2 lib/active_support/gzip.rb
antfarm-0.3.0 rails/vendor/rails/activesupport/lib/active_support/gzip.rb
antfarm-0.4.0 rails/vendor/rails/activesupport/lib/active_support/gzip.rb
mack-active_record-0.8.2 lib/gems/activesupport-2.2.2/lib/active_support/gzip.rb
mack-facets-0.8.3 lib/gems/activesupport-2.2.2/lib/active_support/gzip.rb
mack-facets-0.8.3.1 lib/gems/activesupport-2.2.2/lib/active_support/gzip.rb
radiant-0.7.0 vendor/rails/activesupport/lib/active_support/gzip.rb
radiant-0.7.1 vendor/rails/activesupport/lib/active_support/gzip.rb
radiant-0.8.0 vendor/rails/activesupport/lib/active_support/gzip.rb