Completed
Push — master ( 7e40cf...9be0de )
by Enrico
03:32
created

StoreHelpers   A

Complexity

Total Complexity 6

Size/Duplication

Total Lines 26
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 0

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 6
lcom 0
cbo 0
dl 0
loc 26
ccs 9
cts 9
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A getSchemaType() 0 5 2
A getStoreForSchema() 0 11 4
1
<?php
2
3
namespace Resourceful\StoreHelpers;
4
5
use Pimple\Container;
6
use Doctrine\Common\Cache\Cache;
7
8
Class StoreHelpers
9
{
10
	/**
11
	 * @return string | null
12
	 */
13 18
	public static function getSchemaType($schema)
14
	{
15 18
		$type =  @trim(@basename(@parse_url($schema, PHP_URL_PATH)));
16 18
		return $type?:null;
17
	}
18
	
19
	/**
20
	 * @return Cache instance
21
	 */
22 16
	public static function getStoreForSchema($schema, Container $app)
23
	{
24 16
    	assert( isset($app['resourceful.store']));
25
		
26 16
		$type= static::getSchemaType($schema);
27
28 16
    	$storeName= ($type && isset($app["resourceful.store.$type"]))?$app["resourceful.store.$type"]:$app['resourceful.store'];
29
		
30 16
		assert(isset($app[$storeName]) && ($app[$storeName] instanceof Cache) );
31 16
		return  $app[$storeName];
32
	}
33
}