Sha256: 3356554cc9a0062727edda1633a73bc62faef03d63742d44194e9241db9d058a

Contents?: true

Size: 1.32 KB

Versions: 4

Compression:

Stored size: 1.32 KB

Contents

class ModsDisplay::Identifier < ModsDisplay::Field

  def fields
    return_fields = @values.map do |value|
      ModsDisplay::Values.new(:label => displayLabel(value) || identifier_label(value), :values => [value.text])
    end
    collapse_fields(return_fields)
  end

  private

  def identifier_label(element)
    if element.attributes["type"].respond_to?(:value)
      return identifier_labels[element.attributes["type"].value] || element.attributes["type"].value
    end
    "Identifier"
  end

  def identifier_labels
    {"local"                     => "Identifier",
     "isbn"                      => "ISBN",
     "issn"                      => "ISSN",
     "issn-l"                    => "ISSN",
     "doi"                       => "DOI",
     "hdl"                       => "Handle",
     "isrc"                      => "ISRC",
     "ismn"                      => "ISMN",
     "issue number"              => "Issue number",
     "lccn"                      => "LCCN",
     "matrix number"             => "Matrix number",
     "music publisher"           => "Music publisher",
     "music plate"               => "Music plate",
     "sici"                      => "SICI",
     "upc"                       => "UPC",
     "videorecording identifier" => "Videorecording identifier",
     "stock number"              => "Stock number"}
  end

end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
mods_display-0.1.3 lib/mods_display/fields/identifier.rb
mods_display-0.1.2 lib/mods_display/fields/identifier.rb
mods_display-0.1.1 lib/mods_display/fields/identifier.rb
mods_display-0.1.0 lib/mods_display/fields/identifier.rb