Sha256: 8b2bc463ca8f6e653a38aed86e73a139240fec1cfbd7e312645e8fab6ed9c9a5

Contents?: true

Size: 1.01 KB

Versions: 11

Compression:

Stored size: 1.01 KB

Contents

require 'xml/mapping_extensions'

module Datacite
  module Mapping

    # An identifier or identifiers other than the primary {Identifier}
    # applied to the {Resource}.
    class AlternateIdentifier
      include XML::Mapping

      # Initializes a new {AlternateIdentifier}
      # @param type [String] the identifier type
      # @param value [String] the identifier value
      def initialize(type:, value:)
        self.type = type
        self.value = value
      end

      # Sets the type. Cannot be nil.
      # @param val [String] the identifier type
      def type=(val)
        fail ArgumentError, 'No identifier type provided' unless val
        @type = val
      end

      # Sets the value. Cannot be nil.
      # @param val [String] the value
      def value=(val)
        fail ArgumentError, 'No identifier value provided' unless val
        @value = val
      end

      root_element_name 'alternateIdentifier'
      text_node :type, '@alternateIdentifierType'
      text_node :value, 'text()'
    end
  end
end

Version data entries

11 entries across 11 versions & 1 rubygems

Version Path
datacite-mapping-0.1.17.2 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.17.1 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.17 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.16 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.15 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.14 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.13 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.12 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.10 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.9 lib/datacite/mapping/alternate_identifier.rb
datacite-mapping-0.1.7 lib/datacite/mapping/alternate_identifier.rb