Completed
Push — master ( 2fb143...d99a08 )
by Thomas
09:36
created

generate()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 23
Code Lines 15

Duplication

Lines 0
Ratio 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
c 2
b 0
f 0
dl 0
loc 23
rs 9.0856
cc 1
eloc 15
nc 1
nop 4
1
<?php
2
namespace keeko\tools\generator\action;
3
4
use gossi\codegen\model\PhpClass;
5
use Propel\Generator\Model\Table;
6
7
class ToManyRelationshipUpdateActionGenerator extends AbstractActionGenerator {
8
9
	/**
10
	 * Add default blank methods
11
	 * 
12
	 * @param PhpClass $class
13
	 */
14
	public function generate(PhpClass $class, Table $model, Table $foreignModel, Table $middle) {
15
		// add use statements
16
		$this->ensureBasicSetup($class);
17
		
18
		// method: configureParams(OptionsResolver $resolver)
19
		$this->addConfigureParamsMethod($class, $this->twig->render('relationship-configureParams.twig'));
20
21
		// method: run(Request $request) : Response
22
		$class->addUseStatement('Symfony\\Component\\Routing\\Exception\\ResourceNotFoundException');
23
		$class->addUseStatement('Tobscure\\JsonApi\\Exception\\InvalidParameterException');
24
		$class->addUseStatement($middle->getNamespace() . '\\' . $middle->getPhpName() . 'Query');
25
		$class->addUseStatement($model->getNamespace() . '\\' . $model->getPhpName() . 'Query');
26
		$class->addUseStatement($model->getNamespace() . '\\' . $foreignModel->getPhpName() . 'Query');
27
		$class->setMethod($this->generateRunMethod($this->twig->render('to-many-update-run.twig', [
28
			'model' => $model->getCamelCaseName(),
29
			'class' => $model->getPhpName(),
30
			'foreign_model' => $foreignModel->getCamelCaseName(),
31
			'foreign_class' => $foreignModel->getPhpName(),
32
			'fk_class' => $middle->getPhpName()
33
		])));
34
35
		return $class;
36
	}
37
}