class Datacite::Mapping::FundingReference

Public Class Methods

new(name:, identifier: nil, award_number: nil, award_title: nil) click to toggle source
# File lib/datacite/mapping/funding_reference.rb, line 97
def initialize(name:, identifier: nil, award_number: nil, award_title: nil)
  self.name = name
  self.identifier = identifier
  self.award_number = award_number
  self.award_title = award_title
end

Public Instance Methods

award_number=(value) click to toggle source
# File lib/datacite/mapping/funding_reference.rb, line 104
def award_number=(value)
  @award_number = award_number_or_nil(value)
end
to_s() click to toggle source
# File lib/datacite/mapping/funding_reference.rb, line 108
def to_s
  fields = %i[name identifier award_number award_title].map { |f| "#{f}: #{send(f)}" }
  "FundingReference { #{fields.join(', ')} }"
end

Private Instance Methods

award_number_or_nil(value) click to toggle source
# File lib/datacite/mapping/funding_reference.rb, line 122
def award_number_or_nil(value)
  return nil unless value
  return value if value.is_a?(AwardNumber)

  new_value = value.to_s.strip
  return nil if new_value.empty?

  AwardNumber.new(value: new_value)
end