Completed
Push — master ( 56570e...2c8793 )
by Gabriel
07:17
created

NameFormatter   A

Complexity

Total Complexity 7

Size/Duplication

Total Lines 60
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 75%

Importance

Changes 0
Metric Value
wmc 7
lcom 1
cbo 1
dl 0
loc 60
ccs 12
cts 16
cp 0.75
rs 10
c 0
b 0
f 0

5 Methods

Rating   Name   Duplication   Size   Complexity  
A formatModuleName() 0 6 2
A formatControllerName() 0 6 2
A getControllerName() 0 4 1
A formatActionName() 0 7 1
A formatArray() 0 8 1
1
<?php
2
3
namespace Nip\Dispatcher\Resolver\ClassResolver;
4
5
/**
6
 * Class NameFormatter
7
 * @package Nip\Dispatcher\Resolver\ClassResolver
8
 */
9
class NameFormatter
10
{
11
12
    /**
13
     * @param $module
14
     * @param $controller
15
     * @param $action
16
     * @return array
17
     */
18
    public static function formatArray($module, $controller, $action)
19
    {
20
        return [
21
            'module' => self::formatModuleName($module),
22
            'controller' => self::formatControllerName($controller),
23
            'action' => self::formatActionName($action),
24
        ];
25
    }
26
    /**
27
     * @param string $name
28
     * @return mixed
29
     */
30 4
    public static function formatModuleName($name)
31
    {
32 4
        $name = $name ? $name : 'default';
33
34 4
        return inflector()->camelize($name);
35
    }
36
37
    /**
38
     * @param string $name
39
     * @return mixed
40
     */
41 4
    public static function formatControllerName($name)
42
    {
43 4
        $name = $name ? $name : 'index';
44
45 4
        return static::getControllerName($name);
46
    }
47
48
    /**
49
     * @param $controller
50
     * @return mixed
51
     */
52 4
    protected static function getControllerName($controller)
53
    {
54 4
        return inflector()->classify($controller);
55
    }
56
57
    /**
58
     * @param boolean $name
59
     * @return mixed
60
     */
61 3
    public static function formatActionName($name)
62
    {
63 3
        $name = inflector()->camelize($name);
64 3
        $name[0] = strtolower($name[0]);
65
66 3
        return $name;
67
    }
68
}
69