Completed
Push — master ( 134b2d...f2c57a )
by Gabriel
02:40
created

Categories   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 1
cbo 4
dl 0
loc 28
ccs 11
cts 11
cp 1
rs 10
c 0
b 0
f 0

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A create() 0 9 1
A fetch() 0 5 1
1
<?php
2
3
namespace Waredesk;
4
5
use Waredesk\Mappers\CategoriesMapper;
6
use Waredesk\Mappers\CategoryMapper;
7
use Waredesk\Models\Category;
8
9
class Categories
10
{
11
    private $requestHandler;
12
13 15
    public function __construct(RequestHandler $requestHandler)
14
    {
15 15
        $this->requestHandler = $requestHandler;
16 15
    }
17
18 1
    public function create(Category $category): Category
19
    {
20 1
        $response = $this->requestHandler->post(
21 1
            '/v1/categories',
22
            $category
23
        );
24 1
        $category = (new CategoryMapper())->map($category, $response);
25 1
        return $category;
26
    }
27
28
    /**
29
     * @return Collections\Categories|Category[]
30
     */
31 1
    public function fetch(): Collections\Categories
32
    {
33 1
        $response = $this->requestHandler->get('/v1/categories');
34 1
        return (new CategoriesMapper())->map(new Collections\Categories(), $response);
35
    }
36
}
37