Class: ResultCsvGenerator

Inherits:
Object
  • Object
show all
Defined in:
lib/result_csv_generator.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(result_id, headers, create_empty = false) ⇒ ResultCsvGenerator

Returns a new instance of ResultCsvGenerator.



6
7
8
9
10
11
12
13
14
15
# 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

Instance Attribute Details

#csvObject

Returns the value of attribute csv.



4
5
6
# File 'lib/result_csv_generator.rb', line 4

def csv
  @csv
end

Instance Method Details

#callbacksObject



17
18
19
20
21
22
23
# 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

#filepathObject



25
26
27
# File 'lib/result_csv_generator.rb', line 25

def filepath
  @csv_service.filepath
end