Completed
Push — master ( cac1be...eadaa3 )
by Thomas
04:35
created

GeneratorFactory::createJsonResponseGenerator()   B

Complexity

Conditions 6
Paths 6

Size

Total Lines 18
Code Lines 12

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 11
CRAP Score 6.0208

Importance

Changes 1
Bugs 0 Features 0
Metric Value
c 1
b 0
f 0
dl 0
loc 18
ccs 11
cts 12
cp 0.9167
rs 8.8571
cc 6
eloc 12
nc 6
nop 2
crap 6.0208
1
<?php
2
namespace keeko\tools\generator;
3
4
use keeko\tools\services\CommandService;
5
6
class GeneratorFactory {
7
	
8
	/**
9
	 * Creates a generator for the given trait type
10
	 * 
11
	 * @param string $type
12
	 * @return AbstractActionTraitGenerator
13
	 */
14 5
	public static function createActionTraitGenerator($type, CommandService $service) {
15
		switch ($type) {
16 5
			case 'list':
17 4
				return new ListActionTraitGenerator($service);
18
				
19 5
			case 'create':
20 5
				return new CreateActionTraitGenerator($service);
21
				
22 3
			case 'update':
23 3
				return new UpdateActionTraitGenerator($service);
24
				
25 3
			case 'read':
26 3
				return new ReadActionTraitGenerator($service);
27
				
28 3
			case 'delete':
29 3
				return new DeleteActionTraitGenerator($service);
30
		}
31
	}
32
	
33
	/**
34
	 * Creates a generator for the given json respose
35
	 * 
36
	 * @param string $type
37
	 * @param CommandService $service
38
	 */
39 2
	public static function createJsonResponseGenerator($type, CommandService $service) {
40
		switch ($type) {
41 2
			case 'list':
42 1
				return new ListJsonResponseGenerator($service);
43
		
44 2
			case 'create':
45 2
				return new CreateJsonResponseGenerator($service);
46
		
47 1
			case 'update':
48 1
				return new UpdateJsonResponseGenerator($service);
49
		
50 1
			case 'read':
51 1
				return new ReadJsonResponseGenerator($service);
52
		
53 1
			case 'delete':
54 1
				return new DeleteJsonResponseGenerator($service);
55
		}
56
	}
57
58
}
59