ldc-lionor/app/Enums/PreparationTimeEnum.php
Sebastien Hattry 2a8c966892 Intergration 4
2023-03-20 13:17:58 +00:00

72 lines
1.5 KiB
PHP

<?php
namespace App\Enums;
use Kwaadpepper\Enum\BaseEnum;
/**
* @method static self interval1()
* @method static self interval2()
* @method static self interval3()
* @method static self interval4()
*/
final class PreparationTimeEnum extends BaseEnum
{
/**
* Enum values
*
* @return array
*/
protected static function values(): array
{
return [
'interval1' => 0,
'interval2' => 1,
'interval3' => 2,
'interval4' => 3,
];
}
/**
* Enum labels
*
* @return array
*/
protected static function labels(): array
{
return [
'interval1' => __('0-30 min'),
'interval2' => __('30min - 2h'),
'interval3' => __('2h - 4h'),
'interval4' => __('> 4h'),
];
}
/**
* Enum times
*
* @return array
*/
protected static function times(): array
{
return [
'interval1' => ['min' => 0, 'max' => 30],
'interval2' => ['min' => 31, 'max' => 120],
'interval3' => ['min' => 121, 'max' => 240],
'interval4' => ['min' => 241, 'max' => 9999],
];
}
/**
* @param string $attribute
* @return integer|string
*/
public function __get(string $attribute)
{
if ($attribute === 'time') {
return $this->times()[$this->getDefinition()] ?? null;
}
return parent::__get($attribute);
}
}