Completed
Push — master ( 38deb0...7544ac )
by Anton
11s
created

AbstractRule::__invoke()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 4
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
 * Bluz Framework Component
4
 *
5
 * @copyright Bluz PHP Team
6
 * @link      https://github.com/bluzphp/framework
7
 */
8
9
declare(strict_types=1);
10
11
namespace Bluz\Validator\Rule;
12
13
/**
14
 * Abstract validation rule
15
 *
16
 * @package  Bluz\Validator\Rule
17
 * @author   Anton Shevchuk
18
 */
19
abstract class AbstractRule implements RuleInterface
20
{
21
    /**
22
     * Message for error output
23
     * @var string
24
     */
25
    protected $description = 'is invalid';
26
27
    /**
28
     * @inheritdoc
29
     */
30
    abstract public function validate($input): bool;
31
32
    /**
33
     * @inheritdoc
34
     */
35 196
    public function getDescription() : string
36
    {
37 196
        return __($this->description);
38
    }
39
40
    /**
41
     * @inheritdoc
42
     */
43 2
    public function setDescription(string $description)
44
    {
45 2
        $this->description = $description;
46 2
        return $this;
47
    }
48
49
    /**
50
     * @inheritdoc
51
     */
52 1
    public function __invoke($input): bool
53
    {
54 1
        return $this->validate($input);
55
    }
56
57
    /**
58
     * @inheritdoc
59
     */
60 438
    public function __toString()
61
    {
62 438
        return $this->getDescription();
63
    }
64
}
65