FileAdapter   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

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

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 1
A load() 0 9 2
1
<?php
2
3
namespace Tleckie\Di\Definition\Adapter;
4
5
use InvalidArgumentException;
6
7
/**
8
 * Class FileAdapter
9
 *
10
 * @package Tleckie\Di\Handler\Adapter
11
 * @author  Teodoro Leckie Westberg <[email protected]>
12
 */
13
class FileAdapter implements AdapterInterface
14
{
15
    /** @var string */
16
    private string $file;
17
18
    /**
19
     * FileAdapter constructor.
20
     *
21
     * @param string $file
22
     */
23
    public function __construct(string $file)
24
    {
25
        $this->file = $file;
26
    }
27
28
    /**
29
     * @return array
30
     * @throws InvalidArgumentException
31
     */
32
    public function load(): array
33
    {
34
        if (!is_file($this->file)) {
35
            throw new InvalidArgumentException(
36
                sprintf('File [%s] not found', $this->file)
37
            );
38
        }
39
40
        return include $this->file;
41
    }
42
}
43