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

Value::validate()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 12
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
eloc 7
c 0
b 0
f 0
dl 0
loc 12
rs 10
cc 2
nc 2
nop 1
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