Completed
Push — master ( af5658...fe61ae )
by Thomas
06:08
created

GeneratorFactory::createPackageGenerator()   A

Complexity

Conditions 3
Paths 3

Size

Total Lines 9
Code Lines 6

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 9
ccs 0
cts 0
cp 0
rs 9.6666
cc 3
eloc 6
nc 3
nop 2
crap 12
1
<?php
2
namespace keeko\tools\generator;
3
4
use keeko\tools\generator\action\AbstractModelActionGenerator;
5
use keeko\tools\generator\action\ModelCreateActionGenerator;
6
use keeko\tools\generator\action\ModelDeleteActionGenerator;
7
use keeko\tools\generator\action\ModelListActionGenerator;
8
use keeko\tools\generator\action\ModelReadActionGenerator;
9
use keeko\tools\generator\action\ModelUpdateActionGenerator;
10
use keeko\tools\generator\responder\AbstractPayloadJsonResponderGenerator;
11
use keeko\tools\generator\responder\ModelCreateJsonResponderGenerator;
12
use keeko\tools\generator\responder\ModelDeleteJsonResponderGenerator;
13
use keeko\tools\generator\responder\ModelListJsonResponderGenerator;
14 5
use keeko\tools\generator\responder\ModelReadJsonResponderGenerator;
15
use keeko\tools\generator\responder\ModelUpdateJsonResponderGenerator;
16 5
use keeko\tools\services\CommandService;
17 4
use keeko\tools\generator\package\AppPackageGenerator;
18
use keeko\tools\generator\package\ModulePackageGenerator;
19 5
use keeko\tools\generator\package\AbstractPackageGenerator;
20 5
21
class GeneratorFactory {
22 3
	
23 3
	/**
24
	 * Creates a generator for the given trait type
25 3
	 * 
26 3
	 * @param string $type
27
	 * @return AbstractModelActionGenerator
28 3
	 */
29 3
	public static function createModelActionGenerator($type, CommandService $service) {
30
		switch ($type) {
31
			case 'list':
32
				return new ModelListActionGenerator($service);
33
				
34
			case 'create':
35
				return new ModelCreateActionGenerator($service);
36
				
37
			case 'update':
38
				return new ModelUpdateActionGenerator($service);
39 2
				
40
			case 'read':
41 2
				return new ModelReadActionGenerator($service);
42 1
				
43
			case 'delete':
44 2
				return new ModelDeleteActionGenerator($service);
45 2
		}
46
	}
47 1
	
48 1
	/**
49
	 * Creates a generator for the given json respose
50 1
	 * 
51 1
	 * @param string $type
52
	 * @param CommandService $service
53 1
	 * @return AbstractPayloadJsonResponderGenerator
54 1
	 */
55
	public static function createModelJsonResponderGenerator($type, CommandService $service) {
56
		switch ($type) {
57
			case 'list':
58
				return new ModelListJsonResponderGenerator($service);
59
60
			case 'create':
61
				return new ModelCreateJsonResponderGenerator($service);
62
		
63
			case 'update':
64
				return new ModelUpdateJsonResponderGenerator($service);
65
		
66
			case 'read':
67
				return new ModelReadJsonResponderGenerator($service);
68
		
69
			case 'delete':
70
				return new ModelDeleteJsonResponderGenerator($service);
71
		}
72
	}
73
74
	/**
75
	 * Creates a new package generator
76
	 * 
77
	 * @param string $type
78
	 * @param CommandService $serivce
0 ignored issues
show
Bug introduced by
There is no parameter named $serivce. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
79
	 * @return AbstractPackageGenerator
80
	 */
81
	public static function createPackageGenerator($type, CommandService $service) {
82
		switch ($type) {
83
			case 'app':
84
				return new AppPackageGenerator($service);
85
				
86
			case 'module':
87
				return new ModulePackageGenerator($service);
88
		}
89
	}
90
}
91