This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# A convenient wrapper for the zlib standard library that allows
|
||||
# compression/decompression of strings with gzip.
|
||||
|
||||
module Zlib
|
||||
|
||||
##class Stream < StringIO
|
||||
## def close; rewind; end
|
||||
##end
|
||||
|
||||
# Decompresses a gzipped string.
|
||||
def self.decompress(source)
|
||||
GzipReader.new(StringIO.new(source)).read
|
||||
end
|
||||
|
||||
# Compresses a string using gzip.
|
||||
def self.compress(source)
|
||||
output = StringIO.new
|
||||
class << output
|
||||
def close; rewind; end
|
||||
end
|
||||
gz = GzipWriter.new(output)
|
||||
gz.write(source)
|
||||
gz.close
|
||||
output.string
|
||||
end
|
||||
|
||||
# Inflate a deflated sting.
|
||||
def self.inflate(string)
|
||||
Inflate.inflate(string)
|
||||
end
|
||||
|
||||
# Deflate a string.
|
||||
def self.deflate(string, level=DEFAULT_COMPRESSION)
|
||||
Deflate.deflate(string, level)
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user