CloseOld   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 16
dl 0
loc 29
rs 10
c 0
b 0
f 0
wmc 4

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getSubtasksMap() 0 6 1
A runInternal() 0 14 3
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\TaskHelper\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_NOTHING );
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