Passed
Pull Request — master (#29)
by Nicolas
02:56
created

BodyFactory::__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 0
crap 1
1
<?php
2
3
namespace Puzzle\AMQP\Messages;
4
5
use Puzzle\AMQP\Messages\Bodies\Text;
6
use Puzzle\AMQP\Messages\Bodies\Json;
7
use Puzzle\AMQP\Messages\Bodies\Binary;
8
use Puzzle\AMQP\Messages\Bodies\NullBody;
9
use Psr\Log\LoggerAwareTrait;
10
use Psr\Log\NullLogger;
11
12
class BodyFactory
13
{
14
    use LoggerAwareTrait;
15
    
16 29
    public function __construct()
17
    {
18 29
        $this->logger = new NullLogger();
19 29
    }
20
    
21 28
    public function create($contentType, $contentAsTransported)
22
    {
23
        switch($contentType)
24
        {
25 28
            case ContentType::TEXT:
26 8
                return new Text($contentAsTransported);
27
                
28 21
            case ContentType::JSON:
29 3
                $body = new Json();
30 3
                $body->changeContentWithJson($contentAsTransported);
31
                
32 3
                return $body;
33
                
34 19
            case ContentType::BINARY:
35 3
                return new Binary($contentAsTransported);
36
        }
37
        
38 16
        $this->logger->warning(__CLASS__ . ": unknown content-type, use empty body");
39
        
40 16
        return new NullBody();
41
    }
42
}
43