VisibilityGenerator   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 20
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 4
lcom 0
cbo 2
dl 0
loc 20
ccs 5
cts 5
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A generate() 0 12 4
1
<?php
2
3
namespace Leaditin\Code\Generator;
4
5
use Leaditin\Code\Visibility;
6
7
/**
8
 * @package Leaditin\Code
9
 * @author Igor Vuckovic <[email protected]>
10
 * @license MIT
11
 */
12
class VisibilityGenerator extends Generator
13
{
14
    /**
15
     * @param Visibility $visibility
16
     *
17
     * @return string
18
     */
19 3
    public function generate(Visibility $visibility): string
20
    {
21 3
        switch ($visibility->visibility()) {
22
            case Visibility::VISIBILITY_PRIVATE:
23 1
                return 'private';
24
            case Visibility::VISIBILITY_PROTECTED:
25 1
                return 'protected';
26
            case Visibility::VISIBILITY_PUBLIC:
27
            default:
28 1
                return 'public';
29
        }
30
    }
31
}
32