Completed
Push — master ( 013ef7...4604a2 )
by Radu
07:01
created

Value   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 27
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
wmc 2
eloc 12
c 0
b 0
f 0
dl 0
loc 27
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A validate() 0 12 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace WebServCo\Framework\Environment;
6
7
final class Value
8
{
9
    // Development - local
10
    public const DEVELOPMENT = 'development';
11
12
    // Test, QC
13
    public const TESTING = 'testing';
14
15
    // Staging, Model, Pre, Demo
16
    // Mirror of production environment
17
    public const STAGING = 'staging';
18
19
    // Production, Live
20
    public const PRODUCTION = 'production';
21
22
    public static function validate(string $value): bool
23
    {
24
        if (
25
            !\in_array(
26
                $value,
27
                [Value::DEVELOPMENT, Value::TESTING, Value::STAGING, Value::PRODUCTION],
28
                true,
29
            )
30
        ) {
31
            throw new \WebServCo\Framework\Exceptions\EnvironmentException('Invalid environment value.');
32
        }
33
        return true;
34
    }
35
}
36