Passed
Push — dev ( 8f807e...d72849 )
by Yan
02:28
created

BuildClassnames::classToCamelCase()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace Lincable\Concerns;
4
5
use Illuminate\Support\Str;
6
7
trait BuildClassnames
8
{
9
    /**
10
     * Return the basename of class do camel case removing 
11
     * unecessary suffixes. 
12
     *
13
     * @param  mixed  $class
14
     * @param  string $suffix
15
     * @return mixed
16
     */
17
    protected function nameFromClass($class, string $suffix = null)
18
    {
19
        $name = $this->classToCamelCase($class);            
20
            
21
        return Str::endsWith($name, $suffix)
22
            ? substr($name, 0, strlen($suffix) * -1)
23
            : $name;
24
    }
25
26
    /**
27
     * Return the class basename to camel case.
28
     * 
29
     * @param  mixed $class
30
     * @return string
31
     */
32
    protected function classToCamelCase($class)
33
    {
34
        return Str::camel(class_basename($class));
35
    }
36
}