Completed
Push — master ( be02a5...a1ec95 )
by Nick
22:04 queued 02:39
created

InputParser::getFullyQualifiedClassName()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 8
rs 9.4285
cc 2
eloc 4
nc 2
nop 2
1
<?php
2
3
namespace EloquentJs\ScriptGenerator\Console;
4
5
class InputParser
6
{
7
    /**
8
     * Parse a comma separated class list and return array of FQCNs.
9
     *
10
     * @param string $classList
11
     * @param string $namespace
12
     * @return array
13
     */
14
    public function parse($classList, $namespace)
15
    {
16
        return array_map(
17
            function ($className) use ($namespace) {
18
                return $this->getFullyQualifiedClassName($className, $namespace);
19
            },
20
            array_map('trim', explode(',', $classList))
21
        );
22
    }
23
24
    /**
25
     * Get the FQCN of the given $class and $namespace.
26
     *
27
     * @param string $class
28
     * @param string $namespace
29
     * @return string
30
     */
31
    protected function getFullyQualifiedClassName($class, $namespace)
32
    {
33
        if ($class[0] === '\\') {
34
            return substr($class, 1);
35
        }
36
37
        return "$namespace\\$class";
38
    }
39
}
40