Module: BerkeleyLibrary::TIND::Mapping::Misc
- Included in:
- DataFieldsCatalog, TindFieldFromSingleMap, TindMarc
- Defined in:
- lib/berkeley_library/tind/mapping/misc.rb
Instance Method Summary collapse
-
#check_subfield6_format(f) ⇒ Object
add subfield6 validation.
-
#field_880_has_referred_tag?(tag, field) ⇒ Boolean
check a tag in subfield 6 of a 880 datafield.
-
#origin_mapping_tag(f) ⇒ Object
referred tag ###.
-
#referred_tag(field) ⇒ Object
get the 880 referred tag.
Instance Method Details
#check_subfield6_format(f) ⇒ Object
add subfield6 validation
32 33 34 35 36 37 38 |
# File 'lib/berkeley_library/tind/mapping/misc.rb', line 32 def check_subfield6_format(f) val = f['6'] reg1 = %r{^\d{3}-\d{2}/} reg2 = /^\d{3}-\d{2}$/ logger.warn("Unusual subfield6 format: #{val}; correct format examples: 1) 880-02 ; 2)246-02/$1") unless reg1.match(val) || reg2.match(val) end |
#field_880_has_referred_tag?(tag, field) ⇒ Boolean
check a tag in subfield 6 of a 880 datafield
22 23 24 25 26 27 |
# File 'lib/berkeley_library/tind/mapping/misc.rb', line 22 def field_880_has_referred_tag?(tag, field) referred_tag_from_880 = referred_tag(field) return false unless referred_tag_from_880 referred_tag_from_880 == tag end |
#origin_mapping_tag(f) ⇒ Object
referred tag ###
9 10 11 |
# File 'lib/berkeley_library/tind/mapping/misc.rb', line 9 def origin_mapping_tag(f) is_880_field?(f) ? referred_tag(f) : f.tag end |
#referred_tag(field) ⇒ Object
get the 880 referred tag. An example $6 value: '650-05/$1', referred tag is 650
15 16 17 18 19 |
# File 'lib/berkeley_library/tind/mapping/misc.rb', line 15 def referred_tag(field) return nil unless subfield6?(field) field['6'].strip.split('-')[0] end |