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, #to_html

Constructor Details

This class inherits a constructor from ModsDisplay::Field

Instance Method Details

#fieldsObject



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

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' : field.scale.text
      projection = field.projection.empty? ? nil : field.projection.text
      coordinates = field.coordinates.empty? ? nil : field.coordinates.text
      post_scale = [projection, coordinates].compact.length > 0 ? [projection, coordinates].compact.join(' ') : nil
      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