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

AbstractEmberGenerator::getProject()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
eloc 2
nc 1
nop 0
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
}