Module: Bulkrax::CsvRow::DuplicateIdentifier
- Defined in:
- app/validators/bulkrax/csv_row/duplicate_identifier.rb
Overview
Validates that each row has a unique source_identifier. Uses context (Hash: id => first_seen_row_number) to detect duplicates.
Class Method Summary collapse
Class Method Details
.call(record, row_index, context) ⇒ Object
9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'app/validators/bulkrax/csv_row/duplicate_identifier.rb', line 9 def self.call(record, row_index, context) source_id = record[:source_identifier] return if source_id.blank? && Bulkrax.fill_in_blank_source_identifiers.present? source_id_label = context[:source_identifier] || 'source_identifier' first_row = context[:seen_ids][source_id] if first_row add_duplicate_error(context, row_index, source_id, source_id_label, first_row) else context[:seen_ids][source_id] = row_index add_existing_warning(context, row_index, source_id, source_id_label) end end |