ZipStream 
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-#{entry.id}.txt", entry.to_s
endWhich will happily implicitly render from:
class EntriesController
def index
@entries = Entry.all
end
endGiving you a zip file when rendered. More to come!
Caveats
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!
Thanks
Inspired by Rails Builder templates and http://pablotron.org/software/zipstream-php/
License
Copyright (c) 2011 Samuel Cochran (sj26@sj26.com). Released under the MIT License, see LICENSE for details.

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.

