Completed
Push — master ( e71fad...b6555f )
by Mike
03:43
created

ClassMapQueueResolver   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 21
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 4
lcom 1
cbo 1
dl 0
loc 21
ccs 0
cts 14
cp 0
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A resolveQueueName() 0 10 3
1
<?php
2
3
namespace MGDigital\BusQue\QueueResolver;
4
5
use MGDigital\BusQue\Exception\QueueResolverException;
6
use MGDigital\BusQue\QueueResolverInterface;
7
8
class ClassMapQueueResolver implements QueueResolverInterface
9
{
10
11
    private $map;
12
13
    public function __construct(array $map)
14
    {
15
        $this->map = $map;
16
    }
17
18
    public function resolveQueueName($command): string
19
    {
20
        if (is_object($command)) {
21
            $class = get_class($command);
22
            if (isset($this->map[$class])) {
23
                return $this->map[$class];
24
            }
25
        }
26
        throw new QueueResolverException;
27
    }
28
}
29