ZipStream Build Status

Create zip files to a stream.

Integration with Ruby on Rails means you can create a view, index.zipstream, which is a ruby file with a zip object:

@entries.each do |entry|
  zip.write "entry-#{}.txt", entry.to_s

Which will happily implicitly render from:

class EntriesController
  def index
    @entries = Entry.all

Giving you a zip file when rendered. More to come!


Keep in mind that this will use one of your workers/threads/processes until the file is completely downloaded. We are using an iterated rack body which streams so if rack/web servers handle this nicely then you might be in luck.

Tested with Rails 3.1 on REE 1.8.7 and MRI 1.9.3.

Large files are not yet handled efficiently. Coming soon!


Inspired by Rails Builder templates and


Copyright (c) 2011 Samuel Cochran ([email protected]). Released under the MIT License, see LICENSE for details.