Module: Bulkrax::CsvRow::RequiredValues

Defined in:
app/validators/bulkrax/csv_row/required_values.rb

Overview

Validates that each row provides a value for every required field of its model. Numeric suffixes on column names are normalised before checking (e.g. ‘title_1’ satisfies the ‘title’ requirement).

Class Method Summary collapse

Class Method Details

.call(record, row_index, context) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/validators/bulkrax/csv_row/required_values.rb', line 10

def self.call(record, row_index, context)
   = context[:field_metadata]
  return if .blank?

  using_default = record[:model].blank?
  model         = record[:model].presence || Bulkrax.default_work_type
        = [model]
  return if .blank?

  add_default_work_type_warning(context, record, row_index, model) if using_default
  add_missing_required_value_errors(context, record, row_index, )
end

.normalize_header(header) ⇒ Object



59
60
61
# File 'app/validators/bulkrax/csv_row/required_values.rb', line 59

def self.normalize_header(header)
  header.sub(/_\d+\z/, '')
end