Passed
Push — main ( dae7cc...12f243 )
by Breno
01:47
created

DefaultMethodMapper   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 16
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 6
dl 0
loc 16
rs 10
c 1
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 10 3
1
<?php
2
declare(strict_types=1);
3
4
namespace OniBus\Handler\ClassMethod\Mapper;
5
6
use OniBus\Handler\ClassMethod\ClassMethod;
7
use OniBus\Handler\ClassMethod\ClassMethodMapper;
8
9
class DefaultMethodMapper extends DirectMapper implements ClassMethodMapper
10
{
11
    /**
12
     * @param array $map ['message' => 'class', ...]
13
     * @param string $method default method
14
     */
15
    public function __construct(array $map, string $method = "__invoke")
16
    {
17
        $mapped = [];
18
        foreach ($map as $message => $class) {
19
            if (method_exists($class, $method)) {
20
                $mapped[] = new ClassMethod($message, $class, $method);
21
            }
22
        }
23
24
        parent::__construct(...$mapped);
25
    }
26
}
27