File Coverage

blib/lib/Acme/BABYMETAL/Base.pm
Criterion Covered Total %
statement 24 26 92.3
branch n/a
condition n/a
subroutine 6 7 85.7
pod 1 2 50.0
total 31 35 88.5


line stmt bran cond sub pod time code
1             package Acme::BABYMETAL::Base;
2 4     4   17 use strict;
  4         4  
  4         84  
3 4     4   11 use warnings;
  4         4  
  4         65  
4 4     4   2977 use DateTime;
  4         1108647  
  4         151  
5 4     4   25 use base qw(Class::Accessor);
  4         5  
  4         2080  
6              
7             our $VERSION = '0.03';
8              
9             __PACKAGE__->mk_accessors(qw(
10             metal_name
11             name_ja
12             first_name_ja
13             family_name_ja
14             name_en
15             first_name_en
16             family_name_en
17             birthday
18             age
19             blood_type
20             hometown
21             ));
22              
23             sub new {
24 12     12 1 15 my $class = shift;
25 12         17 my $self = bless {}, $class;
26 12         40 $self->_initialize;
27 12         44 return $self;
28             }
29              
30             sub _initialize {
31 12     12   12 my $self = shift;
32 12         25 my %info = $self->info;
33              
34 12         120 $self->{$_} = $info{$_} for keys %info;
35 12         54 $self->{name_ja} = $self->family_name_ja . $self->first_name_ja;
36 12         199 $self->{name_en} = $self->first_name_en . ' ' . $self->family_name_en;
37 12         180 my ($year, $month, $day) = ($self->{birthday} =~ /^(\d{4})-(\d{2})-(\d{2})$/);
38 12         53 $self->{age} = (DateTime->now - DateTime->new(
39             year => $year,
40             month => $month,
41             day => $day,
42             ))->years;
43              
44 12         8289 return 1;
45             }
46              
47             sub shout {
48 0     0 0   my $self = shift;
49 0           print $self->metal_name . " DEATH!!\n";
50             }
51              
52              
53             1;
54