aboutsummaryrefslogtreecommitdiff
path: root/lib/csv_exporter.rb
blob: a44815d8308f2d780b384edd363284fa5b65a761 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# frozen_string_literal: true

require 'csv'

class CsvExporter < BaseExporter
  def export
    str = ''
    @things.each do |thing|
      str += thing_to_csv(thing:)
    end

    str
  end

  def thing_to_csv(thing:)
    CSV.generate_line([thing.target, thing.authors, thing.editors, thing.year, thing.title,
                       thing.note, thing.insideof, thing.url, thing.publisher, thing.kind,
                       thing.access, thing.bought_at],
                      quote_empty: false)
  end
end