Acme-HidamariSketch

 view release on metacpan or  search on metacpan

lib/Acme/HidamariSketch.pm  view on Meta::CPAN

package Acme::HidamariSketch;
use 5.008005;
use strict;
use warnings;
use utf8;

our $VERSION = "0.05";


my @characters = qw(
    Yuno
    Miyako
    Hiro
    Sae
    Nori
    Nazuna
    Matsuri
    Riri
    Misato
);

my %year = (
    before => 0,   # 前年  (ゆの入学前)
    first  => 1,   # 1年目 (ゆの入学)
    second => 2,   # 2å¹´ç›®
    third  => 3,   # 3年目 (現在)
);

my $SINGLETON;


sub new {
    if ($SINGLETON) {
        return $SINGLETON;
    }
    else {
        my $class = shift;

        my $SINGLETON = bless {characters => [], year => 'third'}, $class;

        $SINGLETON->_init;

        return $SINGLETON;
    }
}

sub characters {
    my ($self, %options) = @_;

    return @{$self->{characters}};
}

sub apartment {
    my $self = shift;

    my $module_name = 'Acme::HidamariSketch::Apartment';

    eval "require $module_name";

    my @tenant;
    for my $character (@{$self->{characters}}) {
        if (defined $character->{room_number}->{$self->year}) {
            push @tenant, $character;
        }
    }



( run in 0.941 second using v1.01-cache-2.11-cpan-800906f7e73 )