Acme-MadokaMagica

 view release on metacpan or  search on metacpan

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

package Acme::MadokaMagica;
use 5.008001;
use strict;
use warnings;
use utf8;
use parent 'Exporter';

our $VERSION = "0.09";
our $miracle = "奇跡";
our $magical = "魔法";

our @EXPORT = qw[ $miracle $magical];

use Readonly;

Readonly our $KyoSaya => [
    "SakuraKyoko",
    "MikiSayaka",
];

Readonly our $MadoHomu => [
    "KanameMadoka",
    "AkemiHomura",
];

Readonly our $Alone => [
    "TomoeMami",
];

Readonly our $HollyQuintet => [
    @$MadoHomu,
    @$Alone,
    @$KyoSaya,
];

Readonly our $AloneMembers => [
    @$Alone,
];

Readonly our $MainMembers => [
    @$HollyQuintet,
];

sub alone_members {
    my $self = shift;
    return $self->members_of($AloneMembers,(caller)[2]);
}

sub main_members {
    my $self = shift;
    return $self->members_of($MainMembers,(caller)[2]);
}

sub members_of {
    my ($self, $team) = @_;
    my $line = $_[2] ||  (caller)[2];
    my @members;

    for my $member_name (@{ $team }){
        my $pkg = "Acme::MadokaMagica::TvMembers::$member_name";
        if (eval "require $pkg;1;"){
            push @members,$pkg->new("line" => $line);
        }
    }



( run in 2.907 seconds using v1.01-cache-2.11-cpan-007c89162af )