Resource   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 86
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
c 1
b 0
f 0
lcom 1
cbo 1
dl 0
loc 86
ccs 12
cts 12
cp 1
rs 10

5 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A getResourceId() 0 4 1
A getRequest() 0 4 1
A getRoute() 0 4 1
A __get() 0 4 1
1
<?php
2
/**
3
 * Cheka - Authorization
4
 *
5
 * PHP version 5
6
 *
7
 * Copyright (C) 2016 Jake Johns
8
 *
9
 * This software may be modified and distributed under the terms
10
 * of the MIT license.  See the LICENSE file for details.
11
 *
12
 * @category  Resource
13
 * @package   Jnjxp\Cheka
14
 * @author    Jake Johns <[email protected]>
15
 * @copyright 2016 Jake Johns
16
 * @license   http://jnj.mit-license.org/2016 MIT License
17
 * @link      https://github.com/jnjxp/jnjxp.cheka
18
 */
19
20
namespace Jnjxp\Cheka\Acl;
21
22
use Jnjxp\Cheka\ResourceRouteAwareTrait;
23
24
use Aura\Router\Route;
25
use Zend\Permissions\Acl\Resource\ResourceInterface;
26
use Psr\Http\Message\ServerRequestInterface as Request;
27
28
/**
29
 * Resource
30
 *
31
 * @category Resource
32
 * @package  Jnjxp\Cheka
33
 * @author   Jake Johns <[email protected]>
34
 * @license  http://jnj.mit-license.org/2016 MIT License
35
 * @link     https://github.com/jnjxp/jnjxp.cheka
36
 *
37
 * @see ResourceInterface
38
 */
39
class Resource implements ResourceInterface
40
{
41
    use ResourceRouteAwareTrait;
42
43
    /**
44
     * Request
45
     *
46
     * @var Request
47
     *
48
     * @access protected
49
     */
50
    protected $request;
51
52
    /**
53
     * Route
54
     *
55
     * @var Route
56
     *
57
     * @access protected
58
     */
59
    protected $route;
60
61
    /**
62
     * Create a RouteRequestResource
63
     *
64
     * @param Route   $route   Route
65
     * @param Request $request Request
66
     *
67
     * @access public
68
     */
69 6
    public function __construct(Route $route, Request $request)
70
    {
71 6
        $this->route = $route;
72 6
        $this->request = $request;
73 6
    }
74
75
    /**
76
     * Get resource id
77
     *
78
     * @return string
79
     *
80
     * @access public
81
     */
82 5
    public function getResourceId()
83
    {
84 5
        return $this->getResourceIdFromRoute($this->route);
85
    }
86
87
    /**
88
     * Get request
89
     *
90
     * @return Request
91
     *
92
     * @access public
93
     */
94 1
    public function getRequest()
95
    {
96 1
        return $this->request;
97
    }
98
99
    /**
100
     * Get route
101
     *
102
     * @return route
103
     *
104
     * @access public
105
     */
106 1
    public function getRoute()
107
    {
108 1
        return $this->route;
109
    }
110
111
    /**
112
     * Magic property getter
113
     *
114
     * @param string $key name of property
115
     *
116
     * @return mixed
117
     *
118
     * @access public
119
     */
120 1
    public function __get($key)
121
    {
122 1
        return $this->$key;
123
    }
124
}
125