Skip to content

Commit

Permalink
refactor: update methods visibility in multiple Providers (#332)
Browse files Browse the repository at this point in the history
* Update methods visibility in multiple Providers

Methods in several providers including Switzerland, South Korea, and Luxembourg among others have been updated from private to protected. These changes allow for better extensibility and customization of the Yasumi library. The methods affected are those calculating specific holidays in the different regions.
  • Loading branch information
attepulkkinen authored and stelgenhof committed Oct 24, 2024
1 parent 0dc328a commit 30d56d6
Show file tree
Hide file tree
Showing 102 changed files with 313 additions and 309 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ changes.

### Changed

- Holiday calculation methods in providers are now protected instead of private
to allow use in [custom providers](https://www.yasumi.dev/docs/cookbook/custom_provider/).
[\#331](https://github.com/azuyalabs/yasumi/issues/331)

### Fixed

### Removed
Expand Down
22 changes: 11 additions & 11 deletions src/Yasumi/Provider/Argentina.php
Original file line number Diff line number Diff line change
Expand Up @@ -88,7 +88,7 @@ public function getSources(): array
*
* @see https://en.wikipedia.org/wiki/Brazilian_Carnival
*/
private function addCarnvalHolidays(): void
protected function addCarnvalHolidays(): void
{
if ($this->year >= 1700) {
$easter = $this->calculateEaster($this->year, $this->timezone);
Expand Down Expand Up @@ -138,7 +138,7 @@ private function addCarnvalHolidays(): void
*
* @link https://en.wikipedia.org/wiki/Day_of_Remembrance_for_Truth_and_Justice
*/
private function addRemembranceDay(): void
protected function addRemembranceDay(): void
{
if ($this->year >= 2006) {
$this->addHoliday(new Holiday(
Expand All @@ -164,7 +164,7 @@ private function addRemembranceDay(): void
*
* @link https://en.wikipedia.org/wiki/Malvinas_Day
*/
private function addMalvinasDay(): void
protected function addMalvinasDay(): void
{
if ($this->year >= 1982) {
$this->addHoliday(new Holiday(
Expand Down Expand Up @@ -192,7 +192,7 @@ private function addMalvinasDay(): void
*
* @link https://en.wikipedia.org/wiki/First_National_Government
*/
private function addMayRevolution(): void
protected function addMayRevolution(): void
{
if ($this->year >= 1810) {
$this->addHoliday(new Holiday(
Expand All @@ -213,7 +213,7 @@ private function addMayRevolution(): void
* Anniversary of the death of Martín Miguel de Güemes, general of the
* Argentine War of Independence.
*/
private function addGeneralMartinMigueldeGuemesDay(): void
protected function addGeneralMartinMigueldeGuemesDay(): void
{
if ($this->year >= 1821) {
$this->addHoliday(new Holiday(
Expand All @@ -236,7 +236,7 @@ private function addGeneralMartinMigueldeGuemesDay(): void
*
* @link https://en.wikipedia.org/wiki/Flag_Day_(Argentina)
*/
private function addFlagDay(): void
protected function addFlagDay(): void
{
if ($this->year >= 1938) {
$this->addHoliday(new Holiday(
Expand All @@ -258,7 +258,7 @@ private function addFlagDay(): void
*
* @link https://en.wikipedia.org/wiki/Argentine_Declaration_of_Independence
*/
private function addIndependenceDay(): void
protected function addIndependenceDay(): void
{
if ($this->year >= self::PROCLAMATION_OF_INDEPENDENCE_YEAR) {
$this->addHoliday(new Holiday(
Expand All @@ -279,7 +279,7 @@ private function addIndependenceDay(): void
* Anniversary of the death of José de San Martín, liberator of
* Argentina, Chile and Peru.
*/
private function addGeneralJoseSanMartinDay(): void
protected function addGeneralJoseSanMartinDay(): void
{
if ($this->year >= 1850) {
$this->addHoliday(new Holiday(
Expand All @@ -302,7 +302,7 @@ private function addGeneralJoseSanMartinDay(): void
*
* @link https://en.wikipedia.org/wiki/Columbus_Day
*/
private function addRaceDay(): void
protected function addRaceDay(): void
{
if ($this->year >= 1492) {
$this->addHoliday(new Holiday(
Expand All @@ -325,7 +325,7 @@ private function addRaceDay(): void
*
* @link https://en.wikipedia.org/wiki/National_Sovereignty_Day
*/
private function addNationalSovereigntyDay(): void
protected function addNationalSovereigntyDay(): void
{
if ($this->year >= 2010) {
$this->addHoliday(new Holiday(
Expand All @@ -348,7 +348,7 @@ private function addNationalSovereigntyDay(): void
*
* @link https://en.wikipedia.org/wiki/Immaculate_Conception
*/
private function addImmaculateConceptionDay(): void
protected function addImmaculateConceptionDay(): void
{
if ($this->year >= 1900) {
$this->addHoliday(new Holiday(
Expand Down
10 changes: 5 additions & 5 deletions src/Yasumi/Provider/Australia.php
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ public function getSources(): array
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculateNewYearHolidays(): void
protected function calculateNewYearHolidays(): void
{
$newYearsDay = new \DateTime("{$this->year}-01-01", DateTimeZoneFactory::getDateTimeZone($this->timezone));
$this->addHoliday(new Holiday(
Expand Down Expand Up @@ -129,7 +129,7 @@ private function calculateNewYearHolidays(): void
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculateAustraliaDay(): void
protected function calculateAustraliaDay(): void
{
$date = new \DateTime("{$this->year}-01-26", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand Down Expand Up @@ -172,7 +172,7 @@ private function calculateAustraliaDay(): void
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculateAnzacDay(): void
protected function calculateAnzacDay(): void
{
if ($this->year < 1921) {
return;
Expand Down Expand Up @@ -217,7 +217,7 @@ private function calculateAnzacDay(): void
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculateNationalDayOfMourning(): void
protected function calculateNationalDayOfMourning(): void
{
if (2022 !== $this->year) {
return;
Expand All @@ -244,7 +244,7 @@ private function calculateNationalDayOfMourning(): void
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculateChristmasDay(): void
protected function calculateChristmasDay(): void
{
$christmasDay = new \DateTime("{$this->year}-12-25", DateTimeZoneFactory::getDateTimeZone($this->timezone));
$boxingDay = new \DateTime("{$this->year}-12-26", DateTimeZoneFactory::getDateTimeZone($this->timezone));
Expand Down
12 changes: 6 additions & 6 deletions src/Yasumi/Provider/Australia/AustralianCapitalTerritory.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function easterSunday(
protected function easterSunday(
int $year,
string $timezone,
string $locale,
Expand Down Expand Up @@ -101,7 +101,7 @@ private function easterSunday(
*
* @throws \Exception
*/
private function easterSaturday(
protected function easterSaturday(
int $year,
string $timezone,
string $locale,
Expand Down Expand Up @@ -137,7 +137,7 @@ private function easterSaturday(
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$this->addHoliday(new Holiday(
'queensBirthday',
Expand All @@ -153,7 +153,7 @@ private function calculateQueensBirthday(): void
*
* @throws \Exception
*/
private function calculateLabourDay(): void
protected function calculateLabourDay(): void
{
$date = new \DateTime("first monday of october {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand All @@ -165,7 +165,7 @@ private function calculateLabourDay(): void
*
* @throws \Exception
*/
private function calculateCanberraDay(): void
protected function calculateCanberraDay(): void
{
$datePattern = $this->year < 2007 ? "third monday of march {$this->year}" : "second monday of march {$this->year}";

Expand All @@ -184,7 +184,7 @@ private function calculateCanberraDay(): void
*
* @throws \Exception
*/
private function calculateReconciliationDay(): void
protected function calculateReconciliationDay(): void
{
if ($this->year < 2018) {
return;
Expand Down
8 changes: 4 additions & 4 deletions src/Yasumi/Provider/Australia/NewSouthWales.php
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function easterSaturday(
protected function easterSaturday(
int $year,
string $timezone,
string $locale,
Expand Down Expand Up @@ -104,7 +104,7 @@ private function easterSaturday(
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$this->addHoliday(new Holiday(
'queensBirthday',
Expand All @@ -120,7 +120,7 @@ private function calculateQueensBirthday(): void
*
* @throws \Exception
*/
private function calculateLabourDay(): void
protected function calculateLabourDay(): void
{
$date = new \DateTime("first monday of october {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand All @@ -133,7 +133,7 @@ private function calculateLabourDay(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateBankHoliday(): void
protected function calculateBankHoliday(): void
{
$this->addHoliday(new Holiday(
'bankHoliday',
Expand Down
8 changes: 4 additions & 4 deletions src/Yasumi/Provider/Australia/NorthernTerritory.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function easterSaturday(
protected function easterSaturday(
int $year,
string $timezone,
string $locale,
Expand Down Expand Up @@ -103,7 +103,7 @@ private function easterSaturday(
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$this->addHoliday(new Holiday(
'queensBirthday',
Expand All @@ -119,7 +119,7 @@ private function calculateQueensBirthday(): void
*
* @throws \Exception
*/
private function calculateMayDay(): void
protected function calculateMayDay(): void
{
$date = new \DateTime("first monday of may {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand All @@ -134,7 +134,7 @@ private function calculateMayDay(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculatePicnicDay(): void
protected function calculatePicnicDay(): void
{
$this->addHoliday(new Holiday(
'picnicDay',
Expand Down
4 changes: 2 additions & 2 deletions src/Yasumi/Provider/Australia/Queensland.php
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ public function initialize(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$birthDay = 'first monday of october '.$this->year;

Expand All @@ -85,7 +85,7 @@ private function calculateQueensBirthday(): void
*
* @throws \Exception
*/
private function calculateLabourDay(): void
protected function calculateLabourDay(): void
{
$date = new \DateTime("first monday of may {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));
if (2013 === $this->year || 2014 === $this->year || 2015 === $this->year) {
Expand Down
2 changes: 1 addition & 1 deletion src/Yasumi/Provider/Australia/Queensland/Brisbane.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ public function initialize(): void
* @throws UnknownLocaleException
* @throws \Exception
*/
private function calculatePeoplesDay(): void
protected function calculatePeoplesDay(): void
{
$date = new \DateTime('first friday of august '.$this->year, DateTimeZoneFactory::getDateTimeZone($this->timezone));
if ($date->format('d') < 5) {
Expand Down
10 changes: 5 additions & 5 deletions src/Yasumi/Provider/Australia/SouthAustralia.php
Original file line number Diff line number Diff line change
Expand Up @@ -75,7 +75,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function easterSaturday(
protected function easterSaturday(
int $year,
string $timezone,
string $locale,
Expand Down Expand Up @@ -111,7 +111,7 @@ private function easterSaturday(
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$this->addHoliday(new Holiday(
'queensBirthday',
Expand All @@ -127,7 +127,7 @@ private function calculateQueensBirthday(): void
*
* @throws \Exception
*/
private function calculateLabourDay(): void
protected function calculateLabourDay(): void
{
$date = new \DateTime("first monday of october {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand All @@ -142,7 +142,7 @@ private function calculateLabourDay(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateAdelaideCupDay(): void
protected function calculateAdelaideCupDay(): void
{
if ($this->year >= 1973) {
$cupDay = 'second monday of march '.$this->year;
Expand All @@ -166,7 +166,7 @@ private function calculateAdelaideCupDay(): void
*
* @throws \Exception
*/
private function calculateProclamationDay(): void
protected function calculateProclamationDay(): void
{
$christmasDay = new \DateTime("{$this->year}-12-25", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand Down
6 changes: 3 additions & 3 deletions src/Yasumi/Provider/Australia/Tasmania.php
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function calculateEightHoursDay(): void
protected function calculateEightHoursDay(): void
{
$date = new \DateTime("second monday of march {$this->year}", DateTimeZoneFactory::getDateTimeZone($this->timezone));

Expand All @@ -76,7 +76,7 @@ private function calculateEightHoursDay(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateQueensBirthday(): void
protected function calculateQueensBirthday(): void
{
$this->addHoliday(new Holiday(
'queensBirthday',
Expand All @@ -95,7 +95,7 @@ private function calculateQueensBirthday(): void
* @throws \InvalidArgumentException
* @throws \Exception
*/
private function calculateRecreationDay(): void
protected function calculateRecreationDay(): void
{
$this->addHoliday(new Holiday(
'recreationDay',
Expand Down
2 changes: 1 addition & 1 deletion src/Yasumi/Provider/Australia/Tasmania/CentralNorth.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function calculateDevonportShow(): void
protected function calculateDevonportShow(): void
{
$date = new \DateTime($this->year.'-12-02', DateTimeZoneFactory::getDateTimeZone($this->timezone));
$date = $date->modify('previous friday');
Expand Down
2 changes: 1 addition & 1 deletion src/Yasumi/Provider/Australia/Tasmania/FlindersIsland.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ public function initialize(): void
*
* @throws \Exception
*/
private function calculateFlindersIslandShow(): void
protected function calculateFlindersIslandShow(): void
{
$date = new \DateTime('third saturday of october '.$this->year, DateTimeZoneFactory::getDateTimeZone($this->timezone));
$date = $date->sub(new \DateInterval('P1D'));
Expand Down
Loading

0 comments on commit 30d56d6

Please sign in to comment.