Toggl   A
last analyzed

Complexity

Total Complexity 12

Size/Duplication

Total Lines 187
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 6
Bugs 0 Features 3
Metric Value
wmc 12
c 6
b 0
f 3
lcom 0
cbo 0
dl 0
loc 187
ccs 35
cts 35
cp 1
rs 10

12 Methods

Rating   Name   Duplication   Size   Complexity  
B __construct() 0 26 1
A getClientService() 0 4 1
A getWorkspaceService() 0 4 1
A getAuthenticationService() 0 4 1
A getDashboardService() 0 4 1
A getWorkspaceUsersService() 0 4 1
A getUserService() 0 4 1
A getProjectService() 0 4 1
A getProjectUsersService() 0 4 1
A getTagService() 0 4 1
A getTaskService() 0 4 1
A getTimeEntryService() 0 4 1
1
<?php
2
3
namespace Marek\Toggable;
4
5
use Marek\Toggable\API\Toggl\AuthenticationServiceInterface;
6
use Marek\Toggable\API\Toggl\ClientServiceInterface;
7
use Marek\Toggable\API\Toggl\DashboardServiceInterface;
8
use Marek\Toggable\API\Toggl\ProjectServiceInterface;
9
use Marek\Toggable\API\Toggl\ProjectUsersServiceInterface;
10
use Marek\Toggable\API\Toggl\TagServiceInterface;
11
use Marek\Toggable\API\Toggl\TaskServiceInterface;
12
use Marek\Toggable\API\Toggl\TimeEntryServiceInterface;
13
use Marek\Toggable\API\Toggl\UserServiceInterface;
14
use Marek\Toggable\API\Toggl\WorkspaceServiceInterface;
15
use Marek\Toggable\API\Toggl\WorkspaceUsersServiceInterface;
16
17
/**
18
 * Class Toggl
19
 * @package Marek\Toggable
20
 */
