Passed
Push — master ( ce8562...af7542 )
by Petr
02:11
created

TToString::toString()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 14
Code Lines 8

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 7
CRAP Score 3.0175

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 3
eloc 8
nc 3
nop 1
dl 0
loc 14
ccs 7
cts 8
cp 0.875
crap 3.0175
rs 10
c 1
b 0
f 0
1
<?php
2
3
namespace kalanis\kw_menu\Traits;
4
5
6
use kalanis\kw_menu\MenuException;
7
8
9
/**
10
 * Trait TToString
11
 * @package kalanis\kw_menu\Traits
12
 * Transform resource to string
13
 */
14
trait TToString
15
{
16
    use TLang;
17
18
    /**
19
     * @param mixed $content
20
     * @throws MenuException
21
     * @return string
22
     */
23 5
    protected function toString($content): string
24
    {
25 5
        if (is_resource($content)) {
26 3
            rewind($content);
27 3
            $data = stream_get_contents($content, -1, 0);
28 3
            if (false === $data) {
29
                // @codeCoverageIgnoreStart
30
                // must die something with stream reading
31
                throw new MenuException($this->getMnLang()->mnCannotOpen());
32
            }
33
            // @codeCoverageIgnoreEnd
34 3
            return strval($data);
35
        } else {
36 2
            return strval($content);
37
        }
38
    }
39
}
40