Class: Metacrunch::Mab2::Document::SubfieldSet

Inherits:
Object
  • Object
show all
Includes:
SelfEnumerable
Defined in:
lib/metacrunch/mab2/document/subfield_set.rb

Instance Method Summary collapse

Constructor Details

#initialize(subfields = []) ⇒ SubfieldSet

Returns a new instance of SubfieldSet.



9
10
11
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 9

def initialize(subfields = [])
  @subfields = subfields
end

Instance Method Details

#<<(subfield) ⇒ Object



17
18
19
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 17

def <<(subfield)
  @subfields << subfield
end

#concat(subfield_set) ⇒ Object



21
22
23
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 21

def concat(subfield_set)
  @subfields.concat(subfield_set.to_a)
end

#eachObject



13
14
15
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 13

def each
  block_given? ? @subfields.each { |_subfield| yield _subfield } : to_enum
end

#empty?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 29

def empty?
  @subfields.empty?
end

#present?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 33

def present?
  !empty?
end

#to_aObject



25
26
27
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 25

def to_a
  @subfields
end

#to_xml(builder) ⇒ Object


Serialization




50
51
52
53
54
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 50

def to_xml(builder)
  self.each do |_subfield|
    _subfield.to_xml(builder)
  end
end

#valueObject Also known as: first_value



37
38
39
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 37

def value
  values.find{ |v| v.present? }
end

#valuesObject



42
43
44
# File 'lib/metacrunch/mab2/document/subfield_set.rb', line 42

def values
  @subfields.map{ |subfield| subfield.value }
end