Completed
Push — master ( 67d760...a447f0 )
by Mahmoud
04:12
created

RoleTransformer   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 3
Bugs 0 Features 1
Metric Value
wmc 2
c 3
b 0
f 1
lcom 0
cbo 2
dl 0
loc 37
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A transform() 0 9 1
A includePermissions() 0 4 1
1
<?php
2
3
namespace App\Containers\Authorization\UI\API\Transformers;
4
5
use App\Containers\Authorization\Models\Role;
6
use App\Port\Transformer\Abstracts\Transformer;
7
8
/**
9
 * Class RoleTransformer.
10
 *
11
 * @author Mahmoud Zalt <[email protected]>
12
 */
13
class RoleTransformer extends Transformer
14
{
15
16
    protected $availableIncludes = [
17
18
    ];
19
20
    protected $defaultIncludes = [
21
        'permissions'
22
    ];
23
24
    /**
25
     * @param \App\Containers\Authorization\Models\Role $role
26
     *
27
     * @return array
28
     */
29
    public function transform(Role $role)
30
    {
31
        return [
32
            'object'       => 'Role',
33
            'name'         => $role->name,
34
            'description'  => $role->description,
35
            'display_name' => $role->display_name,
36
        ];
37
    }
38
39
    /**
40
     * @param \App\Containers\Authorization\Models\Role $role
41
     *
42
     * @return  \League\Fractal\Resource\Collection
43
     */
44
    public function includePermissions(Role $role)
45
    {
46
        return $this->collection($role->permissions, new PermissionTransformer());
47
    }
48
49
}
50