1
0
Fork 0
mirror of https://github.com/archtechx/enums.git synced 2025-12-12 22:34:04 +00:00

Comparable enum (#20)

* feat: comparable enum

* test: comparable enum

* ci: php-cs-fixer in repository scope

* chore: add `Comparable` usage in README

* ci: globally use `php-cs-fixer`

* improve Comparable logic

* test more PHP versions in CI

* update ci job name

* remove class name quoting in exceptions to match PHP behavior

* migrate pest config

* add comment to test

---------

Co-authored-by: Samuel Štancl <samuel@archte.ch>
Co-authored-by: Samuel Štancl <samuel.stancl@gmail.com>
This commit is contained in:
Thai Nguyen Hung 2024-01-13 04:02:32 +07:00 committed by GitHub
parent fb521d2dcb
commit f0ea4c36c8
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
9 changed files with 188 additions and 21 deletions

View file

@ -1,6 +1,6 @@
<?php
use ArchTech\Enums\{InvokableCases, Options, Names, Values, From, Metadata};
use ArchTech\Enums\{Comparable, InvokableCases, Options, Names, Values, From, Metadata};
use ArchTech\Enums\Meta\Meta;
use ArchTech\Enums\Meta\MetaProperty;
@ -36,7 +36,7 @@ class Instructions extends MetaProperty
#[Meta(Color::class, Desc::class)] // variadic syntax
enum Status: int
{
use InvokableCases, Options, Names, Values, From, Metadata;
use InvokableCases, Options, Names, Values, From, Metadata, Comparable;
#[Color('orange')] #[Desc('Incomplete task')]
case PENDING = 0;
@ -49,7 +49,7 @@ enum Status: int
#[Meta([Color::class, Desc::class, Instructions::class])] // array
enum Role
{
use InvokableCases, Options, Names, Values, From, Metadata;
use InvokableCases, Options, Names, Values, From, Metadata, Comparable;
#[Color('indigo')]
#[Desc('Administrator')]