Test Failed
Pull Request — master (#9)
by Nicolas
10:03 queued 04:15
created

InMemory::build()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 24
Code Lines 16

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
c 0
b 0
f 0
dl 0
loc 24
rs 8.9713
cc 2
eloc 16
nc 2
nop 4
1
<?php
2
3
namespace Puzzle\AMQP\Messages;
4
5
use Puzzle\AMQP\Workers\MessageAdapter;
6
use Puzzle\AMQP\Messages\Bodies\NullBody;
7
8
class InMemory
9
{
10
    /**
11
     * @return \Puzzle\AMQP\ReadableMessage
12
     */
13
    public static function build($routingKey, Body $body = null, array $additionalHeaders = [], array $additionalAttributes = [])
14
    {
15
        if(! $body instanceof Body)
16
        {
17
            $body = new NullBody();
18
        }
19
20
        $attributes = array_merge([
21
            'content_type' => $body->getContentType(),
22
            'routing_key' => $routingKey,
23
            'content_encoding' => 'utf8',
24
            'message_id' => uniqid(true),
25
        ], $additionalAttributes);
26
27
        $attributes['headers'] = array_merge([
28
            'routing_key' => $routingKey,
29
            'app_id' => 'memory',
30
            'message_datetime' => date('Y-m-d H:i:s'),
31
        ], $additionalHeaders);
32
33
        return new MessageAdapter(
34
            new \Swarrot\Broker\Message($body->format(), $attributes)
35
        );
36
    }
37
}
38