Completed
Push — master ( 5d27f2...d6c5c0 )
by Thomas
08:45
created

AbstractEmberGenerator::getSlug()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 10
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 10
rs 9.4285
cc 2
eloc 6
nc 2
nop 1
1
<?php
2
namespace keeko\tools\generator\ember;
3
4
use keeko\framework\schema\CodegenSchema;
5
use keeko\tools\generator\AbstractCodeGenerator;
6
use keeko\tools\model\Project;
7
use keeko\tools\services\CommandService;
8
use Propel\Generator\Model\Table;
9
use keeko\framework\schema\PackageSchema;
10
11
class AbstractEmberGenerator extends AbstractCodeGenerator {
12
	
13
	protected $prj;
14
	
15
	public function __construct(CommandService $service, Project $project) {
16
		parent::__construct($service);
17
		$this->prj = $project;
18
	}
19
	
20
	protected function getProject() {
21
		return $this->prj;
22
	}
23
	
24
	/**
25
	 * @return PackageSchema
26
	 */
27
	protected function getPackage() {
28
		return $this->prj->getPackage();
29
	}
30
31
	/**
32
	 * 
33
	 * @param Table $model
34
	 * @return string
35
	 */
36
	protected function getSlug(Table $model) {
37
		$namespace = $model->getNamespace();
38
		$parts = explode('\\', $namespace);
39
	
40
		if ($parts[0] == 'keeko') {
41
			return $parts[1];
42
		}
43
	
44
		return $parts[0] . '.' . $parts[1];
45
	}
46
	
47
	/**
48
	 * @return CodegenSchema
49
	 */
50
	protected function getCodegen() {
51
		if ($this->prj->hasCodegenFile()) {
52
			return CodegenSchema::fromFile($this->prj->getCodegenFileName());
53
		}
54
	
55
		return new CodegenSchema();
56
	}
57
}