Class: ModsDisplay::Cartographics

Inherits:
Field
  • Object
show all
Defined in:
lib/mods_display/fields/cartographics.rb

Instance Method Summary collapse

Methods inherited from Field

#initialize, #label, #render_in, #to_html

Constructor Details

This class inherits a constructor from ModsDisplay::Field

Instance Method Details

#fieldsObject



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# File 'lib/mods_display/fields/cartographics.rb', line 5

def fields
  return nil if @stanford_mods_elements.nil?

  return_fields = []
  @stanford_mods_elements.each do |subject_element|
    next unless subject_element.respond_to?(:cartographics)

    subject_element.cartographics.each do |field|
      scale = field.scale.empty? ? nil : element_text(field.scale)
      projection = field.projection.empty? ? nil : element_text(field.projection)
      coordinates = field.coordinates.empty? ? nil : element_text(field.coordinates)
      post_scale = [projection, coordinates].compact.join(' ') if [projection, coordinates].compact.length.positive?

      return_fields << ModsDisplay::Values.new(
        label: displayLabel(field) || label || I18n.t('mods_display.map_data'),
        values: [[scale, post_scale].compact.join(' ; ')]
      )
    end
  end
  collapse_fields(return_fields)
end