class CsvComposer::Writer
Public Instance Methods
write(header_processor, item_processor, collection, columns_mapping, opts = {})
click to toggle source
# File lib/csv_composer/writer.rb, line 6 def write(header_processor, item_processor, collection, columns_mapping, opts = {}) CSV.generate do |csv| headers = header_processor.process(columns_mapping, opts) if headers csv << headers.compact opts[:headers] = headers # We are adding the headers in case you need them to process your items end write_content(csv, item_processor, columns_mapping, collection, opts) end end
Private Instance Methods
write_content(csv, item_processor, columns_mapping, collection, opts)
click to toggle source
# File lib/csv_composer/writer.rb, line 19 def write_content(csv, item_processor, columns_mapping, collection, opts) collection.each do |item| row_components = item_processor.process_value(item, columns_mapping, opts) csv << row_components.compact end end