class BerkeleyLibrary::Marc::FieldInfo::VarFields::VarFieldDef
Constants
- INDENT
Attributes
desc[R]
indicators[R]
inst_or_voices_codes[R]
subfield_codes[R]
tag[R]
Public Class Methods
new(tag:, desc:, indicators: [], subfield_codes: [], inst_or_voices_codes: [])
click to toggle source
# File lib/berkeley_library/marc/field_info/var_fields/var_field_def.rb, line 15 def initialize(tag:, desc:, indicators: [], subfield_codes: [], inst_or_voices_codes: []) @tag = tag @desc = desc @indicators = indicators # TODO: split out ind1/ind2 (but what about obsolete?) @subfield_codes = subfield_codes @inst_or_voices_codes = inst_or_voices_codes end
Public Instance Methods
reject_obsoletes()
click to toggle source
# File lib/berkeley_library/marc/field_info/var_fields/var_field_def.rb, line 33 def reject_obsoletes VarFieldDef.new( tag: tag, desc: desc, indicators: _reject_obsolete(indicators), subfield_codes: _reject_obsolete(subfield_codes), inst_or_voices_codes: _reject_obsolete(inst_or_voices_codes) ) end
to_s()
click to toggle source
# File lib/berkeley_library/marc/field_info/var_fields/var_field_def.rb, line 23 def to_s blocks = ["#{tag} - #{desc}"] concat_indented(blocks, indicators, 'Indicators') concat_indented(blocks, subfield_codes, 'Subfield Codes') concat_indented(blocks, inst_or_voices_codes, 'Instrument or Voices Codes') blocks.join("\n") end
Private Instance Methods
concat_indented(blocks, values, header)
click to toggle source
# File lib/berkeley_library/marc/field_info/var_fields/var_field_def.rb, line 48 def concat_indented(blocks, values, header) return if values.empty? blocks << INDENT + header values.each do |v| lines = v.to_s.lines(chomp: true) lines.each { |line| blocks << INDENT + INDENT + line } end end