Module: Carnival::CsvStream
- Defined in:
- app/controllers/carnival/csv_stream.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.included(base) ⇒ Object
3 4 5 6 7 |
# File 'app/controllers/carnival/csv_stream.rb', line 3 def self.included(base) base.class_eval do include ActionController::Live end end |
Instance Method Details
#stream_csv(relation, lines_per_chunk, presenter) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'app/controllers/carnival/csv_stream.rb', line 9 def stream_csv(relation, lines_per_chunk, presenter) begin relation.find_each(batch_size: lines_per_chunk) do |record| response.stream.write presenter.csv_for_record(record) end ensure response.stream.close end end |