File Coverage

blib/lib/Date/Holidays/CA_ES.pm
Criterion Covered Total %
statement 22 22 100.0
branch n/a
condition n/a
subroutine 5 5 100.0
pod 1 1 100.0
total 28 28 100.0


line stmt bran cond sub pod time code
1             package Date::Holidays::CA_ES;
2             {
3             $Date::Holidays::CA_ES::VERSION = '0.03';
4             }
5              
6 2     2   1532 use strict;
  2         4  
  2         64  
7 2     2   9 use warnings;
  2         4  
  2         55  
8              
9 2     2   1389 use DateTime;
  2         1505312  
  2         60  
10              
11 2     2   14 use base 'Date::Holidays::ES';
  2         2  
  2         1760  
12              
13             sub holidays {
14 10     10 1 6623 my ($self, %params) = @_;
15              
16 10         41 my $es_h = $self->SUPER::holidays(%params);
17 10         606 my $ct_h = {
18             '0624' => 'Sant Joan',
19             '0911' => 'Diada Nacional',
20             '1226' => 'Sant Esteve',
21             '0106' => 'Reis',
22             };
23              
24 10         76 my %reverse = reverse %$es_h;
25 10         22 my $v_santo = $reverse{'Viernes Santo'};
26              
27             # 'Pasqua Florida' is always 3 days after 'Viernes Santo'
28 10         55 my $p_florida = DateTime->new(
29             year => $params{year},
30             month => substr($v_santo, 0, 2),
31             day => substr($v_santo, 2, 2),
32             )->add( days => 3 );
33 10         8878 my (undef, $month, $day) = split '-', $p_florida->ymd();
34 10         162 $ct_h->{"$month$day"} = 'Pasqua Florida';
35              
36 10         111 my %merge = ( %$es_h, %$ct_h );
37 10         180 return \%merge;
38             }
39              
40             1;
41             __END__