Class: Datacite::Mapping::Subject

Inherits:
Object
  • Object
show all
Includes:
XML::Mapping
Defined in:
lib/datacite/mapping/subject.rb

Overview

Subject, keyword, classification code, or key phrase describing the Resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(scheme: nil, scheme_uri: nil, language: 'en', value:) ⇒ Subject

Initializes a new Datacite::Mapping::Subject

Parameters:

  • scheme (String, nil) (defaults to: nil)

    the subject scheme or classification code or authority if one is used. Optional.

  • scheme_uri (URI, nil) (defaults to: nil)

    the URI of the subject scheme or classification code or authority if one is used. Optional.

  • language (String) (defaults to: 'en')

    an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.

  • value (String)

    the subject itself.



16
17
18
19
20
21
# File 'lib/datacite/mapping/subject.rb', line 16

def initialize(scheme: nil, scheme_uri: nil, language: 'en', value:)
  self.scheme = scheme
  self.scheme_uri = scheme_uri
  self.language = language
  self.value = value
end

Instance Attribute Details

#languageString

Returns an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.

Returns:

  • (String)

    an IETF BCP 47, ISO 639-1 language code identifying the language. It's unclear from the spec whether language is required; to play it safe, if it's missing, we default to 'en'.



42
43
44
# File 'lib/datacite/mapping/subject.rb', line 42

def language
  @language || 'en'
end

#schemeString?

Returns the subject scheme or classification code or authority if one is used. Optional.

Returns:

  • (String, nil)

    the subject scheme or classification code or authority if one is used. Optional.



33
# File 'lib/datacite/mapping/subject.rb', line 33

text_node :scheme, '@subjectScheme', default_value: nil

#scheme_uriURI?

Returns the URI of the subject scheme or classification code or authority if one is used. Optional.

Returns:

  • (URI, nil)

    the URI of the subject scheme or classification code or authority if one is used. Optional.



37
# File 'lib/datacite/mapping/subject.rb', line 37

uri_node :scheme_uri, '@schemeURI', default_value: nil

#valueString

Returns the subject itself.

Returns:

  • (String)

    the subject itself.



46
# File 'lib/datacite/mapping/subject.rb', line 46

text_node :value, 'text()'