Passed
Push — main ( dc8a0d...074ebe )
by Breno
01:58
created

UseRuleSet::validate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 2
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
4
namespace BrenoRoosevelt\Validation\Rules;
5
6
use Attribute;
7
use BrenoRoosevelt\Validation\Result;
8
use BrenoRoosevelt\Validation\Rule;
9
use BrenoRoosevelt\Validation\RuleSetFactory;
10
11
#[Attribute(Attribute::TARGET_PROPERTY)]
12
class UseRuleSet implements Rule
13
{
14
    public function __construct(private object|string $objectOrClass, private string $property)
15
    {
16
    }
17
18
    public function validate(mixed $input, array $context = []): Result
19
    {
20
        return RuleSetFactory::fromProperty($this->objectOrClass, $this->property)->validate($input, $context);
21
    }
22
}
23