X-Git-Url: https://git.njae.me.uk/?a=blobdiff_plain;f=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fgzip.rb;fp=vendor%2Frails%2Factivesupport%2Flib%2Factive_support%2Fgzip.rb;h=35a50e9a777f50c70e4278e0fe8c29b6176bd53e;hb=d115f2e23823271635bad69229a42cd8ac68debe;hp=0000000000000000000000000000000000000000;hpb=37cb670bf3ddde90b214e591f100ed4446469484;p=depot.git diff --git a/vendor/rails/activesupport/lib/active_support/gzip.rb b/vendor/rails/activesupport/lib/active_support/gzip.rb new file mode 100644 index 0000000..35a50e9 --- /dev/null +++ b/vendor/rails/activesupport/lib/active_support/gzip.rb @@ -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