File Coverage

blib/lib/Acme/MadokaMagica.pm
Criterion Covered Total %
statement 30 30 100.0
branch 1 2 50.0
condition 2 3 66.6
subroutine 9 9 100.0
pod 0 3 0.0
total 42 47 89.3


line stmt bran cond sub pod time code
1             package Acme::MadokaMagica;
2 5     5   5353 use 5.008001;
  5         42  
3 5     5   27 use strict;
  5         9  
  5         128  
4 5     5   24 use warnings;
  5         24  
  5         129  
5 5     5   590 use utf8;
  5         24  
  5         52  
6 5     5   2246 use parent 'Exporter';
  5         2101  
  5         28  
7              
8             our $VERSION = "0.09";
9             our $miracle = "奇跡";
10             our $magical = "魔法";
11              
12             our @EXPORT = qw[ $miracle $magical];
13              
14 5     5   2999 use Readonly;
  5         19741  
  5         2042  
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 4143 my $self = shift;
46 2         13 return $self->members_of($AloneMembers,(caller)[2]);
47             }
48              
49             sub main_members {
50 1     1 0 3047 my $self = shift;
51 1         6 return $self->members_of($MainMembers,(caller)[2]);
52             }
53              
54             sub members_of {
55 6     6 0 8215 my ($self, $team) = @_;
56 6   66     67 my $line = $_[2] || (caller)[2];
57 6         11 my @members;
58              
59 6         10 for my $member_name (@{ $team }){
  6         27  
60 13         63 my $pkg = "Acme::MadokaMagica::TvMembers::$member_name";
61 13 50       1068 if (eval "require $pkg;1;"){
62 13         118 push @members,$pkg->new("line" => $line);
63             }
64             }
65              
66 6         30 return @members;
67             }
68              
69             1;
70             __END__