Completed
Push — master ( b6f3d7...bfda35 )
by Tomas
04:37
created

DeviceSessionResolver   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 1
dl 0
loc 30
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B resolve() 0 24 1
1
<?php
2
3
namespace OneSignal\Resolver;
4
5
use Symfony\Component\OptionsResolver\OptionsResolver;
6
7
class DeviceSessionResolver implements ResolverInterface
8
{
9
    /**
10
     * {@inheritdoc}
11
     */
12
    public function resolve(array $data)
13
    {
14
        return (new OptionsResolver())
15
            ->setDefined('identifier')
16
            ->setAllowedTypes('identifier', 'string')
17
            ->setDefined('language')
18
            ->setAllowedTypes('language', 'string')
19
            ->setDefined('timezone')
20
            ->setAllowedTypes('timezone', 'int')
21
            ->setDefined('game_version')
22
            ->setAllowedTypes('game_version', 'string')
23
            ->setDefined('device_os')
24
            ->setAllowedTypes('device_os', 'string')
25
            // @todo: remove "device_model" later (this option is probably deprecated as it is removed from documentation)
26
            ->setDefined('device_model')
27
            ->setAllowedTypes('device_model', 'string')
28
            ->setDefined('ad_id')
29
            ->setAllowedTypes('ad_id', 'string')
30
            ->setDefined('sdk')
31
            ->setAllowedTypes('sdk', 'string')
32
            ->setDefined('tags')
33
            ->setAllowedTypes('tags', 'array')
34
            ->resolve($data);
35
    }
36
}
37