Test Failed
Push — master ( 653e6c...3b4aec )
by Paul
03:40
created

Upgrader::setReviewCounts__3_0_0()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace GeminiLabs\SiteReviews\Modules;
4
5
use GeminiLabs\SiteReviews\Database\CountsManager;
6
use GeminiLabs\SiteReviews\Database\OptionManager;
7
use ReflectionClass;
8
use ReflectionMethod;
9
10
class Upgrader
11
{
12 6
	public function run()
13
	{
14 6
		$routines = (new ReflectionClass( __CLASS__ ))->getMethods( ReflectionMethod::IS_PROTECTED );
15 6
		$routines = array_column( $routines, 'name' );
16 6
		natsort( $routines );
17 6
		array_walk( $routines, function( $routine ) {
18 6
			$parts = explode( '__', $routine );
19 6
			if( version_compare( glsr()->version, end( $parts ), '>=' ))return;
20 6
			call_user_func( [$this, $routine] );
21 6
		});
22 6
		$this->updateVersion();
23 6
	}
24
25
	/**
26
	 * @return void
27
	 */
28 6
	public function updateVersion()
29
	{
30 6
		$currentVersion = glsr( OptionManager::class )->get( 'version' );
31 6
		if( version_compare( $currentVersion, glsr()->version, '<' )) {
32 6
			glsr( OptionManager::class )->set( 'version', glsr()->version );
33
		}
34 6
		if( $currentVersion != glsr()->version ) {
35 6
			glsr( OptionManager::class )->set( 'version_upgraded_from', $currentVersion );
36
		}
37 6
	}
38
39
	/**
40
	 * @return void
41
	 */
42 6
	protected function setReviewCounts__3_0_0()
43
	{
44 6
		$counts = glsr( CountsManager::class )->buildCounts();
45 6
		glsr( OptionManager::class )->set( 'counts', $counts );
46 6
	}
47
}
48