Skip to content

Commit cbe6ae1

Browse files
committed
Add normalizer integration examples and update coverage metrics
Added examples for integrating normalizers via attributes or methods in `Normalizers.md`. Updated code coverage metrics in `clover.xml` to reflect improved test coverage and minor adjustments to method execution counts.
1 parent 73827b9 commit cbe6ae1

File tree

2 files changed

+41
-27
lines changed

2 files changed

+41
-27
lines changed

clover.xml

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
<?xml version="1.0" encoding="UTF-8"?>
2-
<coverage generated="1735689811">
3-
<project timestamp="1735689811">
2+
<coverage generated="1735690386">
3+
<project timestamp="1735690386">
44
<package name="Nuxtifyts\PhpDto\Attributes\Class">
55
<file name="/Users/faroukbraik/Dev/php-dto/src/Attributes/Class/WithNormalizer.php">
66
<class name="Nuxtifyts\PhpDto\Attributes\Class\WithNormalizer" namespace="Nuxtifyts\PhpDto\Attributes\Class">
77
<metrics complexity="2" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
88
</class>
9-
<line num="20" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="2"/>
10-
<line num="22" type="stmt" count="2"/>
11-
<line num="24" type="stmt" count="2"/>
9+
<line num="20" type="method" name="__construct" visibility="public" complexity="2" crap="2" count="3"/>
10+
<line num="22" type="stmt" count="3"/>
11+
<line num="24" type="stmt" count="3"/>
1212
<line num="25" type="stmt" count="1"/>
13-
<line num="28" type="stmt" count="1"/>
13+
<line num="28" type="stmt" count="2"/>
1414
<metrics loc="31" ncloc="26" classes="1" methods="1" coveredmethods="1" conditionals="0" coveredconditionals="0" statements="4" coveredstatements="4" elements="5" coveredelements="5"/>
1515
</file>
1616
</package>
@@ -348,31 +348,31 @@
348348
<package name="Nuxtifyts\PhpDto\Contexts">
349349
<file name="/Users/faroukbraik/Dev/php-dto/src/Contexts/ClassContext.php">
350350
<class name="Nuxtifyts\PhpDto\Contexts\ClassContext" namespace="Nuxtifyts\PhpDto\Contexts">
351-
<metrics complexity="12" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="23" elements="35" coveredelements="30"/>
351+
<metrics complexity="12" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="27" elements="35" coveredelements="35"/>
352352
</class>
353-
<line num="44" type="method" name="__construct" visibility="private" complexity="1" crap="1" count="9"/>
354-
<line num="47" type="stmt" count="9"/>
355-
<line num="48" type="stmt" count="9"/>
356-
<line num="49" type="stmt" count="9"/>
357-
<line num="50" type="stmt" count="9"/>
358-
<line num="51" type="stmt" count="9"/>
359-
<line num="52" type="stmt" count="9"/>
353+
<line num="44" type="method" name="__construct" visibility="private" complexity="1" crap="1" count="10"/>
354+
<line num="47" type="stmt" count="10"/>
355+
<line num="48" type="stmt" count="10"/>
356+
<line num="49" type="stmt" count="10"/>
357+
<line num="50" type="stmt" count="10"/>
358+
<line num="51" type="stmt" count="10"/>
359+
<line num="52" type="stmt" count="10"/>
360360
<line num="69" type="method" name="getInstance" visibility="public" complexity="1" crap="1" count="22"/>
361361
<line num="71" type="stmt" count="22"/>
362362
<line num="72" type="stmt" count="22"/>
363363
<line num="78" type="method" name="getKey" visibility="private" complexity="1" crap="1" count="22"/>
364364
<line num="80" type="stmt" count="22"/>
365-
<line num="90" type="method" name="getPropertyContexts" visibility="private" complexity="2" crap="2" count="9"/>
366-
<line num="92" type="stmt" count="9"/>
367-
<line num="94" type="stmt" count="9"/>
365+
<line num="90" type="method" name="getPropertyContexts" visibility="private" complexity="2" crap="2" count="10"/>
366+
<line num="92" type="stmt" count="10"/>
367+
<line num="94" type="stmt" count="10"/>
368368
<line num="95" type="stmt" count="9"/>
369-
<line num="98" type="stmt" count="9"/>
370-
<line num="101" type="method" name="syncClassAttributes" visibility="private" complexity="2" crap="4.05" count="9"/>
371-
<line num="103" type="stmt" count="9"/>
372-
<line num="105" type="stmt" count="0"/>
373-
<line num="106" type="stmt" count="0"/>
374-
<line num="107" type="stmt" count="0"/>
375-
<line num="108" type="stmt" count="0"/>
369+
<line num="98" type="stmt" count="10"/>
370+
<line num="101" type="method" name="syncClassAttributes" visibility="private" complexity="2" crap="2" count="10"/>
371+
<line num="103" type="stmt" count="10"/>
372+
<line num="105" type="stmt" count="1"/>
373+
<line num="106" type="stmt" count="1"/>
374+
<line num="107" type="stmt" count="1"/>
375+
<line num="108" type="stmt" count="1"/>
376376
<line num="117" type="method" name="newInstanceWithoutConstructor" visibility="public" complexity="1" crap="1" count="5"/>
377377
<line num="119" type="stmt" count="5"/>
378378
<line num="127" type="method" name="newInstanceWithConstructorCall" visibility="public" complexity="1" crap="1" count="14"/>
@@ -385,7 +385,7 @@
385385
<line num="148" type="stmt" count="1"/>
386386
<line num="151" type="stmt" count="9"/>
387387
<line num="154" type="stmt" count="9"/>
388-
<metrics loc="157" ncloc="104" classes="1" methods="8" coveredmethods="7" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="23" elements="35" coveredelements="30"/>
388+
<metrics loc="157" ncloc="104" classes="1" methods="8" coveredmethods="8" conditionals="0" coveredconditionals="0" statements="27" coveredstatements="27" elements="35" coveredelements="35"/>
389389
</file>
390390
<file name="/Users/faroukbraik/Dev/php-dto/src/Contexts/PropertyContext.php">
391391
<class name="Nuxtifyts\PhpDto\Contexts\PropertyContext" namespace="Nuxtifyts\PhpDto\Contexts">
@@ -1550,6 +1550,6 @@
15501550
<metrics loc="47" ncloc="30" classes="1" methods="3" coveredmethods="3" conditionals="0" coveredconditionals="0" statements="6" coveredstatements="6" elements="9" coveredelements="9"/>
15511551
</file>
15521552
</package>
1553-
<metrics files="68" loc="3734" ncloc="3144" classes="56" methods="149" coveredmethods="118" conditionals="0" coveredconditionals="0" statements="980" coveredstatements="891" elements="1129" coveredelements="1009"/>
1553+
<metrics files="68" loc="3734" ncloc="3144" classes="56" methods="149" coveredmethods="119" conditionals="0" coveredconditionals="0" statements="980" coveredstatements="895" elements="1129" coveredelements="1014"/>
15541554
</project>
15551555
</coverage>

docs/Normalizers.md

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,21 @@ final readonly class GoalTodoNormalizer extends Normalizer
7777
}
7878
```
7979

80-
Next step is to add this new normalizer to the todo class:
80+
Next step is to add this new normalizer to the todo class, either using
81+
an attribute:
82+
83+
```php
84+
use Nuxtifyts\PhpDto\Data;
85+
use Nuxtifyts\PhpDto\Attributes\Class\WithNormalizer;
86+
87+
#[WithNormalizer(GoalTodoNormalizer::class)]
88+
final readonly class TodoData extends Data
89+
{
90+
// ...
91+
}
92+
```
93+
94+
Or using a method:
8195

8296
```php
8397
use Nuxtifyts\PhpDto\Data;

0 commit comments

Comments
 (0)