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

def fields
  return nil if @values.nil?
  return_fields = []
  @values.each do |value|
    if 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 || "Map data"),
                                                  :values => [[scale, post_scale].compact.join(" ; ")]})
      end
    end
  end
  collapse_fields(return_fields)
end