Class: BerkeleyLibrary::Marc::FieldInfo::VarFields::Section

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

Constant Summary

Constants included from Obsolescible

Obsolescible::OBSOLETE

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Obsolescible

#_reject_obsolete, #obsolete?

Constructor Details

#initialize(desc:, var_fields:) ⇒ Section

Returns a new instance of Section.



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

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

Instance Attribute Details

#descObject (readonly)

Returns the value of attribute desc.



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

def desc
  @desc
end

#var_fieldsObject (readonly)

Returns the value of attribute var_fields.



13
14
15
# File 'lib/berkeley_library/marc/field_info/var_fields/section.rb', line 13

def var_fields
  @var_fields
end

Instance Method Details

#each(&block) ⇒ Object



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

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

  var_fields.each(&block)
end

#empty?Boolean

Returns:

  • (Boolean)


30
31
32
# File 'lib/berkeley_library/marc/field_info/var_fields/section.rb', line 30

def empty?
  var_fields.empty?
end

#reject_obsoletesObject



34
35
36
37
38
39
# File 'lib/berkeley_library/marc/field_info/var_fields/section.rb', line 34

def reject_obsoletes
  Section.new(
    desc: desc,
    var_fields: _reject_obsolete(var_fields)
  )
end

#sizeObject



26
27
28
# File 'lib/berkeley_library/marc/field_info/var_fields/section.rb', line 26

def size
  var_fields.size
end

#to_sObject



41
42
43
44
45
# File 'lib/berkeley_library/marc/field_info/var_fields/section.rb', line 41

def to_s
  blocks = ["--#{desc}--"]
  blocks.concat(var_fields.map(&:to_s))
  blocks.join("\n")
end