Completed
Branch develop (598d0f)
by Benjamin
03:23
created

RuleConfigResolver   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 38
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 28
c 1
b 0
f 0
dl 0
loc 38
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A configureOptions() 0 28 1
A getChildren() 0 3 1
1
<?php
2
3
namespace Obblm\Core\Helper\Rule\Config;
4
5
use Symfony\Component\OptionsResolver\OptionsResolver;
6
7
class RuleConfigResolver extends AbstractTreeResolver implements ConfigInterface {
8
9
    public static function getChildren():array {
10
        return [
11
            'rosters' => RosterResolver::class,
12
            //'inducements' => RosterTreeResolver::class,
13
            //'star_players' => RosterTreeResolver::class,
14
        ];
15
    }
16
17
    public function configureOptions(OptionsResolver $resolver)
18
    {
19
        $resolver->setDefaults([
20
            'default_team_inducements' => null,
21
            'sidelines_cost'           => null,
22
            'template'                 => "base",
23
        ])
24
            ->setRequired('post_bb_2020')
25
            ->setRequired('max_team_cost')
26
            ->setRequired('rosters')
27
            ->setRequired('inducements')
28
            ->setRequired('star_players')
29
            ->setRequired('spp_levels')
30
            ->setRequired('injuries')
31
            ->setRequired('skills')
32
            ->setRequired('experience_value_modifiers')
33
            ->setRequired('fields')
34
            ->setAllowedTypes('post_bb_2020', ['bool'])
35
            ->setAllowedTypes('max_team_cost', ['int'])
36
            ->setAllowedTypes('rosters', ['array'])
37
            ->setAllowedTypes('inducements', ['array'])
38
            ->setAllowedTypes('star_players', ['array'])
39
            ->setAllowedTypes('spp_levels', ['array'])
40
            ->setAllowedTypes('injuries', ['array'])
41
            ->setAllowedTypes('skills', ['array'])
42
            ->setAllowedTypes('experience_value_modifiers', ['array'])
43
            ->setAllowedTypes('fields', ['array'])
44
            ->setAllowedTypes('template', ['string'])
45
        ;
46
    }
47
}
48