Code Coverage
 
Lines
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
CRAP
100.00% covered (success)
100.00%
1 / 1
Handler
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
100.00% covered (success)
100.00%
1 / 1
 apply
n/a
0 / 0
n/a
0 / 0
0
 properties
n/a
0 / 0
n/a
0 / 0
0
 capabilityErrorMessage
100.00% covered (success)
100.00%
6 / 6
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Cosray\Field\Schema;
6
7use Cosray\Field\Field;
8
9abstract class Handler
10{
11    abstract public function apply(object $meta, Field $field): void;
12
13    abstract public function properties(object $meta, Field $field): array;
14
15    /** @param class-string $capabilityClass */
16    protected function capabilityErrorMessage(Field $field, string $capabilityClass): string
17    {
18        $fieldType = $field::class;
19        $nodeType = $field->owner::class;
20
21        return (
22            "The field \"{$field->name}\" (type: {$fieldType}) of node {$nodeType} "
23            . "cannot be used with the capability {$capabilityClass}"
24        );
25    }
26}