class IsoBibItem::FullName

Person's full name

Attributes

additions[RW]

@return [Array<IsoBibItem::LocalizedString>]

completename[R]

@return [IsoBibItem::LocalizedString]

forenames[RW]

@return [Array<IsoBibItem::LocalizedString>]

initials[RW]

@return [Array<IsoBibItem::LocalizedString>]

prefix[RW]

@return [Array<IsoBibItem::LocalizedString>]

surname[RW]

@return [IsoBibItem::LocalizedString]

Public Class Methods

new(**args) click to toggle source

@param surname [IsoBibItem::LocalizedString] @param forenames [Array<IsoBibItem::LocalizedString>] @param initials [Array<IsoBibItem::LocalizedString>] @param prefix [Array<IsoBibItem::LocalizedString>] @param completename [IsoBibItem::LocalizedString]

# File lib/iso_bib_item/person.rb, line 31
def initialize(**args)
  unless args[:surname] || args[:completename]
    raise ArgumentError, 'Should be given :surname or :completename'
  end
  @surname      = args[:surname]
  @forenames    = args[:forenames]
  @initials     = args[:initials]
  @additions    = args[:additions]
  @prefix       = args[:prefix]
  @completename = args[:completename]
end

Public Instance Methods

to_xml(builder) click to toggle source

@param builder [Nokogiri::XML::Builder]

# File lib/iso_bib_item/person.rb, line 44
def to_xml(builder)
  builder.name do
    if completename
      builder.completename { completename.to_xml builder }
    else
      builder.prefix { prefix.each { |p| p.to_xml builder } } if prefix
      builder.initial { initials.each { |i| i.to_xml builder } } if initials
      builder.addition { additions.each { |a| a.to_xml builder } } if additions
      builder.surname { surname.to_xml builder }
      builder.forename { forenames.each { |f| f.to_xml builder } } if forenames
    end
  end
end