module TN::CSVBuilder::InstanceMethods
Public Instance Methods
csv(io, flush_after_each_row: false)
click to toggle source
# File lib/tn/csv_builder.rb, line 14 def csv(io, flush_after_each_row: false) csv_header_row ||= CSV::Row.new(csv_headers.keys, csv_headers.values, true) csv = CSV.new(io) csv << csv_header_row csv_data do |row| row_data = [] csv_headers.each do |key, _| row_data << row[key] end row.each do |key, _| fail "#{key} not a valid csv header!" unless csv_headers.key?(key) end csv << CSV::Row.new(csv_headers, row_data) csv.flush if flush_after_each_row end csv end
csv_headers()
click to toggle source
# File lib/tn/csv_builder.rb, line 41 def csv_headers self.class.csv_headers end
file(flush_after_each_row: false) { |file| ... }
click to toggle source
# File lib/tn/csv_builder.rb, line 32 def file(flush_after_each_row: false) file = TN::TempFile.new csv(file, flush_after_each_row: flush_after_each_row) file.close yield(file) if block_given? file end
Also aliased as: generate_csv_tempfile