def close
      flush()
      @deflate_buffer << @deflater.finish unless @deflater.finished?
      begin
        until @deflate_buffer.empty? do
          @deflate_buffer.slice!(0, delegate.write(@deflate_buffer))
        end
      rescue Errno::EAGAIN, Errno::EINTR
        retry if write_ready?
      end
      @checksum = @deflater.adler
      @compressed_size = @deflater.total_out
      @uncompressed_size = @deflater.total_in
      @deflater.close
      super()
      nil
    end
def close
      flush()
      @deflate_buffer << @deflater.finish unless @deflater.finished?
      begin
        until @deflate_buffer.empty? do
          @deflate_buffer.slice!(0, delegate.write(@deflate_buffer))
        end
      rescue Errno::EAGAIN, Errno::EINTR
        retry if write_ready?
      end
      @checksum = @deflater.adler
      @compressed_size = @deflater.total_out
      @uncompressed_size = @deflater.total_in
      @deflater.close
      super()
      nil
    end
def close flush ( ) @deflate_buffer << @deflater . finish unless @deflater . finished? begin until @deflate_buffer . empty? do @deflate_buffer . slice! ( 0 , delegate . write ( @deflate_buffer ) ) end rescue Errno :: EAGAIN , Errno :: EINTR retry if write_ready? end @checksum = @deflater . adler @compressed_size = @deflater . total_out @uncompressed_size = @deflater . total_in @deflater . close super ( ) nil end
Closes the writer by finishing the compressed data and flushing it to the
 delegate.

 Raises IOError if called more than once.
Closes the writer by finishing the compressed data and flushing it to the delegate .