Module: Bulkrax::CsvEntry::AttributeBuilderMethod
- Defined in:
- app/models/bulkrax/csv_entry.rb
Overview
The purpose of this helper module is to make easier the testing of the rather complex switching logic for determining the method we use for building the value.
Class Method Summary collapse
Class Method Details
.for(key:, value:, entry:) ⇒ NilClass, Symbol
246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 |
# File 'app/models/bulkrax/csv_entry.rb', line 246 def self.for(key:, value:, entry:) return if key == 'model' return if key == 'file' return if key == entry. return if key == entry. return if value['excluded'] || value[:excluded] return if Bulkrax.reserved_properties.include?(key) && !entry.field_supported?(key) object_key = key if value.key?('object') || value.key?(:object) return unless entry.hyrax_record.respond_to?(key.to_s) || object_key.present? models_to_skip = Array.wrap(value['skip_object_for_model_names'] || value[:skip_object_for_model_names] || []) return :build_value if models_to_skip.detect { |model| entry.factory_class.model_name.name == model } return :build_object if object_key.present? :build_value end |