A gem to stream dynamically generated zip files from a rails application
Add this line to your application's Gemfile:
gem 'zipline'
And then execute:
$ bundle
set up some models with carrierwave Right now only plain file storage and S3 are supported
You'll need to be using unicorn or rainbows or some other server that supports streaming output.
class MyController < ApplicationController
# enable streaming responses
include ActionController::Streaming
# enable zipline
include Zipline
def index
users= User.all
files = users.map{ |user| [user.avatar, "#{user.username}.png"] }
zipline( files, 'avatars.zip')
end
end
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Added some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request