NameRequestParser   A
last analyzed

Complexity

Total Complexity 8

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 3

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 8
c 1
b 0
f 0
lcom 0
cbo 3
dl 0
loc 36
ccs 23
cts 23
cp 1
rs 10

2 Methods

Rating   Name   Duplication   Size   Complexity  
A supports() 0 4 1
C parse() 0 22 7
1
<?php
2
3
/*
4
 * This file is part of the PostmanGeneratorBundle package.
5
 *
6
 * (c) Vincent Chalamon <[email protected]>
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
namespace PostmanGeneratorBundle\RequestParser;
13
14
use Doctrine\Common\Inflector\Inflector;
15
use PostmanGeneratorBundle\Model\Request;
16
17
class NameRequestParser implements RequestParserInterface
18
{
19
    /**
20
     * {@inheritdoc}
21
     */
22 6
    public function parse(Request $request)
23
    {
24 6
        $shortName = Inflector::camelize($request->getResource()->getShortName());
25 6
        switch ($request->getMethod()) {
26 6
            case 'POST':
27 1
                $request->setName(sprintf('Create %s', $shortName));
28 1
                break;
29 5
            case 'PUT':
30 5
            case 'PATCH':
31 2
                $request->setName(sprintf('Update %s', $shortName));
32 2
                break;
33 3
            case 'DELETE':
34 1
                $request->setName(sprintf('Delete %s', $shortName));
35 1
                break;
36 2
            case 'GET':
37 2
                if (!preg_match(UriRequestParser::PATTERN, $request->getUrl())) {
38 1
                    $shortName = Inflector::pluralize($shortName).' list';
39 1
                }
40 2
                $request->setName(sprintf('Get %s', $shortName));
41 2
                break;
42 6
        }
43 6
    }
44
45
    /**
46
     * {@inheritdoc}
47
     */
48 2
    public function supports(Request $request)
49
    {
50 2
        return null === $request->getName();
51
    }
52
}
53