Module: BerkeleyLibrary::TIND::Mapping::TindSubfieldUtil
- Included in:
- DataFieldsCatalog, TindFieldFromSingleMap, TindMarc
- Defined in:
- lib/berkeley_library/tind/mapping/tind_subfield_util.rb
Instance Method Summary collapse
- #clean_subfield(subfield) ⇒ Object
- #fields_880_subfield6(datafields_880) ⇒ Object
-
#the_first_subfield6(fields) ⇒ Object
From all subfield 6 gotten for repeated fields - with the same tag return the first subfield 6.
Instance Method Details
#clean_subfield(subfield) ⇒ Object
8 9 10 11 |
# File 'lib/berkeley_library/tind/mapping/tind_subfield_util.rb', line 8 def clean_subfield(subfield) new_value = clr_value(subfield.value) subfield.value = new_value end |
#fields_880_subfield6(datafields_880) ⇒ Object
13 14 15 |
# File 'lib/berkeley_library/tind/mapping/tind_subfield_util.rb', line 13 def fields_880_subfield6(datafields_880) formated_subfield6_value_arr(fields_by(datafields_880) { |f| is_880_field?(f) }) end |
#the_first_subfield6(fields) ⇒ Object
From all subfield 6 gotten for repeated fields - with the same tag return the first subfield 6
19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/berkeley_library/tind/mapping/tind_subfield_util.rb', line 19 def the_first_subfield6(fields) values = subfield_6_values(fields) return nil if values.empty? # keep it here, in case needed in future: this can make sure # 880 and regular fields having matching sequence number # subfield6_with_small_no(values) # new implementation: keep the first subfield 6 value logger.warn("#{fields[0].tag} have multiple datafields with multiple subfield 6, the first subfield 6 is kept") if values.length > 1 Util.subfield('6', values[0]) end |