Class: BerkeleyLibrary::TIND::Mapping::TindFieldFromMultipleMap

Inherits:
Object
  • Object
show all
Includes:
CsvMultipleMapper, TindControlSubfield, Util
Defined in:
lib/berkeley_library/tind/mapping/tind_field_from_multiple_map.rb

Instance Method Summary collapse

Methods included from TindControlSubfield

#extract_value, #extracted_field, #extracted_fields_from_leader

Methods included from Util

alma_datafield, collection_config_correct?, concatenation_symbol, csv_rows, datafield, from_xml, indicator, order_subfields, qualified_alma_record?, remove_extra_symbol, subfield, subfield_hash, symbols, tag_symbol

Methods included from AlmaBase

#base_save, #base_tind_record

Methods included from CsvMultipleMapper

#from_tags, #rules

Constructor Details

#initialize(controlfield, current_datafields) ⇒ TindFieldFromMultipleMap

Returns a new instance of TindFieldFromMultipleMap.



13
14
15
16
# File 'lib/berkeley_library/tind/mapping/tind_field_from_multiple_map.rb', line 13

def initialize(controlfield, current_datafields)
  @from_controlfield = controlfield
  @current_tags = current_datafields.map(&:tag)
end

Instance Method Details

#to_datafieldsObject



18
19
20
21
22
23
24
25
26
27
28
29
30
# File 'lib/berkeley_library/tind/mapping/tind_field_from_multiple_map.rb', line 18

def to_datafields
  datafields = []
  control_rules = rules_on_controldatafield

  if control_rules
    control_rules.each do |rule|
      df = to_datafield(rule)
      datafields << df if df
    end
  end

  datafields
end