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
26
27
# File 'lib/mods_display/fields/cartographics.rb', line 5

def fields
  return nil if @values.nil?

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

    value.cartographics.each do |field|
      scale = field.scale.empty? ? 'Scale not given' : element_text(field.scale)
      projection = field.projection.empty? ? nil : element_text(field.projection)
      coordinates = field.coordinates.empty? ? nil : element_text(field.coordinates)
      post_scale = if [projection,
                       coordinates].compact.length.positive?
                     [projection, coordinates].compact.join(' ')
                   end
      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