Class: Identifier::Global::Doi

Inherits:
Identifier::Global show all
Defined in:
app/models/identifier/global/doi.rb

Overview

Digital Object Identifier

per  http://www.doi.org/doi_handbook/2_Numbering.html

Section 2.2 on 1/31/2014

The DOI syntax shall be made up of a DOI prefix and a DOI suffix separated by a forward slash.
There is no defined limit on the length of the DOI name, or of the DOI prefix or DOI suffix.
The DOI name is case-insensitive and can incorporate any printable characters from the legal graphic characters
  of Unicode. Further constraints on character use (e.g. use of language-specific alphanumeric characters) can
  be defined for an application by the ISO 26324 Registration Authority.
The combination of a unique DOI prefix (assigned to a particular DOI registrant) and a unique DOI suffix
  (provided by that registrant for a specific object) is unique, and so allows the de-centralized allocation of
  DOI names.
The DOI name is an opaque string for the purposes of the DOI system. No definitive information may be inferred
  from the specific character string of a DOI name. In particular, the inclusion in a DOI name of any registrant
  code allocated to a specific registrant does not provide evidence of the ownership of rights or current management
  responsibility of any intellectual property in the referent. Such information may be asserted in the associated
  metadata.

Section 2.2.2

General
  The DOI prefix shall be composed of a directory indicator followed by a registrant code. These two components
    shall be separated by a full stop (period).

Directory indicator

  The directory indicator shall be "10". The directory indicator distinguishes the entire set of character strings
    (prefix and suffix) as digital object identifiers within the resolution system.

Registrant code

  The second element of the DOI prefix shall be the registrant code. The registrant code is a unique string assigned
     to a registrant.

Constant Summary

Constant Summary

Constants inherited from Identifier

SHORT_NAMES

Instance Attribute Summary

Attributes inherited from Identifier::Global

#relation

Attributes inherited from Identifier

#cached, #identifier, #identifier_object_id, #namespace_id, #project_id, #type

Instance Method Summary (collapse)

Methods inherited from Identifier::Global

#permit_only_one_global_without_relation_supplied_per_type, #set_cached

Methods inherited from Identifier

#annotated_object, class_name, find_for_autocomplete, generate_download, #klass_name, prototype_identifier, #set_cached

Methods included from Housekeeping

#has_polymorphic_relationship?

Methods included from ActiverecordUtilities

#trim_attributes

Instance Method Details

- (Object) handle_prefixes (protected)



40
41
42
# File 'app/models/identifier/global/doi.rb', line 40

def handle_prefixes
   identifier.gsub!(/^(doi:|http:\/\/dx.doi.org\/)/, '') if identifier
end