Acme-MilkyHolmes

 view release on metacpan or  search on metacpan

lib/Acme/MilkyHolmes/Character.pm  view on Meta::CPAN

package Acme::MilkyHolmes::Character;
use Mouse;

use Data::Section::Simple;
use Localizer::Resource;
use Localizer::Style::Gettext;
use YAML::Tiny;
use utf8;

has localizer => (
    is  => 'ro',
);

has locale => (
    is       => 'rw',
    isa      => 'Str',
    required => 1,
    default  => 'ja',
);

has common => (
    is => 'ro',
);

no Mouse;

sub name {
    my ($self) = @_;

    my $sep = $self->_localized_field('name_separator');
    $sep = ' ' if ( !defined $sep );

    if ( defined $self->_localized_field('name') ) {
        return $self->_localized_field('name');
    }
    elsif ( $self->locale eq 'ja' ) {
        if( defined $sep && $sep eq '・' ) {
            return $self->firstname . $sep . $self->familyname;
        }
        return $self->familyname . $sep . $self->firstname;
    }
    return $self->firstname . $sep . $self->familyname;
}

sub firstname {
    my ($self) = @_;
    return $self->_localized_field('firstname');
}

sub familyname {
    my ($self) = @_;
    return $self->_localized_field('familyname');
}

sub nickname {
    my ($self) = @_;
    if ( defined $self->_localized_field('nickname') ) {
        return $self->_localized_field('nickname');
    }
    return $self->_localized_field('firstname');
}

sub birthday {
    my ($self) = @_;
    return $self->_localized_field('birthday');
}

sub voiced_by {
    my ($self) = @_;
    return $self->_localized_field('voiced_by');
}

sub nickname_voiced_by {
    my ($self) = @_;
    return $self->_localized_field('nickname_voiced_by');
}

sub _localized_field {



( run in 2.003 seconds using v1.01-cache-2.11-cpan-13bb782fe5a )