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

createModelJsonResponderGenerator()   B

Complexity

Conditions 6
Paths 6

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 7.3329

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 18
ccs 2
cts 3
cp 0.6667
rs 8.8571
cc 6
eloc 12
nc 6
nop 2
crap 7.3329
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\AbstractModelJsonResponderGenerator;
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
18
class GeneratorFactory {
19 5
	
20 5
	/**
21
	 * Creates a generator for the given trait type
22 3
	 * 
23 3
	 * @param string $type
24
	 * @return AbstractModelActionGenerator
25 3
	 */
26 3
	public static function createModelActionGenerator($type, CommandService $service) {
27
		switch ($type) {
28 3
			case 'list':
29 3
				return new ModelListActionGenerator($service);
30
				
31
			case 'create':
32
				return new ModelCreateActionGenerator($service);
33
				
34
			case 'update':
35
				return new ModelUpdateActionGenerator($service);
36
				
37
			case 'read':
38
				return new ModelReadActionGenerator($service);
39 2
				
40
			case 'delete':
41 2
				return new ModelDeleteActionGenerator($service);
42 1
		}
43
	}
44 2
	
45 2
	/**
46
	 * Creates a generator for the given json respose
47 1
	 * 
48 1
	 * @param string $type
49
	 * @param CommandService $service
50 1
	 * @return AbstractModelJsonResponderGenerator
51 1
	 */
52
	public static function createModelJsonResponderGenerator($type, CommandService $service) {
53 1
		switch ($type) {
54 1
			case 'list':
55
				return new ModelListJsonResponderGenerator($service);
56
57
			case 'create':
58
				return new ModelCreateJsonResponderGenerator($service);
59
		
60
			case 'update':
61
				return new ModelUpdateJsonResponderGenerator($service);
62
		
63
			case 'read':
64
				return new ModelReadJsonResponderGenerator($service);
65
		
66
			case 'delete':
67
				return new ModelDeleteJsonResponderGenerator($service);
68
		}
69
	}
70
71
}
72