Completed
Push — dev-master ( 40fdeb...fb169c )
by Derek Stephen
02:11
created

AlertBox::renderMessage()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 16

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 8
CRAP Score 3.3332

Importance

Changes 0
Metric Value
dl 0
loc 16
ccs 8
cts 12
cp 0.6667
rs 9.7333
c 0
b 0
f 0
cc 3
nc 3
nop 1
crap 3.3332
1
<?php
2
3
namespace Bone\View\Helper;
4
5
class AlertBox
6
{
7
    /**
8
     * @param array $message array of messages, last item in array should be alert class
9
     * @return bool|string
10
     */
11 1
    public function alertBox(array $message)
12
    {
13 1
        $class = $this->getClass($message);
14 1
        $alert = '<div class="alert ' . $class . '"><button type="button" class="close" data-dismiss="alert" aria-label="Close"><span aria-hidden="true">&times;</span></button>' . $this->renderMessage($message) . '</div>';
15
16 1
        return $alert;
17
    }
18
19
    /**
20
     * @param array $message
21
     * @return string
22
     */
23 1
    private function getClass(array $message)
24
    {
25 1
        if (count($message) < 2) {
26 1
            return 'alert-info';
27
        }
28
        $class = array_pop($message);
29
        $class = (!strstr($class, 'alert-')) ? 'alert-' . $class : '';
30
31
        return $class;
32
    }
33
34
    /**
35
     * @param array $message
36
     * @return string
37
     */
38 1
    private function renderMessage(array $message)
39
    {
40 1
        $alert = '';
41 1
        codecept_debug($message);
42 1
        array_pop($message);
43 1
        $num = count($message);
44 1
        $x = 1;
45 1
        foreach ($message as $msg) {
46
            $alert .= $msg;
47
            if ($x < $num) {
48
                $alert .= '<br />';
49
            }
50
            $x++;
51
        }
52 1
        return $alert;
53
    }
54
}