Class: Bulkrax::SampleCsvService::ValueDeterminer

Inherits:
Object
  • Object
show all
Defined in:
app/services/bulkrax/sample_csv_service/value_determiner.rb

Overview

Determines values for CSV cells

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ ValueDeterminer

Returns a new instance of ValueDeterminer.



6
7
8
9
# File 'app/services/bulkrax/sample_csv_service/value_determiner.rb', line 6

def initialize(service)
  @service = service
  @column_builder = SampleCsvService::ColumnBuilder.new(service)
end

Instance Method Details

#determine_value(column, model_name, field_list) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'app/services/bulkrax/sample_csv_service/value_determiner.rb', line 11

def determine_value(column, model_name, field_list)
  key = @service.mapping_manager.mapped_to_key(column)
  required_terms = field_list.dig(model_name, 'required_terms')

  if field_list.dig(model_name, "properties")&.include?(key)
    mark_required_or_optional(key, required_terms)
  elsif special_column?(column, key)
    special_value(column, key, model_name, required_terms)
  end
end