Passed
Push — master ( b6e1f4...929753 )
by Jérémy
01:51
created

Workspace::create()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 2
c 0
b 0
f 0
dl 0
loc 5
rs 10
cc 1
nc 1
nop 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace JDecool\Clockify\Api\Workspace;
6
7
use JDecool\Clockify\{
8
    Client,
9
    Model\WorkspaceDto
10
};
11
12
class Workspace
13
{
14
    private $http;
15
16
    public function __construct(Client $http)
17
    {
18
        $this->http = $http;
19
    }
20
21
    /**
22
     * @return WorkspaceDto[]
23
     */
24
    public function workspaces(): array
25
    {
26
        $data = $this->http->get('/workspaces');
27
28
        return array_map(
29
            static function(array $workspace): WorkspaceDto {
30
                return WorkspaceDto::fromArray($workspace);
31
            },
32
            $data
33
        );
34
    }
35
36
    public function create(WorkspaceRequest $request): WorkspaceDto
37
    {
38
        $data = $this->http->post('/workspaces', $request->toArray());
39
40
        return WorkspaceDto::fromArray($data);
41
    }
42
}
43