AppResolver::resolve()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 45
Code Lines 43

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 43
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 45
rs 9.232
1
<?php
2
3
namespace vasadibt\onesignal\resolver;
4
5
use Symfony\Component\OptionsResolver\OptionsResolver;
6
use yii\base\BaseObject;
0 ignored issues
show
Bug introduced by
The type yii\base\BaseObject was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
7
8
/**
9
 * Class AppResolver
10
 * @package vasadibt\onesignal\resolver
11
 */
12
class AppResolver extends BaseObject implements ResolverInterface
13
{
14
    /**
15
     * {@inheritdoc}
16
     */
17
    public function resolve(array $data)
18
    {
19
        return (new OptionsResolver())
20
            ->setRequired('name')
21
            ->setAllowedTypes('name', 'string')
22
            ->setDefined('apns_env')
23
            ->setAllowedTypes('apns_env', 'string')
24
            ->setAllowedValues('apns_env', ['sandbox', 'production'])
25
            ->setDefined('apns_p12')
26
            ->setAllowedTypes('apns_p12', 'string')
27
            ->setDefined('apns_p12_password')
28
            ->setAllowedTypes('apns_p12_password', 'string')
29
            ->setDefined('gcm_key')
30
            ->setAllowedTypes('gcm_key', 'string')
31
            ->setDefined('chrome_key')
32
            ->setAllowedTypes('chrome_key', 'string')
33
            ->setDefined('safari_apns_p12')
34
            ->setAllowedTypes('safari_apns_p12', 'string')
35
            ->setDefined('chrome_web_key')
36
            ->setAllowedTypes('chrome_web_key', 'string')
37
            ->setDefined('safari_apns_p12_password')
38
            ->setAllowedTypes('safari_apns_p12_password', 'string')
39
            ->setDefined('site_name')
40
            ->setAllowedTypes('site_name', 'string')
41
            ->setDefined('safari_site_origin')
42
            ->setAllowedTypes('safari_site_origin', 'string')
43
            ->setDefined('safari_icon_16_16')
44
            ->setAllowedTypes('safari_icon_16_16', 'string')
45
            ->setDefined('safari_icon_32_32')
46
            ->setAllowedTypes('safari_icon_32_32', 'string')
47
            ->setDefined('safari_icon_64_64')
48
            ->setAllowedTypes('safari_icon_64_64', 'string')
49
            ->setDefined('safari_icon_128_128')
50
            ->setAllowedTypes('safari_icon_128_128', 'string')
51
            ->setDefined('safari_icon_256_256')
52
            ->setAllowedTypes('safari_icon_256_256', 'string')
53
            ->setDefined('chrome_web_origin')
54
            ->setAllowedTypes('chrome_web_origin', 'string')
55
            ->setDefined('chrome_web_gcm_sender_id')
56
            ->setAllowedTypes('chrome_web_gcm_sender_id', 'string')
57
            ->setDefined('chrome_web_default_notification_icon')
58
            ->setAllowedTypes('chrome_web_default_notification_icon', 'string')
59
            ->setDefined('chrome_web_sub_domain')
60
            ->setAllowedTypes('chrome_web_sub_domain', 'string')
61
            ->resolve($data);
62
    }
63
}
64