
Myco::Core::Person - Myco Person objects.
1.0

use Myco; # Constructors. See Myco::Entity for more. my $p = Myco::Core::Person->new; # Name. my $last = $p->get_last; $p = $p->set_last($last); my $first = $p->get_first; $p = $p->set_first($first); my $middle = $p->get_middle; $p = $p->set_middle($middle); my $prefix = $p->get_prefix; $p = $p->set_prefix($prefix); my $suffix = $p->get_suffix; $p = $p->set_suffix($suffix); my $nick = $p->get_nick; $p = $p->set_nick($nick); # Vital Stats. my $gender = $p->get_gender; $p = $p->set_gender($gender); my $birthdate = $p->get_birthdate; $p = $p->set_birthdate($birthdate); # Added instance methods. my $format = "%p% f% M% l%, s"; my $name = $p->strfname($format); my $uidf = $p->get_unique_id_fmt; # Persistence methods. $p->save; $p->destroy;

This class represents what may well be the central object of any Myco-based application: the Person. Myco::Core::Person provides the absolute bare bones skeleton of what most applications will need in a person object.

Constructor, accessors, and other methods -- as inherited from Myco::Entity.

Attributes may be initially set during object construction (with new()) but otherwise should be accessed solely through accessor methods. Typical usage:
$p->set_attribute($value);
Check functions (see Class::Tangram) perform data validation. If there is any concern that the set method might be called with invalid data then the call should be wrapped in an eval block to catch exceptions that would result.
$value = $p->get_attribute;
A listing of available attributes follows:
type: string(64) required: not empty
The person's last name.
type: string(64)
The person's first name.
type: string(64)
The person's middle name.
type: string(32)
The prefix to the person's name.
type: string(32)
The suffix to the person's name.
type: string(64)
The person's nick name.
type: rawdate
The person's birthday.

my $format = "%p% f% M% l%, s"; my $name = $person->strfname($format);
This method allows the parts of the person's name to be formatted according to the strfname formatting template syntax. See Lingua::Strfname for the details of the formatting syntax. Note that the only difference here is that the "first extra name" is always the person's nick name. Thus, the formatting characters are as follows:
%l Last Name %f First Name %m Middle Name %p Prefix %s Suffix %a Nick Name %L Last Name Initial with period %F First Name Initial with period %M Middle Name Initial with period %A Nick Name Initial with period %T Last Name Initial %S First Name Initial %I Middle Name Initial %1 Nick Name Initial

Copyright (c) 2006 the myco project. All rights reserved. This software is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

Charles Owens <charles@mycohq.com>, David Wheeler <david@wheeler.net>, and Ben Sommer <ben@mycohq.com>

"person.t" in t, Myco::Entity, Myco, Tangram, Class::Tangram,