FixedLengthRandomStringValue   A
last analyzed

Complexity

Total Complexity 5

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 5
c 1
b 0
f 1
lcom 1
cbo 1
dl 0
loc 23
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getRequiredLength() 0 4 1
A generate() 0 4 1
A isValid() 0 4 3
1
<?php
2
3
/*
4
 * This file is part of the tmilos/value package.
5
 *
6
 * (c) Milos Tomic <[email protected]>
7
 *
8
 * This source file is subject to the MIT license that is bundled
9
 * with this source code in the file LICENSE.
10
 */
11
12
namespace Tmilos\Value\Spec;
13
14
use Tmilos\Value\AbstractValue;
15
16
class FixedLengthRandomStringValue extends AbstractValue
17
{
18
    /**
19
     * @return int
20
     */
21
    protected static function getRequiredLength()
22
    {
23
        return 36;
24
    }
25
26
    /**
27
     * @return static
28
     */
29
    public static function generate()
30
    {
31
        return new static(bin2hex(random_bytes(static::getRequiredLength() / 2)));
32
    }
33
34
    public static function isValid($value)
35
    {
36
        return is_string($value) && strlen($value) == static::getRequiredLength() && trim($value) === $value;
37
    }
38
}
39