Completed
Pull Request — master (#74)
by
unknown
04:19
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
6
use Symfony\Component\OptionsResolver\OptionsResolver;
7
8
class DeviceSessionResolver implements ResolverInterface
9
{
10
    /**
11
     * {@inheritdoc}
12
     */
13
    public function resolve(array $data)
14
    {
15
        return (new OptionsResolver())
16
            ->setDefined('identifier')
17
            ->setAllowedTypes('identifier', 'string')
18
            ->setDefined('language')
19
            ->setAllowedTypes('language', 'string')
20
            ->setDefined('timezone')
21
            ->setAllowedTypes('timezone', 'int')
22
            ->setDefined('game_version')
23
            ->setAllowedTypes('game_version', 'string')
24
            ->setDefined('device_os')
25
            ->setAllowedTypes('device_os', 'string')
26
            // @todo: remove "device_model" later (this option is probably deprecated as it is removed from documentation)
27
            ->setDefined('device_model')
28
            ->setAllowedTypes('device_model', 'string')
29
            ->setDefined('ad_id')
30
            ->setAllowedTypes('ad_id', 'string')
31
            ->setDefined('sdk')
32
            ->setAllowedTypes('sdk', 'string')
33
            ->setDefined('tags')
34
            ->setAllowedTypes('tags', 'array')
35
            ->resolve($data);
36
    }
37
}