Sha256: 680e93dca588237ed28109ac20866438cd5d9c0a2e41bbfa0d414758517de247

Contents?: true

Size: 1.12 KB

Versions: 2

Compression:

Stored size: 1.12 KB

Contents

module Popolo
  # An alternate or former name.
  class OtherName
    include Mongoid::Document

    embedded_in :nameable, polymorphic: true

    # An alternate or former name.
    field :name, type: String
    # One or more family names.
    field :family_name, type: String
    # One or more primary given names.
    field :given_name, type: String
    # One or more secondary given names.
    field :additional_name, type: String
    # One or more honorifics preceding a person's name.
    field :honorific_prefix, type: String
    # One or more honorifics following a person's name.
    field :honorific_suffix, type: String
    # One or more patronymic names.
    field :patronymic_name, type: String
    # The date on which the name was adopted.
    field :start_date, type: DateString
    # The date on which the name was abandoned.
    field :end_date, type: DateString
    # A note, e.g. 'Birth name'.
    field :note, type: String

    validates_presence_of :name
    validates_format_of :start_date, with: DATE_STRING_FORMAT, allow_blank: true
    validates_format_of :end_date, with: DATE_STRING_FORMAT, allow_blank: true
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
popolo-0.1.1 app/models/popolo/other_name.rb
popolo-0.1.0 app/models/popolo/other_name.rb