Passed
Branch master (a4e902)
by Daimona
01:39
created

CloseOld::run()   A

Complexity

Conditions 2
Paths 1

Size

Total Lines 14
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 10
nc 1
nop 0
dl 0
loc 14
rs 9.9332
c 0
b 0
f 0
1
<?php declare( strict_types=1 );
2
3
namespace BotRiconferme\Task;
4
5
use BotRiconferme\Task\Subtask\ArchivePages;
6
use BotRiconferme\Task\Subtask\ClosePages;
7
use BotRiconferme\Task\Subtask\FailedUpdates;
8
use BotRiconferme\Task\Subtask\SimpleUpdates;
9
use BotRiconferme\TaskResult;
10
11
/**
12
 * Task for closing old procedures
13
 */
14
class CloseOld extends Task {
15
	/**
16
	 * @inheritDoc
17
	 */
18
	public function runInternal() : int {
19
		$orderedList = [
20
			'close-pages',
21
			'archive-pages',
22
			'simple-updates',
23
			'failed-updates'
24
		];
25
26
		$res = new TaskResult( TaskResult::STATUS_OK );
27
		do {
28
			$res->merge( $this->runSubtask( current( $orderedList ) ) );
29
		} while ( $res->isOK() && next( $orderedList ) );
30
31
		return $res->getStatus();
32
	}
33
34
	/**
35
	 * @inheritDoc
36
	 */
37
	protected function getSubtasksMap(): array {
38
		return [
39
			'archive-pages' => ArchivePages::class,
40
			'close-pages' => ClosePages::class,
41
			'failed-updates' => FailedUpdates::class,
42
			'simple-updates' => SimpleUpdates::class
43
		];
44
	}
45
}
46