class Datacite::Mapping::Subject

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

Public Class Methods

new(scheme: nil, scheme_uri: nil, language: nil, value:) click to toggle source

Initializes a new {Subject} @param scheme [String, nil] the subject scheme or classification code or authority if one is used. Optional. @param scheme_uri [URI, nil] the URI of the subject scheme or classification code or authority if one is used. Optional. @param language [String, nil] an IETF BCP 47, ISO 639-1 language code identifying the language. @param value [String] the subject itself.

# File lib/datacite/mapping/subject.rb, line 17
def initialize(scheme: nil, scheme_uri: nil, language: nil, value:)
  self.scheme = scheme
  self.scheme_uri = scheme_uri
  self.language = language
  self.value = value
end

Public Instance Methods

language=(value) click to toggle source
# File lib/datacite/mapping/subject.rb, line 24
def language=(value)
  @language = value&.strip
end
value=(value) click to toggle source
# File lib/datacite/mapping/subject.rb, line 28
def value=(value)
  new_value = value&.strip
  raise ArgumentError, 'Value cannot be empty or nil' unless new_value && !new_value.empty?

  @value = new_value
end