
* #39 - wip * #39 - fix * #39 - wip * #39 - wip * #39 - wip * Update app/Domain/Enums/Month.php Co-authored-by: Marcin Tracz <marcin.tracz@blumilk.pl> * #39 - cr fixes Co-authored-by: EwelinaLasowy <ewelina.lasowy@blumilk.pl> Co-authored-by: Marcin Tracz <marcin.tracz@blumilk.pl>
54 lines
1.5 KiB
PHP
54 lines
1.5 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace Toby\Domain\Enums;
|
|
|
|
use Carbon\CarbonInterface;
|
|
use Illuminate\Support\Carbon;
|
|
use Illuminate\Support\Str;
|
|
|
|
enum Month: string
|
|
{
|
|
case January = "january";
|
|
case February = "february";
|
|
case March = "march";
|
|
case April = "april";
|
|
case May = "may";
|
|
case June = "june";
|
|
case July = "july";
|
|
case August = "august";
|
|
case September = "september";
|
|
case October = "october";
|
|
case November = "november";
|
|
case December = "december";
|
|
|
|
public function toCarbonNumber(): int
|
|
{
|
|
return match ($this) {
|
|
self::January => CarbonInterface::JANUARY,
|
|
self::February => CarbonInterface::FEBRUARY,
|
|
self::March => CarbonInterface::MARCH,
|
|
self::April => CarbonInterface::APRIL,
|
|
self::May => CarbonInterface::MAY,
|
|
self::June => CarbonInterface::JUNE,
|
|
self::July => CarbonInterface::JULY,
|
|
self::August => CarbonInterface::AUGUST,
|
|
self::September => CarbonInterface::SEPTEMBER,
|
|
self::October => CarbonInterface::OCTOBER,
|
|
self::November => CarbonInterface::NOVEMBER,
|
|
self::December => CarbonInterface::DECEMBER,
|
|
};
|
|
}
|
|
|
|
public static function current(): Month
|
|
{
|
|
return Month::from(Str::lower(Carbon::now()->englishMonth));
|
|
}
|
|
|
|
public static function fromNameOrCurrent(string $name): Month
|
|
{
|
|
return Month::tryFrom($name) ?? Month::current();
|
|
}
|
|
}
|