StartNew   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 14
dl 0
loc 27
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A runInternal() 0 13 3
A getSubtasksMap() 0 5 1
1
<?php declare( strict_types=1 );
2
3
namespace BotRiconferme\Task;
4
5
use BotRiconferme\Task\Subtask\CreatePages;
6
use BotRiconferme\Task\Subtask\OpenUpdates;
7
use BotRiconferme\Task\Subtask\UserNotice;
8
use BotRiconferme\TaskHelper\TaskResult;
9
10
/**
11
 * Task for opening new procedures
12
 */
13
class StartNew extends Task {
14
	/**
15
	 * @inheritDoc
16
	 */
17
	public function runInternal(): int {
18
		$orderedList = [
19
			'create-pages',
20
			'open-updates',
21
			'user-notice'
22
		];
23
24
		$res = new TaskResult( TaskResult::STATUS_NOTHING );
25
		do {
26
			$res->merge( $this->runSubtask( current( $orderedList ) ) );
27
		} while ( $res->isOK() && next( $orderedList ) );
28
29
		return $res->getStatus();
30
	}
31
32
	/**
33
	 * @inheritDoc
34
	 */
35
	protected function getSubtasksMap(): array {
36
		return [
37
			'create-pages' => CreatePages::class,
38
			'open-updates' => OpenUpdates::class,
39
			'user-notice' => UserNotice::class,
40
		];
41
	}
42
}
43