SchemaControllerProvider   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 22
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 3
dl 0
loc 22
ccs 7
cts 7
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A connect() 0 19 2
1
<?php
2
namespace Resourceful;
3
4
use Silex\Api\ControllerProviderInterface;
5
use Symfony\Component\HttpFoundation\Request;
6
use Symfony\Component\HttpFoundation\Response;
7
use Symfony\Component\HttpKernel\Exception\ServiceUnavailableHttpException;
8
use Silex\Application;
9
10
class SchemaControllerProvider implements ControllerProviderInterface
11
{
12 4
    public function connect(Application $app)
13
    {
14
    	// ensure that SchemaControllerProvider is called once
15 4
    	if( isset($app['schema.controller'])){
16 1
			$app->abort(501,'Sorry, you can create only one schema endpoint');
17
		} else {
18
			$app['schema.controller'] = function(){
19
				return new ReadResourceController('schema');
20
			};
21
		}
22
23 4
        $controllers = $app["controllers_factory"];
24
		
25 4
        $controllers->get("/{id}", 'schema.controller:read')->bind("schema")
26 4
			->after(new DescribedBySchemaHandler)
27
		;
28
			
29 4
        return $controllers;
30
    }
31
}
32