Sha256: 2307d68099bf3b1d9047a974ffe934ccbd97ee935e239a0fae6774bde7bef14c

Contents?: true

Size: 428 Bytes

Versions: 1

Compression:

Stored size: 428 Bytes

Contents

require 'typesafe_enum'

module Stash
  module Wrapper
    # Controlled vocabulary for {Identifier#type}
    class IdentifierType < TypesafeEnum::Base
      new :ARK, 'ARK'
      new :DOI, 'DOI'
      new :HANDLE, 'Handle'
      new :URL, 'URL'

      def format(id_value)
        return id_value if self == URL || self == HANDLE # TODO: is this close enough?
        "#{value.downcase}:#{id_value}"
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
stash-wrapper-0.1.12 lib/stash/wrapper/identifier_type.rb