Class: ModsDisplay::Title
- Defined in:
- lib/mods_display/fields/title.rb
Instance Method Summary collapse
Methods inherited from Field
Constructor Details
This class inherits a constructor from ModsDisplay::Field
Instance Method Details
#fields ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/mods_display/fields/title.rb', line 3 def fields return_values = [] if @values @values.each do |value| if displayForm(value) return_values << ModsDisplay::Values.new( label: displayLabel(value) || title_label(value), values: [displayForm(value)] ) else nonSort = nil title = nil subTitle = nil nonSort = value.nonSort.text.strip unless value.nonSort.text.strip.empty? title = value.title.text.strip unless value.title.text.strip.empty? subTitle = value.subTitle.text unless value.subTitle.text.strip.empty? preSubTitle = [nonSort, title].compact.join(' ') preSubTitle = nil if preSubTitle.strip.empty? preParts = compact_and_join_with_delimiter([preSubTitle, subTitle], ' : ') preParts = nil if preParts.strip.empty? parts = value.children.select do |child| %w(partName partNumber).include?(child.name) end.map(&:text).compact.join(parts_delimiter(value)) parts = nil if parts.strip.empty? return_values << ModsDisplay::Values.new( label: displayLabel(value) || title_label(value), values: [compact_and_join_with_delimiter([preParts, parts], '. ')] ) end end end collapse_fields(return_values) end |