ResolverFactory   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 59
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 8
c 1
b 0
f 0
dl 0
loc 59
rs 10
wmc 7

7 Methods

Rating   Name   Duplication   Size   Complexity  
A createDeviceFocusResolver() 0 3 1
A createExistingDeviceResolver() 0 3 1
A createNewDeviceResolver() 0 3 1
A createNotificationResolver() 0 3 1
A createDevicePurchaseResolver() 0 3 1
A createDeviceSessionResolver() 0 3 1
A createAppResolver() 0 3 1
1
<?php
2
3
namespace vasadibt\onesignal\resolver;
4
5
use vasadibt\onesignal\OneSignal;
6
7
/**
8
 * Class ResolverFactory
9
 * @package vasadibt\onesignal\resolver
10
 */
11
abstract class ResolverFactory
12
{
13
    /**
14
     * @return AppResolver
15
     */
16
    public static function createAppResolver()
17
    {
18
        return new AppResolver();
19
    }
20
21
    /**
22
     * @return DeviceSessionResolver
23
     */
24
    public static function createDeviceSessionResolver()
25
    {
26
        return new DeviceSessionResolver();
27
    }
28
29
    /**
30
     * @return DevicePurchaseResolver
31
     */
32
    public static function createDevicePurchaseResolver()
33
    {
34
        return new DevicePurchaseResolver();
35
    }
36
37
    /**
38
     * @return DeviceFocusResolver
39
     */
40
    public static function createDeviceFocusResolver()
41
    {
42
        return new DeviceFocusResolver();
43
    }
44
45
    /**
46
     * @param OneSignal $api
47
     * @return DeviceResolver
48
     */
49
    public static function createNewDeviceResolver($api)
50
    {
51
        return new DeviceResolver(['api' => $api, 'isNewDevice' => true]);
52
    }
53
54
    /**
55
     * @param OneSignal $api
56
     * @return DeviceResolver
57
     */
58
    public static function createExistingDeviceResolver($api)
59
    {
60
        return new DeviceResolver(['api' => $api, 'isNewDevice' => false]);
61
    }
62
63
    /**
64
     * @param OneSignal $api
65
     * @return NotificationResolver
66
     */
67
    public static function createNotificationResolver($api)
68
    {
69
        return new NotificationResolver(['api' => $api]);
70
    }
71
}
72