Module: ZipTricks::RailsStreaming

Defined in:
lib/zip_tricks/rails_streaming.rb

Instance Method Summary collapse

Instance Method Details

#zip_tricks_streamObject



2
3
4
5
6
7
8
9
10
# File 'lib/zip_tricks/rails_streaming.rb', line 2

def zip_tricks_stream
  response.headers['Content-Type'] = 'application/zip'
  # Create a wrapper for the write call that quacks like something you
  # can << to, used by ZipTricks
  w = ZipTricks::BlockWrite.new { |chunk| response.stream.write(chunk) }
  ZipTricks::Streamer.open(w){|z| yield(z) }
ensure
  response.stream.close
end