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

StoreHelpers::getSchemaType()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 2

Importance

Changes 0
Metric Value
dl 0
loc 5
ccs 3
cts 3
cp 1
rs 9.4285
c 0
b 0
f 0
cc 2
eloc 3
nc 2
nop 1
crap 2
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
}