File Coverage

blib/lib/Acme/MadokaMagica.pm
Criterion Covered Total %
statement 29 29 100.0
branch 1 2 50.0
condition n/a
subroutine 9 9 100.0
pod 0 3 0.0
total 39 43 90.7


line stmt bran cond sub pod time code
1             package Acme::MadokaMagica;
2 5     5   4695 use 5.008001;
  5         15  
3 5     5   21 use strict;
  5         8  
  5         105  
4 5     5   29 use warnings;
  5         6  
  5         111  
5 5     5   500 use utf8;
  5         13  
  5         14  
6 5     5   2174 use parent 'Exporter';
  5         1334  
  5         26  
7              
8             our $VERSION = "0.07";
9             our $miracle = "奇跡";
10             our $magical = "魔法";
11              
12             our @EXPORT = qw[ $miracle $magical];
13              
14 5     5   4649 use Readonly;
  5         15243  
  5         1527  
15              
16             Readonly our $KyoSaya => [
17             "SakuraKyoko",
18             "MikiSayaka",
19             ];
20              
21             Readonly our $MadoHomu => [
22             "KanameMadoka",
23             "AkemiHomura",
24             ];
25              
26             Readonly our $Alone => [
27             "TomoeMami",
28             ];
29              
30             Readonly our $HollyQuintet => [
31             @$MadoHomu,
32             @$Alone,
33             @$KyoSaya,
34             ];
35              
36             Readonly our $AloneMembers => [
37             @$Alone,
38             ];
39              
40             Readonly our $MainMembers => [
41             @$HollyQuintet,
42             ];
43              
44             sub alone_members {
45 2     2 0 1584 my $self = shift;
46 2         14 return $self->members_of($AloneMembers, (caller)[2]);
47             }
48              
49             sub main_members {
50 1     1 0 1853 my $self = shift;
51 1         7 return $self->members_of($MainMembers, (caller)[2]);
52             }
53              
54             sub members_of {
55 5     5 0 2605 my ($self, $team, $line) = @_;
56 5         35 my @members;
57              
58 5         9 for my $member_name (@{ $team }){
  5         13  
59 11         26 my $pkg = "Acme::MadokaMagica::TvMembers::$member_name";
60 11 50       805 if (eval "require $pkg;1;"){
61             # push @members,$pkg->new($line);
62 11         180 push @members,$pkg->new({"line" => $line});
63             }
64             }
65              
66 5         25 return @members;
67             }
68              
69             1;
70             __END__