Sha256: 0b6b85d4e1f8ba13310d4f9c82f93dfe75fd06b4b38fa812b999122f9db71ac0

Contents?: true

Size: 1.31 KB

Versions: 7

Compression:

Stored size: 1.31 KB

Contents

require 'iso_bib_item/contributor'

module IsoBibItem
  # Person's full name
  class FullName
    # @return [Array<IsoBibItem::LocalizedString>]
    attr_accessor :forenames

    # @return [Array<IsoBibItem::LocalizedString]
    attr_accessor :inials

    # @return [IsoBibItem::LocalizedString]
    attr_accessor :surname

    # @return [Array<IsoBibItem::LocalizedString]
    attr_accessor :additions

    # @return [Array<IsoBibItem::LocalizedString]
    attr_accessor :prefix

    def initialize(surname)
      @surname   = surname
      @forenames = []
      @initials  = []
      @additions = []
      @prefix    = []
    end
  end

  module PersonIdentifierType
    ISNI = 'isni'.freeze
    URI  = 'uri'.freeze
  end

  # Person identifier.
  class PersonIdentifier
    # @return [PersonIdentifierType]
    attr_accessor :type

    # @return [String]
    attr_accessor :value

    def initialize(type, value)
      @type  = type
      @value = value
    end
  end

  # Person class.
  class Person < Contributor
    # @return [IsoBibItem::FullName]
    attr_accessor :name

    # @return [Array<IsoBibItem::Affilation>]
    attr_accessor :affilation

    # @return [Array<IsoBibItem::PersonIdentifier>]
    attr_accessor :identifiers

    def initialize
      super
      @affilation = []
      @identifiers = []
    end
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
iso-bib-item-0.1.6 lib/iso_bib_item/person.rb
iso-bib-item-0.1.5 lib/iso_bib_item/person.rb
iso-bib-item-0.1.4 lib/iso_bib_item/person.rb
iso-bib-item-0.1.3 lib/iso_bib_item/person.rb
iso-bib-item-0.1.2 lib/iso_bib_item/person.rb
iso-bib-item-0.1.1 lib/iso_bib_item/person.rb
iso-bib-item-0.1.0 lib/iso_bib_item/person.rb