Class: Bulkrax::CsvTemplate::CsvBuilder

Inherits:
Object
  • Object
show all
Defined in:
app/services/bulkrax/csv_template/csv_builder.rb

Overview

Builds CSV content

Constant Summary collapse

IGNORED_PROPERTIES =
%w[
  admin_set_id alternate_ids
  bulkrax_identifier
  collection_type_gid contexts created_at
  date date_modified date_uploaded depositor
  embargo embargo_id
  file_ids
  has_model head
  internal_resource is_child
  lease lease_id
  member_ids member_of_collection_ids modified_date
  new_record
  on_behalf_of owner proxy_depositor
  rendering_ids representative_id
  schema_version split_from_pdf_id state tail
  thumbnail_id
  updated_at
].freeze

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ CsvBuilder

Returns a new instance of CsvBuilder.



26
27
28
29
30
31
32
# File 'app/services/bulkrax/csv_template/csv_builder.rb', line 26

def initialize(service)
  @service = service
  @column_builder = CsvTemplate::ColumnBuilder.new(service)
  @row_builder = CsvTemplate::RowBuilder.new(service)
  @header_row = nil
  @required_headings = []
end

Instance Method Details

#generate_stringObject



39
40
41
# File 'app/services/bulkrax/csv_template/csv_builder.rb', line 39

def generate_string
  CSV.generate { |csv| write_rows(csv) }
end

#write_to_file(file_path) ⇒ Object



34
35
36
37
# File 'app/services/bulkrax/csv_template/csv_builder.rb', line 34

def write_to_file(file_path)
  FileUtils.mkdir_p(File.dirname(file_path))
  CSV.open(file_path, "w") { |csv| write_rows(csv) }
end