Fix BaseEnumRule to really check if enum passed to constructor extends BaseEnum

This commit is contained in:
Jérémy Munsch 2021-09-12 00:06:53 +02:00
parent 19108c833e
commit a7617753b1
No known key found for this signature in database
GPG key ID: 677E1F9F80C16560

View file

@ -3,6 +3,7 @@
namespace Kwaadpepper\Enum\Rules;
use Illuminate\Contracts\Validation\Rule;
use Kwaadpepper\Enum\BaseEnum;
use Kwaadpepper\Enum\Exceptions\UnknownEnumClass;
abstract class BaseEnumRule implements Rule
@ -20,7 +21,7 @@ abstract class BaseEnumRule implements Rule
*/
public function __construct(string $enumClass)
{
if (!class_exists($enumClass)) {
if (!class_exists($enumClass) or !is_subclass_of($enumClass, BaseEnum::class)) {
throw new UnknownEnumClass();
}
$this->enumClass = $enumClass;