Icon::addCssClass()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 6
ccs 2
cts 2
cp 1
rs 9.4285
cc 1
eloc 3
nc 1
nop 1
crap 1
1
<?php
2
/**
3
 * Icon.php
4
 * @author Revin Roman http://phptime.ru
5
 */
6
7
namespace rmrevin\yii\socicon\component;
8
9
use rmrevin\yii\socicon\SI;
10
use yii\helpers\Html;
11
12
/**
13
 * Class Icon
14
 * @package rmrevin\yii\socicon\component
15
 */
16
class Icon
17
{
18
19
    /** @var array */
20
    private $options = [];
21
22
    /**
23
     * @param string $name
24
     * @param array $options
25
     */
26 1
    public function __construct($name, $options = [])
27
    {
28
        Html::addCssClass($options, SI::$cssPrefix . ' ' . SI::$cssPrefix . '-' . $name);
29
30 1
        $this->options = $options;
31 1
    }
32
33
    /**
34
     * @return string
35
     */
36
    public function __toString()
37
    {
38
        return $this->render();
39
    }
40
41
    /**
42
     * @param string $class
43
     * @return self
44
     */
45 1
    public function addCssClass($class)
46
    {
47
        Html::addCssClass($this->options, $class);
48
49 1
        return $this;
50
    }
51
52
    /**
53
     * @return string
54
     */
55
    public function render()
56
    {
57
        return Html::tag('i', null, $this->options);
58
    }
59
}
60