Class: PennMARC::Encoding

Inherits:
Helper
  • Object
show all
Defined in:
lib/pennmarc/helpers/encoding.rb

Overview

Extract encoding level and provide an opinionated rating of the encoding level

Constant Summary collapse

LEADER_POSITION =
17

Constants included from Util

Util::TRAILING_PUNCTUATIONS_PATTERNS

Class Method Summary collapse

Methods included from Util

#append_relator, #append_trailing, #datafield_and_linked_alternate, #field_defined?, #field_or_its_linked_alternate?, #join_and_squish, #join_subfields, #linked_alternate, #linked_alternate_not_6_or_8, #no_subfield_value_matches?, #prefixed_subject_and_alternate, #relator, #relator_join_separator, #relator_term_subfield, #remove_paren_value_from_subfield_i, #subfield_defined?, #subfield_in?, #subfield_not_in?, #subfield_undefined?, #subfield_value?, #subfield_value_in?, #subfield_value_not_in?, #subfield_values, #subfield_values_for, #substring_after, #substring_before, #translate_relator, #trim_punctuation, #trim_trailing, #trim_trailing!, #valid_subject_genre_source_code?

Class Method Details

.level_sort(record) ⇒ Integer?

Return a value corresponding to the encoding level from the MARC leader. Lower numbers indicate a higher level of description. See PennMARC::EncodingLevel for hash that determines the ranking. We still consider some “legacy” OCLC non-numeric codes here, though they are no longer recommended for use by OCLC. If an invalid value is found, nil is returned.

Parameters:

  • record (MARC::Record)

Returns:

  • (Integer, nil)


15
16
17
18
19
# File 'lib/pennmarc/helpers/encoding.rb', line 15

def level_sort(record)
  EncodingLevel::RANK[
    record.leader[LEADER_POSITION]
  ]
end