ModelFactory::create()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
declare(strict_types=1);
3
4
namespace Yproximite\Api\Factory;
5
6
use Yproximite\Api\Model\ModelInterface;
7
8
/**
9
 * Class ModelFactory
10
 */
11
class ModelFactory
12
{
13
    /**
14
     * @param string $class
15
     * @param array  $data
16
     *
17
     * @return ModelInterface
18
     */
19
    public function create(string $class, array $data): ModelInterface
20
    {
21
        return new $class($data);
22
    }
23
24
    /**
25
     * @param string $class
26
     * @param array  $list
27
     *
28
     * @return ModelInterface[]
29
     */
30
    public function createMany(string $class, array $list): array
31
    {
32
        return array_map(function (array $data) use ($class) {
33
            return self::create($class, $data);
34
        }, $list);
35
    }
36
}
37