Passed
Push — master ( 6a3c94...5b674e )
by Prateek
05:01 queued 02:58
created

BaseGenerator   A

Complexity

Total Complexity 10

Size/Duplication

Total Lines 51
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 51
rs 10
c 0
b 0
f 0
wmc 10

8 Methods

Rating   Name   Duplication   Size   Complexity  
A setModule() 0 3 1
A getModule() 0 3 1
A __construct() 0 3 1
A getStub() 0 3 1
A getPath() 0 8 2
A getTabs() 0 7 2
A moduleToModelName() 0 3 1
A buildTemplate() 0 3 1
1
<?php
2
3
namespace Prateekkarki\Laragen\Generators;
4
use Prateekkarki\Laragen\Models\Module;
5
6
class BaseGenerator
7
{	
8
	protected $module;
9
10
    public function __construct(Module $module)
11
    {
12
        $this->setModule($module);
13
    }
14
15
    public function getModule()
16
    {
17
        return $this->module;
18
    }
19
20
    public function setModule(Module $module)
21
    {
22
        $this->module = $module;
23
    }
24
25
    public function getStub($type)
26
    {
27
        return file_get_contents(__DIR__ . "/../resources/stubs/" . $type . ".stub");
28
    }
29
30
    public function getPath($path)
31
    {
32
        $dir = base_path($path);
33
34
        if(!is_dir($dir))
35
            mkdir($dir, 0755, true);
36
37
        return $dir;
38
    }
39
40
    public function moduleToModelName($moduleName)
41
    {
42
        return ucfirst(camel_case(str_singular($moduleName)));
43
    }
44
45
    public function buildTemplate($stub, $replacements)
46
    {
47
        return str_replace(array_keys($replacements), array_values($replacements), $this->getStub($stub));
48
    }
49
50
    public function getTabs($number)
51
    {
52
        $schema = "";
53
        for ($i=0; $i < $number; $i++) { 
54
            $schema .= "    ";
55
        }
56
        return $schema;
57
    }
58
}
59