Skip to content

Instantly share code, notes, and snippets.

@ajokela
Created December 7, 2012 18:18
Show Gist options
  • Save ajokela/4235218 to your computer and use it in GitHub Desktop.
Save ajokela/4235218 to your computer and use it in GitHub Desktop.
Creating a zipfile in ruby with a specific compression level
level = Zlib::BEST_COMPRESSION # or Zlib::BEST_SPEED
Zip::ZipOutputStream.open(zip_file) do |zip|
Dir.glob("**/*") do |filename|
entry = Zip::ZipEntry.new("", filename)
entry.gather_fileinfo_from_srcpath(filename)
zip.put_next_entry(entry, nil, nil, Zip::ZipEntry::DEFLATED, level)
entry.get_input_stream { |is| IOExtras.copy_stream(zip, is) }
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment