Passed
Push — master ( b808b9...919917 )
by Ehsan
04:54
created

Command::__construct()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
dl 0
loc 4
ccs 3
cts 3
cp 1
rs 10
c 0
b 0
f 0
cc 1
eloc 2
nc 1
nop 1
crap 1
1
<?php
2
3
namespace Botonomous;
4
5
class Command
6
{
7
    const DEFAULT_ACTION = 'index';
8
    const PLUGIN_DIR = 'plugin';
9
10
    private $key;
11
    private $plugin;
12
    private $description;
13
    private $action;
14
    private $class;
15
16
    /**
17
     * Command constructor.
18
     *
19
     * @param $key
20
     */
21 11
    public function __construct($key)
22
    {
23 11
        $this->setKey($key);
24 11
    }
25
26
    /**
27
     * @return string
28
     */
29 1
    public function getKey()
30
    {
31 1
        return $this->key;
32
    }
33
34
    /**
35
     * @param string $key
36
     */
37 11
    public function setKey($key)
38
    {
39 11
        $this->key = $key;
40 11
    }
41
42
    /**
43
     * @return string
44
     */
45 7
    public function getPlugin()
46
    {
47 7
        return $this->plugin;
48
    }
49
50
    /**
51
     * @param string $plugin
52
     */
53 9
    public function setPlugin($plugin)
54
    {
55 9
        $this->plugin = $plugin;
56 9
    }
57
58
    /**
59
     * @return string
60
     */
61 1
    public function getDescription()
62
    {
63 1
        return $this->description;
64
    }
65
66
    /**
67
     * @param string $description
68
     */
69 9
    public function setDescription($description)
70
    {
71 9
        $this->description = $description;
72 9
    }
73
74
    /**
75
     * @return string
76
     */
77 5
    public function getAction()
78
    {
79 5
        if (empty($this->action)) {
80 4
            $this->setAction(self::DEFAULT_ACTION);
81
        }
82
83 5
        return $this->action;
84
    }
85
86
    /**
87
     * @param string $action
88
     */
89 8
    public function setAction($action)
90
    {
91 8
        $this->action = $action;
92 8
    }
93
94
    /**
95
     * @return string
96
     */
97 3
    public function getClass()
98
    {
99 3
        if (empty($this->class)) {
100 3
            $class = __NAMESPACE__.'\\'.self::PLUGIN_DIR.'\\'.strtolower($this->getPlugin()).'\\'.$this->getPlugin();
101 3
            $this->setClass($class);
102
        }
103
104 3
        return $this->class;
105
    }
106
107
    /**
108
     * @param string $class
109
     */
110 3
    public function setClass($class)
111
    {
112 3
        $this->class = $class;
113 3
    }
114
}
115