Completed
Pull Request — master (#6)
by
unknown
07:40
created

Portugal   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 109
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 0%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 1
c 1
b 0
f 1
lcom 0
cbo 2
dl 0
loc 109
ccs 0
cts 60
cp 0
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
B prepareHolidays() 0 103 1
1
<?php
2
3
/*
4
 * This file is part of the Holiday Library.
5
 *
6
 * (c) Michał Mańko <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE.md
9
 * file that was distributed with this source code.
10
 */
11
12
namespace Michalmanko\Holiday\Provider;
13
14
use ArrayObject;
15
use Michalmanko\Holiday\Holiday;
16
17
/**
18
 * Portuguese Holidays Provider.
19
 *
20
 * @author Carlos Cabral <[email protected]>
21
 */
22
class Portugal extends AbstractProvider
23
{
24
    /**
25
     * {@inheritdoc}
26
     */
27
    protected function prepareHolidays($year)
28
    {
29
        $data = new ArrayObject();
30
31
        // New Year's Day
32
        $data->append($this->createHoliday(
33
            'Ano Novo',
34
            $year . '-01-01',
35
            Holiday::TYPE_HOLIDAY
36
        ));
37
38
        // Easter
39
        $easter = $this->createHoliday(
40
            'Páscoa',
41
            $this->getEaster($year),
42
            Holiday::TYPE_HOLIDAY
43
        );
44
        $data->append($easter);
45
46
        // Saint Friday
47
        $saintFriday = $this->createHoliday(
48
            'Sexta-Feira Santa',
49
            $this->getEaster($year),
50
            Holiday::TYPE_HOLIDAY
51
        );
52
        $saintFriday->modify('-2 days');
53
        $data->append($saintFriday);
54
55
        // Liberty day
56
        $data->append($this->createHoliday(
57
            '25 de Abril',
58
            $year . '-04-25',
59
            Holiday::TYPE_HOLIDAY
60
        ));
61
62
        // Labour Day
63
        $data->append($this->createHoliday(
64
            'Dia do Trabalhador',
65
            $year . '-05-01',
66
            Holiday::TYPE_HOLIDAY
67
        ));
68
69
        // Corpus Christi
70
        $corpusChristi = $this->createHoliday(
71
            'Corpo de Deus',
72
            $easter,
73
            Holiday::TYPE_HOLIDAY
74
        );
75
        $corpusChristi->modify('+60 days');
76
        $data->append($corpusChristi);
77
78
        // National day
79
        $data->append($this->createHoliday(
80
            'Dia de Portugal',
81
            $year . '-06-10',
82
            Holiday::TYPE_HOLIDAY
83
        ));
84
85
        // Assumption of the Blessed Virgin Mary
86
        $data->append($this->createHoliday(
87
            'Assunção de Nossa Senhora',
88
            $year . '-08-15',
89
            Holiday::TYPE_HOLIDAY
90
        ));
91
92
        // Republic day
93
        $data->append($this->createHoliday(
94
            'Implantação da República',
95
            $year . '-10-05',
96
            Holiday::TYPE_HOLIDAY
97
        ));
98
99
        // All Saints' Day
100
        $data->append($this->createHoliday(
101
            'Dia de Todos os Santos',
102
            $year . '-11-01',
103
            Holiday::TYPE_HOLIDAY
104
        ));
105
106
        // Independence Day
107
        $data->append($this->createHoliday(
108
            'Restauração da Independência',
109
            $year . '-12-01',
110
            Holiday::TYPE_HOLIDAY
111
        ));
112
113
        // Immaculate conception
114
        $data->append($this->createHoliday(
115
            'Dia da Imaculada Conceição',
116
            $year . '-12-08',
117
            Holiday::TYPE_HOLIDAY
118
        ));
119
120
        // Christmas Day
121
        $data->append($this->createHoliday(
122
            'Natal',
123
            $year . '-12-25',
124
            Holiday::TYPE_HOLIDAY
125
        ));
126
127
128
        return $data->getArrayCopy();
129
    }
130
}
131