21
class Toggl implements TogglInterface
22
{
23
    /**
24
     * @var \Marek\Toggable\API\Toggl\ClientServiceInterface
25
     */
26
    private $clientService;
27
    
28
    /**
29
     * @var \Marek\Toggable\API\Toggl\WorkspaceServiceInterface
30
     */
31
    private $workspaceService;
32
33
    /**
34
     * @var \Marek\Toggable\API\Toggl\AuthenticationServiceInterface
35
     */
36
    private $authenticationService;
37
38
    /**
39
     * @var \Marek\Toggable\API\Toggl\DashboardServiceInterface
40
     */
41
    private $dashboardService;
42
43
    /**
44
     * @var \Marek\Toggable\API\Toggl\ProjectServiceInterface
45
     */
46
    private $projectService;
47
48
    /**
49
     * @var \Marek\Toggable\API\Toggl\ProjectUsersServiceInterface
50
     */
51
    private $projectUsersService;
52
53
    /**
54
     * @var \Marek\Toggable\API\Toggl\TagServiceInterface
55
     */
56
    private $tagService;
57
58
    /**
59
     * @var \Marek\Toggable\API\Toggl\TaskServiceInterface
60
     */
61
    private $taskService;
62
63
    /**
64
     * @var \Marek\Toggable\API\Toggl\TimeEntryServiceInterface
65
     */
66
    private $timeEntryService;
67
68
    /**
69
     * @var \Marek\Toggable\API\Toggl\UserServiceInterface
70
     */
71
    private $userService;
72
73
    /**
74
     * @var \Marek\Toggable\API\Toggl\WorkspaceUsersServiceInterface
75
     */
76
    private $workspaceUsersService;
77
78
    /**
79
     * Toggl constructor.
80
     *
81
     * @param \Marek\Toggable\API\Toggl\AuthenticationServiceInterface $authenticationService
82
     * @param \Marek\Toggable\API\Toggl\ClientServiceInterface $clientService
83
     * @param \Marek\Toggable\API\Toggl\DashboardServiceInterface $dashboardService
84
     * @param \Marek\Toggable\API\Toggl\ProjectServiceInterface $projectService
85
     * @param \Marek\Toggable\API\Toggl\ProjectUsersServiceInterface $projectUsersService
86
     * @param \Marek\Toggable\API\Toggl\TagServiceInterface $tagService
87
     * @param \Marek\Toggable\API\Toggl\TaskServiceInterface $taskService
88
     * @param \Marek\Toggable\API\Toggl\TimeEntryServiceInterface $timeEntryService
89
     * @param \Marek\Toggable\API\Toggl\UserServiceInterface $userService
90
     * @param \Marek\Toggable\API\Toggl\WorkspaceServiceInterface $workspaceService
91
     * @param \Marek\Toggable\API\Toggl\WorkspaceUsersServiceInterface $workspaceUsersService
92
     */
93 13
    public function __construct(
94
        AuthenticationServiceInterface $authenticationService,
95
        ClientServiceInterface $clientService,
96
        DashboardServiceInterface $dashboardService,
97
        ProjectServiceInterface $projectService,
98
        ProjectUsersServiceInterface $projectUsersService,
99
        TagServiceInterface $tagService,
100
        TaskServiceInterface $taskService,
101
        TimeEntryServiceInterface $timeEntryService,
102
        UserServiceInterface $userService,
103
        WorkspaceServiceInterface $workspaceService,
104
        WorkspaceUsersServiceInterface $workspaceUsersService
105
    )
106
    {
107 13
        $this->clientService = $clientService;
108 13
        $this->workspaceService = $workspaceService;
109 13
        $this->authenticationService = $authenticationService;
110 13
        $this->dashboardService = $dashboardService;
111 13
        $this->projectService = $projectService;
112 13
        $this->projectUsersService = $projectUsersService;
113 13
        $this->tagService = $tagService;
114 13
        $this->taskService = $taskService;
115 13
        $this->timeEntryService = $timeEntryService;
116 13
        $this->userService = $userService;
117 13
        $this->workspaceUsersService = $workspaceUsersService;
118 13
    }
119
120
    /**
121
     * {@inheritdoc}
122
     */
123 1
    public function getClientService()
124
    {
125 1
        return $this->clientService;
126
    }
127
128
    /**
129
     * {@inheritdoc}
130
     */
131 1
    public function getWorkspaceService()
132
    {
133 1
        return $this->workspaceService;
134
    }
135
136
    /**
137
     * {@inheritdoc}
138
     */
139 1
    public function getAuthenticationService()
140
    {
141 1
        return $this->authenticationService;
142
    }
143
144
    /**
145
     * @inheritDoc
146
     */
147 1
    public function getDashboardService()
148
    {
149 1
        return $this->dashboardService;
150
    }
151
152
    /**
153
     * @inheritDoc
154
     */
155 1
    public function getWorkspaceUsersService()
156
    {
157 1
        return $this->workspaceUsersService;
158
    }
159
160
    /**
161
     * @inheritDoc
162
     */
163 1
    public function getUserService()
164
    {
165 1
        return $this->userService;
166
    }
167
168
    /**
169
     * @inheritDoc
170
     */
171 1
    public function getProjectService()
172
    {
173 1
        return $this->projectService;
174
    }
175
176
    /**
177
     * @inheritDoc
178
     */
179 1
    public function getProjectUsersService()
180
    {
181 1
        return $this->projectUsersService;
182
    }
183
184
    /**
185
     * @inheritDoc
186
     */
187 1
    public function getTagService()
188
    {
189 1
        return $this->tagService;
190
    }
191
192
    /**
193
     * @inheritDoc
194
     */
195 1
    public function getTaskService()
196
    {
197 1
        return $this->taskService;
198
    }
199
200
    /**
201
     * @inheritDoc
202
     */
203 1
    public function getTimeEntryService()
204
    {
205 1
        return $this->timeEntryService;
206
    }
207
}
208