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

AppResolver   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 52
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Importance

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

1 Method

Rating   Name   Duplication   Size   Complexity  
B resolve() 0 46 1
1
<?php
2
3
namespace OneSignal\Resolver;
4
5
use Symfony\Component\OptionsResolver\OptionsResolver;
6
7
class AppResolver implements ResolverInterface
8
{
9
    /**
10
     * {@inheritdoc}
11
     */
12
    public function resolve(array $data)
13
    {
14
        return (new OptionsResolver())
15
            ->setRequired('name')
16
            ->setAllowedTypes('name', 'string')
17
            ->setDefined('apns_env')
18
            ->setAllowedTypes('apns_env', 'string')
19
            ->setAllowedValues('apns_env', ['sandbox', 'production'])
20
            ->setDefined('apns_p12')
21
            ->setAllowedTypes('apns_p12', 'string')
22
            ->setDefined('apns_p12_password')
23
            ->setAllowedTypes('apns_p12_password', 'string')
24
            ->setDefined('gcm_key')
25
            ->setAllowedTypes('gcm_key', 'string')
26
            ->setDefined('chrome_key')
27
            ->setAllowedTypes('chrome_key', 'string')
28
            ->setDefined('safari_apns_p12')
29
            ->setAllowedTypes('safari_apns_p12', 'string')
30
            ->setDefined('chrome_web_key')
31
            ->setAllowedTypes('chrome_web_key', 'string')
32
            ->setDefined('safari_apns_p12_password')
33
            ->setAllowedTypes('safari_apns_p12_password', 'string')
34
            ->setDefined('site_name')
35
            ->setAllowedTypes('site_name', 'string')
36
            ->setDefined('safari_site_origin')
37
            ->setAllowedTypes('safari_site_origin', 'string')
38
            ->setDefined('safari_icon_16_16')
39
            ->setAllowedTypes('safari_icon_16_16', 'string')
40
            ->setDefined('safari_icon_32_32')
41
            ->setAllowedTypes('safari_icon_32_32', 'string')
42
            ->setDefined('safari_icon_64_64')
43
            ->setAllowedTypes('safari_icon_64_64', 'string')
44
            ->setDefined('safari_icon_128_128')
45
            ->setAllowedTypes('safari_icon_128_128', 'string')
46
            ->setDefined('safari_icon_256_256')
47
            ->setAllowedTypes('safari_icon_256_256', 'string')
48
            ->setDefined('chrome_web_origin')
49
            ->setAllowedTypes('chrome_web_origin', 'string')
50
            ->setDefined('chrome_web_gcm_sender_id')
51
            ->setAllowedTypes('chrome_web_gcm_sender_id', 'string')
52
            ->setDefined('chrome_web_default_notification_icon')
53
            ->setAllowedTypes('chrome_web_default_notification_icon', 'string')
54
            ->setDefined('chrome_web_sub_domain')
55
            ->setAllowedTypes('chrome_web_sub_domain', 'string')
56
            ->resolve($data);
57
    }
58
}
59