Class: BerkeleyLibrary::Marc::FieldInfo::VarFields::VarFieldList

Inherits:
Object
  • Object
show all
Includes:
Obsolescible, Enumerable
Defined in:
lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb

Constant Summary

Constants included from Obsolescible

Obsolescible::OBSOLETE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Obsolescible

#_reject_obsolete, #empty?, #obsolete?

Constructor Details

#initialize(desc:, sections:) ⇒ VarFieldList

Returns a new instance of VarFieldList.



14
15
16
17
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 14

def initialize(desc:, sections:)
  @desc = desc
  @sections = sections
end

Instance Attribute Details

#descObject (readonly)

Returns the value of attribute desc.



12
13
14
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 12

def desc
  @desc
end

#sectionsObject (readonly)

Returns the value of attribute sections.



12
13
14
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 12

def sections
  @sections
end

Instance Method Details

#each(&block) ⇒ Object



19
20
21
22
23
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 19

def each(&block)
  return to_enum(:each) unless block_given?

  sections.each { |section| section.each(&block) }
end

#reject_obsoletesObject



29
30
31
32
33
34
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 29

def reject_obsoletes
  VarFieldList.new(
    desc: desc,
    sections: _reject_obsolete(sections)
  )
end

#sizeObject



25
26
27
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 25

def size
  sections.sum(&:size)
end

#to_sObject



36
37
38
# File 'lib/berkeley_library/marc/field_info/var_fields/var_field_list.rb', line 36

def to_s
  sections.map(&:to_s).join("\n")
end