* #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();
 | 
						|
    }
 | 
						|
}
 |