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   4943 use 5.008001;
  5         41  
3 5     5   26 use strict;
  5         9  
  5         107  
4 5     5   23 use warnings;
  5         10  
  5         134  
5 5     5   628 use utf8;
  5         22  
  5         45  
6 5     5   2209 use parent 'Exporter';
  5         1576  
  5         28  
7              
8             our $VERSION = "0.08";
9             our $miracle = "奇跡";
10             our $magical = "魔法";
11              
12             our @EXPORT = qw[ $miracle $magical];
13              
14 5     5   3115 use Readonly;
  5         19672  
  5         2142  
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 4163 my $self = shift;
46 2         13 return $self->members_of($AloneMembers,(caller)[2]);
47             }
48              
49             sub main_members {
50 1     1 0 3006 my $self = shift;
51 1         6 return $self->members_of($MainMembers,(caller)[2]);
52             }
53              
54             sub members_of {
55 6     6 0 8038 my ($self, $team) = @_;
56 6   66     64 my $line = $_[2] || (caller)[2];
57 6         14 my @members;
58              
59 6         8 for my $member_name (@{ $team }){
  6         27  
60 13         35 my $pkg = "Acme::MadokaMagica::TvMembers::$member_name";
61 13 50       1006 if (eval "require $pkg;1;"){
62 13         109 push @members,$pkg->new("line" => $line);
63             }
64             }
65              
66 6         39 return @members;
67             }
68              
69             1;
70             __END__