MagicCommand   A
last analyzed

Complexity

Total Complexity 10

Size/Duplication

Total Lines 153
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 6

Test Coverage

Coverage 17.65%

Importance

Changes 0
Metric Value
wmc 10
lcom 1
cbo 6
dl 0
loc 153
rs 10
c 0
b 0
f 0
ccs 6
cts 34
cp 0.1765

3 Methods

Rating   Name   Duplication   Size   Complexity  
A configure() 0 10 1
C execute() 0 41 8
A getRandomHex() 0 3 1
1
<?php
2
namespace keeko\tools\command;
3
4
use Symfony\Component\Console\Input\InputInterface;
5
use Symfony\Component\Console\Output\OutputInterface;
6
7
class MagicCommand extends AbstractKeekoCommand {
8
	
9
	protected function configure() {
10
		$this
11 20
			->setName('magic')
12 20
			->setDescription('Magically does everything')
13 20
		;
14 20
		
15
		$this->configureGenerateOptions();
16
17 20
		parent::configure();
18 20
	}
19
	
20
	public function execute(InputInterface $input, OutputInterface $output) {
21
		// pre check
22
		$package = $this->package;
23
		if (empty($package->getType()) && empty($package->getName())) {
24
			throw new \DomainException('No type and name found in composer.json - please run `keeko init`.');
25
		}
26
		
27
		if ($package->getType() === 'keeko-module') {
28
			$module = $this->packageService->getModule();
29
			if ($module === null) {
30
				throw new \DomainException('No module definition found in composer.json - please run `keeko init`.');
31
			}
32
		}
33
		
34
		// let's go		
35
		$output->writeln(sprintf('<fg=magenta>%s</fg=magenta>', $this->getRandomHex()));
36
		$output->writeln('<fg=cyan>And then a miracle appears ...</fg=cyan>');
37
		
38
		// --force
39
		$args = [
40
			'--force' => $input->getOption('force')
41
		];
42
		
43
		// --schema
44
		if (($schema = $input->getOption('schema')) !== null) {
45
			$args['--schema'] = $schema;
46
		}
47
		
48
		// --workdir
49
		if (($workdir = $input->getOption('workdir')) !== null) {
50
			$args['--workdir'] = $workdir;
51
		}
52
		
53
		if ($package->getType() === 'keeko-module') {
54
			$this->runCommand('generate:serializer', $args);
55
			$this->runCommand('generate:domain', $args);
56
			$this->runCommand('generate:action', $args);
57
			$this->runCommand('generate:responder', $args);
58
			$this->runCommand('generate:api', $args);
59
		}
60
	}
61
62
	/**
63
	 * Returns a random magic spell
64
	 * 
65
	 * @return string
66
	 */
67
	protected function getRandomHex() {
68
		return $this->hex[array_rand($this->hex)];
69
	}
70
	
71
	private $hex = [
72
		'Ene mene Schmieg, Kartoffelbrei, los, flieg,... Hex-hex! ',
73
		'Ene mene mitzel, ein riesengroßes Schnitzel... Hex-hex!',
74
		'Blitz und Donner kommt herbei, Ene mene eins, zwei, drei... Hex-hex!',
75
		'Ene mene muh herbei komme die Kuh... Hex-hex!',
76
		'Ene mene britzel, fertig sei das Schnitzel, Ene mene morimad und auch der Kartoffelsalat... Hex-hex!',
77
		'Ene mene Hühnerdreck her mit etwas Salzgebäck... Hex-hex!',
78
		'Ene mene Keks und Wein sollen gut und lecker sein... Hex-hex!',
79
		'Ene mene melt, fertig sei das Zelt; und ein Gitter drumherum fidibei und fidibum; auch noch ein Moskitonetz und jetzt mache ich:... Hex-hex!',
80
		'Ene mene Moos, wir brauchen schnell ein Floß; mit ner hohen Reling dran für fünf Mann... Hex-hex!',
81
		'Ene mene nicht geklaut im Wagen ist das Sauerkraut... Hex-hex!',
82
		'Ene mene Papitrost guter Wein im Glas und Prost... Hex-hex!',
83
		'Ene mene rundes Fässchen hier steht jetzt ein leckeres Fresschen Ene mene Warzenschwein auch ein Fläschchen roter Wein... Hex-hex!',
84
		'Ene mene Schelm, wir brauchen einen Sturzhelm... Hex-hex!',
85
		'Ene mene spaten, es wartet Schweinebraten... Hex-hex!',
86
		'Ene mene steg hier ist jetzt ein Radfahrweg, Ene mene mauf und hier auch, Ene mene rüben auch dort drüben, Ene mene mende auch am anderen Ende... Hex-hex!',
87
		'Ene mene Urgestank her mit einem kleinen Trank... Hex-hex!',
88
		'Ene mene Windesbraut, Eisbein her mit Sauerkraut. Ene mene schnudding, und Vanillepudding... Hex-hex!',
89
		'Ene mene Baldrian flieg zum Hochhaus nebenan... Hex-hex!',
90
		'Ene mene Baldrian, Baldrian schieb Wolke an... Hex-hex!',
91
		'Ene mene huckebein Baldrian bringt Poli heim... Hex-hex!',
92
		'Ene mene Zappelhahn, fliege los, O Baldrian... Hex-hex!',
93
		'Ene mene Brandung Kartoffelbrei los Landung... Hex-hex!',
94
		'Ene mene Drüfte Kartoffelbrei flieg durch die Lüfte... Hex-hex!',
95
		'Ene mene einerlei zum Hochhaus flieg Kartoffelbrei... Hex-hex!',
96
		'Ene mene Mausebrei Kartoffelbrei mein Flugzeug sei... Hex-hex!',
97
		'Ene mene nur Verdruß Kartoffelbrei du machst jetzt Schluß',
98
		'Ene mene Mei, Kartoffelbrei mein Flugzeug sei,... Hex-hex!',
99
		'Ene mene Mei, flieg los Kartoffelbrei... Hex-hex! ',
100
		'Ene mene El Ole, El Flitzo geh\' kurz in die Höh\'.',
101
		'Ene mene El Ole, El Flitzo gehe in die Höh\'',
102
		'Ene mene Grande, El Flitzo lande.',
103
		'Ene mene mank, jetzt kommt der dritte Gang... Hex-hex!',
104
		'Enemene Adebar, zeig\' mir, wie das damals war... Hex-hex!',
105
		'Aberakadabara mungo dschungo wabera urowaldo liani tarzi warzi schikani mungo dschungo wabera senzo kandelabera aberakadabara.',
106
		'Am dam dei, keine Schwimmhaut an Boris Finger sei... Hex-hex!',
107
		'Am dam deibeldei, ein Frosch mein Bruder Boris sei... Hex-hex!',
108
		'Dschungo mungo agakan, Minihex nicht gut getan. Blitz und Donner, 1, 2, 3; Ene mene Fliegenei, Kokosnuss und Affenschwanz, meine Tochter bleibe ganz aus dem Dschungel, sei sie hier und mit ihr die anderen vier... Hex-hex! Doppel-... Hex-hex!',
109
		'Ene mene nasse Sachen, Wind der soll sie trocken machen... Hex-hex!',
110
		'Ene mene Eiersuchen, wieder lecker sei der Kuchen; enemene Jugendzeit, trocken sei Amandas Kleid; enemene Tintenschreibe, heil sei auch die Fensterscheibe; enemene schwarze Asche, weg sei in Karlas Strumpf die Masche... Hex-hex!',
111
		'Ene mene dicke Masche sei ein Brief und nicht mehr Asche... Hex-hex!',
112
		'Ene mene Eselsohr Einkaufswagen wie zu vor... Hex-hex!',
113
		'Ene mene großer Kinderlauf, alle Türen gehen schnell wieder auf... Hex-hex!',
114
		'Ene mene Kuh Achim sein sollst du... Hex-hex!',
115
		'Ene mene meck, grün sei wieder weg... Hex-hex!',
116
		'Ene mene mei Keks werd Kartoffelbrei... Hex-hex!',
117
		'Ene mene mün weg sei das Grün... Hex-hex!',
118
		'Ene mene nebenbei fort der lange Rüssel sei... Hex-hex!',
119
		'Ene mene nur Verdruß Kartoffelbrei du machst jetzt Schluß... Hex-hex!',
120
		'Ene mene Salz im Meer Einkaufswagen wieder leer... Hex-hex!',
121
		'Ene mene steg, weg sei der Radfahrweg, Ene mene säge, weg alle Radfahrwege... Hex-hex!',
122
		'Ene mene Stäbchenfisch lande wieder auf dem Tisch... Hex-hex!',
123
		'Ene mene Wasserfall, Kinder seit jetzt ganz normal... Hex-hex!',
124
		'Ene mene Elefant Brief hierher in meine Hand... Hex-hex!',
125
		'Ene mene Fliegenbein, Müllers Schweinebraten bei mir sei... Hex-hex!',
126
		'Ene mene gauckeley, die Wolke schiebt Kartoffelbrei... Hex-hex!',
127
		'Ene mene großer Kinderlauf, alle Türen gehen schnell wieder auf... Hex-hex!',
128
		'Ene mene mall, wir fliegen über den Wasserfall... Hex-hex!',
129
		'Ene mene Maus und Klaus, Hexbuch aus Hexenlabor heraus... Hex-hex!',
130
		'Ene mene mext, Schuhe seit verhext. Fliegt hoch jetzt zehn Meter, runter kommt ihr später... Hex-hex!',
131
		'Ene mene Mut fliegen kann der Hut... Hex-hex!',
132
		'Ene mene Stäbchenfisch lande wieder auf dem Tisch... Hex-hex!',
133
		'Ene mene test Boris der klebt fest... Hex-hex!',
134
		'Ene mene Fliegenbein, Müllers Schweinebraten bei mir sei... Hex-hex!',
135
		'Ene mene großes Dino-Ei, Oma Grete ist schnell wieder herbei... Hex-hex!',
136
		'Ene mene butter grün sei meine Mutter... Hex-hex!',
137
		'Ene mene dicke Masche sei ein Brief und nicht mehr Asche... Hex-hex!',
138
		'Ene mene matze kuh sei eine Katze... Hex-hex!',
139
		'Ene mene mecks, Besen sei ein Keks... Hex-hex!',
140
		'Ene mene mei Keks werd Kartoffelbrei... Hex-hex!',
141
		'Ene mene mig, bumkrach sei Musik... Hex-hex!',
142
		'Ene mene muh Achim sei ne Kuh... Hex-hex!',
143
		'Ene mene nebenbei fort der lange Rüssel sei... Hex-hex!',
144
		'Ene mene Satteltasche blauer Brief werde zu Asche... Hex-hex!',
145
		'Ene mene schich, lieber Hund komm und sprich... Hex-hex!',
146
		'Ene mene Schnüffel Nase sei ein Rüssel... Hex-hex!',
147
		'Ene mene eiderdauß, Dicker werde eine Laus',
148
		'Ene mene meiss Dose werde heiss... Hex-hex!',
149
		'Ene mene Pferdemief öffne dich du blauer Brief... Hex-hex!',
150
		'Ene mene max an der Nase er sich kratzt... Hex-hex!',
151
		'Ene mene Pferdewagen Papi stelle andere Fragen... Hex-hex!',
152
		'Ene mene Riesenzorn, sei verraucht beim Nasenhorn... Hex-hex!',
153
		'Ene mene superbrav, fallt alle jetzt in tiefen Schlaf; morgen früh seid wieder wach, Ene mene Rieselbach... Hex-hex!',
154
		'Ene mene Warzenschwein Flori lädt Marita ein... Hex-hex!',
155
		'Ene mene Wasserfall, Kinder seit jetzt ganz normal... Hex-hex!',
156
		'Ene mene weil ich es will, sind die Kinder jetzt mucksmäuschenstill... Hex-hex!',
157
		'Ene mene Tiefkühlschrank, fertig ist der Zaubertrank... Hex-hex!',
158
	];
159
}