HydratorFactory::build()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 18
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 15
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 18
ccs 15
cts 15
cp 1
rs 9.4285
cc 1
eloc 15
nc 1
nop 0
crap 1
1
<?php
2
3
namespace Marek\Toggable\Factory\Hydrator;
4
5
use Marek\Toggable\Factory\FactoryInterface;
6
use Marek\Toggable\Hydrator\AggregateHydrator;
7
use Marek\Toggable\Hydrator\Client\ClientHydrator;
8
use Marek\Toggable\Hydrator\Dashboard\ActivityHydrator;
9
use Marek\Toggable\Hydrator\Dashboard\MostActiveUserHydrator;
10
use Marek\Toggable\Hydrator\Project\ProjectHydrator;
11
use Marek\Toggable\Hydrator\Project\UserHydrator as ProjectUserHydrator;
12
use Marek\Toggable\Hydrator\Tag\TagHydrator;
13
use Marek\Toggable\Hydrator\Task\TaskHydrator;
14
use Marek\Toggable\Hydrator\TimeEntry\TimeEntryHydrator;
15
use Marek\Toggable\Hydrator\User\UserHydrator;
16
use Marek\Toggable\Hydrator\Workspace\SubscriptionHydrator;
17
use Marek\Toggable\Hydrator\Workspace\UserHydrator as WorkspaceUserHydrator;
18
use Marek\Toggable\Hydrator\Workspace\WorkspaceHydrator;
19
20
/**
21
 * Class HydratorFactory
22
 * @package Marek\Toggable\Factory\Hydrator
23
 */
24
class HydratorFactory implements FactoryInterface
25
{
26
    /**
27
     * @inheritDoc
28
     */
29 14
    public function build()
30
    {
31 14
        $aggregateHydrator = new AggregateHydrator();
32 14
        $aggregateHydrator->add(new ClientHydrator());
33 14
        $aggregateHydrator->add(new ActivityHydrator());
34 14
        $aggregateHydrator->add(new MostActiveUserHydrator());
35 14
        $aggregateHydrator->add(new ProjectHydrator());
36 14
        $aggregateHydrator->add(new ProjectUserHydrator());
37 14
        $aggregateHydrator->add(new TagHydrator());
38 14
        $aggregateHydrator->add(new TaskHydrator());
39 14
        $aggregateHydrator->add(new TimeEntryHydrator());
40 14
        $aggregateHydrator->add(new UserHydrator());
41 14
        $aggregateHydrator->add(new SubscriptionHydrator());
42 14
        $aggregateHydrator->add(new WorkspaceUserHydrator());
43 14
        $aggregateHydrator->add(new WorkspaceHydrator());
44
45 14
        return $aggregateHydrator;
46
    }
47
}
48