StockItem   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 43
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 5
Bugs 0 Features 0
Metric Value
wmc 2
eloc 19
c 5
b 0
f 0
dl 0
loc 43
ccs 11
cts 11
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 10 1
A configureOptions() 0 9 1
1
<?php
2
3
/**
4
 * This file is part of riesenia/pohoda package.
5
 *
6
 * Licensed under the MIT License
7
 * (c) RIESENIA.com
8
 */
9
10
declare(strict_types=1);
11
12
namespace Riesenia\Pohoda\Type;
13
14
use Riesenia\Pohoda\AbstractAgenda;
15
use Riesenia\Pohoda\Common;
16
use Riesenia\Pohoda\DI\DependenciesFactory;
17
18
class StockItem extends AbstractAgenda
19
{
20
    use Common\SetNamespaceTrait;
21
22
    /** @var string[] */
23
    protected array $refElements = [
24
        'store',
25
        'stockItem',
26
    ];
27
28
    /** @var string[] */
29
    protected array $elements = [
30
        'store',
31
        'stockItem',
32
        'insertAttachStock',
33
        'applyUserSettingsFilterOnTheStore',
34
        'serialNumber',
35
    ];
36
37 8
    public function __construct(
38
        DependenciesFactory $dependenciesFactory,
39
    ) {
40
        // init attributes
41 8
        $this->elementsAttributesMapper = [
42 8
            'insertAttachStock' => new Common\ElementAttributes('stockItem', 'insertAttachStock'),
43 8
            'applyUserSettingsFilterOnTheStore' => new Common\ElementAttributes('stockItem', 'applyUserSettingsFilterOnTheStore'),
44 8
        ];
45
46 8
        parent::__construct($dependenciesFactory);
47
    }
48
49
    /**
50
     * {@inheritdoc}
51
     */
52 1
    protected function configureOptions(Common\OptionsResolver $resolver): void
53
    {
54
        // available options
55 1
        $resolver->setDefined($this->elements);
56
57
        // validate / format options
58 1
        $resolver->setNormalizer('insertAttachStock', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool'));
59 1
        $resolver->setNormalizer('applyUserSettingsFilterOnTheStore', $this->dependenciesFactory->getNormalizerFactory()->getClosure('bool'));
60 1
        $resolver->setNormalizer('serialNumber', $this->dependenciesFactory->getNormalizerFactory()->getClosure('string40'));
61
    }
62
}
63