Type:
Class

Zlib::GzipWriter is a class for writing gzipped files. GzipWriter should be used with an instance of IO, or IO-like, object.

Following two example generate the same result.

1
2
3
4
5
6
7
8
9
Zlib::GzipWriter.open('hoge.gz') do |gz|
  gz.write 'jugemu jugemu gokou no surikire...'
end
 
File.open('hoge.gz', 'w') do |f|
  gz = Zlib::GzipWriter.new(f)
  gz.write 'jugemu jugemu gokou no surikire...'
  gz.close
end

To make like gzip(1) does, run following:

1
2
3
4
5
6
orig = 'hoge.txt'
Zlib::GzipWriter.open('hoge.gz') do |gz|
  gz.mtime = File.mtime(orig)
  gz.orig_name = orig
  gz.write IO.binread(orig)
end

NOTE: Due to the limitation of Ruby's finalizer, you must explicitly close GzipWriter objects by Zlib::GzipFile#close etc. Otherwise, GzipWriter will be not able to write the gzip footer and will generate a broken gzip file.

putc
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

putc(p1) Instance Public methods Same as

2025-01-10 15:47:30
print
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

print(*args) Instance Public methods Same as

2025-01-10 15:47:30
<<
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

<<(p1) Instance Public methods Document-method: << Same as

2025-01-10 15:47:30
orig_name=
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

orig_name=(p1) Instance Public methods Specify the original name (str)

2025-01-10 15:47:30
puts
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

puts(*args) Instance Public methods Same as

2025-01-10 15:47:30
pos
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

pos() Instance Public methods Total number of input bytes read so far.

2025-01-10 15:47:30
new
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

Zlib::GzipWriter.new(io, level = nil, strategy = nil, options = {}) Class Public methods

2025-01-10 15:47:30
tell
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

tell() Instance Public methods Total number of input bytes read so far.

2025-01-10 15:47:30
write
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

write(p1) Instance Public methods Same as

2025-01-10 15:47:30
flush
  • References/Ruby on Rails/Ruby/Classes/Zlib/Zlib::GzipWriter

flush(flush=nil) Instance Public methods Flushes all the internal buffers of

2025-01-10 15:47:30