Passed
Push — master ( 1a6375...8f4058 )
by Petr
08:21 queued 05:12
created

TToResource   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 31
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 5
eloc 14
c 1
b 0
f 0
dl 0
loc 31
rs 10
ccs 11
cts 11
cp 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A readSourceToResource() 0 21 5
1
<?php
2
3
namespace kalanis\kw_mime\Check\Traits;
4
5
6
use kalanis\kw_mime\MimeException;
7
8
9
/**
10
 * Trait TToResource
11
 * @package kalanis\kw_mime\Check\Traits
12
 */
13
trait TToResource
14
{
15
    use TCheckCalls;
16
17
    /**
18
     * @param string $sourcePath
19
     * @param string|resource|bool|null $sourceData
20
     * @throws MimeException
21
     * @return resource
22
     */
23 6
    protected function readSourceToResource(string $sourcePath, $sourceData)
24
    {
25 6
        if ((false === $sourceData) || (null === $sourceData)) {
26 2
            throw new MimeException($this->getMiLang()->miCannotLoadFile($sourcePath));
27
28 4
        } elseif (!is_resource($sourceData)) {
29 3
            $stream = fopen('php://temp', 'rb+');
30
31 3
            if (false === $stream) {
32
                // @codeCoverageIgnoreStart
33
                throw new MimeException($this->getMiLang()->miCannotLoadFile($sourcePath));
34
            }
35
            // @codeCoverageIgnoreEnd
36
37 3
            rewind($stream);
38 3
            fwrite($stream, strval($sourceData));
39 3
            rewind($stream);
40
41 3
            return $stream;
42
        } else {
43 1
            return $sourceData;
44
        }
45
    }
46
}
47