class ResultCsvGenerator
Attributes
csv[RW]
Public Class Methods
new(result_id, headers, create_empty = false)
click to toggle source
# File lib/result_csv_generator.rb, line 6 def initialize(result_id, headers, create_empty = false) @result_id = result_id @headers = headers @csv_service = CsvService.new(@result_id) if create_empty setup_csv.call() finish_csv.call(0) end end
Public Instance Methods
callbacks()
click to toggle source
# File lib/result_csv_generator.rb, line 17 def callbacks { before_execute: setup_csv, during_execute: ->(row, _row_count) { @csv << row }, after_execute: finish_csv } end
filepath()
click to toggle source
# File lib/result_csv_generator.rb, line 25 def filepath @csv_service.filepath end
Private Instance Methods
finish_csv()
click to toggle source
# File lib/result_csv_generator.rb, line 38 def finish_csv lambda do |_row_count| @csv.close @csv_service.store! File.delete(filepath) end end
setup_csv()
click to toggle source
# File lib/result_csv_generator.rb, line 31 def setup_csv lambda do @csv = CSV.open(filepath, 'w') @csv << @headers end end