Files
alrahma_sunday_school/app/Support/SchoolYear/SchoolYearContext.php
T
root feb1b29a32
Tests / PHPUnit (push) Failing after 1m19s
apply the school year concept
2026-07-14 00:59:00 -04:00

61 lines
1.2 KiB
PHP

<?php
namespace App\Support\SchoolYear;
final class SchoolYearContext
{
public function __construct(
private readonly int $id,
private readonly string $yearName,
private readonly string $status,
private readonly bool $explicitSelection = false,
) {
}
public function id(): int
{
return $this->id;
}
public function yearName(): string
{
return $this->yearName;
}
public function status(): string
{
return strtolower($this->status);
}
public function isActive(): bool
{
return $this->status() === 'active';
}
public function isReadonly(): bool
{
return ! $this->isActive();
}
public function isHistorical(): bool
{
return ! $this->isActive();
}
public function isExplicitSelection(): bool
{
return $this->explicitSelection;
}
public function toArray(): array
{
return [
'id' => $this->id,
'name' => $this->yearName,
'status' => $this->status(),
'readonly' => $this->isReadonly(),
'explicitSelection' => $this->explicitSelection,
];
}
}