Completed
Push — master ( 118f52...c5048d )
by Thomas
10:09
created

EmberSerializerGenerator   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 4

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 3
c 1
b 1
f 0
lcom 1
cbo 4
dl 0
loc 20
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A generate() 0 17 3
1
<?php
2
namespace keeko\tools\generator\ember;
3
4
use Propel\Generator\Model\Table;
5
use keeko\framework\utils\NameUtils;
6
7
class EmberSerializerGenerator extends AbstractEmberGenerator {
8
9
	public function generate(Table $model) {
10
		$filter = $this->codegenService->getWriteFilter($model);
11
		if (count($filter) == 0) {
12
			return null;
13
		}
14
		$class = new EmberClassGenerator('JSONAPISerializer');
15
		$class->addImport('JSONSerializer', 'ember-data/serializers/json');
16
17
		$attrs = '';
18
		foreach ($filter as $field) {
19
			$attrs .= sprintf("\t%s: {serialize: false },\n", NameUtils::toCamelCase($field));
20
		}
21
		$attrs = "{\n\t" . rtrim($attrs, "\n,") . "\n}";
22
		$class->setProperty('attrs', $attrs);
23
24
		return $class->generate();
25
	}
26
}