Completed
Push — master ( 2c87a7...c05784 )
by claudio
04:06
created

GroupPolicy   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 73
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 73.33%

Importance

Changes 4
Bugs 1 Features 0
Metric Value
wmc 7
c 4
b 1
f 0
lcom 1
cbo 1
dl 0
loc 73
ccs 11
cts 15
cp 0.7333
rs 10

7 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A index() 0 4 1
A store() 0 4 1
A show() 0 5 1
A destroy() 0 4 1
A userCheck() 0 4 1
A update() 0 4 1
1
<?php
2
3
namespace plunner\Policies;
4
5
use plunner\Group;
6
use plunner\PolicyCheckable;
7
8
class GroupPolicy
9
{
10
    /**
11
     * Create a new policy instance.
12
     *
13
     * @return void
0 ignored issues
show
Comprehensibility Best Practice introduced by
Adding a @return annotation to constructors is generally not recommended as a constructor does not have a meaningful return value.

Adding a @return annotation to a constructor is not recommended, since a constructor does not have a meaningful return value.

Please refer to the PHP core documentation on constructors.

Loading history...
14
     */
15 10
    public function __construct()
16
    {
17
        //
18 10
    }
19
20
    /**
21
     * @param PolicyCheckable $policyCheckable
22
     * @param Group $group
23
     * @return bool
24
     */
25
    public function index(PolicyCheckable $policyCheckable, Group $group)
26
    {
27
        return $this->userCheck($policyCheckable, $group);
28
    }
29
30
    /**
31
     * @param PolicyCheckable $policyCheckable
32
     * @param Group $group
33
     * @return bool
34
     */
35
    public function store(PolicyCheckable $policyCheckable, Group $group)
36
    {
37
        return $this->userCheck($policyCheckable, $group);
38
    }
39
40
    /**
41
     * @param PolicyCheckable $policyCheckable
42
     * @param Group $group
43
     * @return bool
44
     */
45 2
    public function update(PolicyCheckable $policyCheckable, Group $group)
46
    {
47 2
        return $this->userCheck($policyCheckable, $group);
48
    }
49
50
    /**
51
     * @param PolicyCheckable $policyCheckable
52
     * @param Group $group
53
     * @return bool
54
     */
55 4
    public function show(PolicyCheckable $policyCheckable, Group $group)
56
    {
57 4
        $ret = $this->userCheck($policyCheckable, $group);
58 4
        return $ret;
59
    }
60
61
    /**
62
     * @param PolicyCheckable $policyCheckable
63
     * @param Group $group
64
     * @return bool
65
     */
66 4
    public function destroy(PolicyCheckable $policyCheckable, Group $group)
67
    {
68 4
        return $this->userCheck($policyCheckable, $group);
69
    }
70
71
    /**
72
     * @param PolicyCheckable $policyCheckable
73
     * @param Group $group
74
     * @return bool
75
     */
76 10
    private function userCheck(PolicyCheckable $policyCheckable, Group $group)
77
    {
78 10
        return $policyCheckable->verifyGroup($group);
79
    }
80
}
81