InvoiceReferenceGenerator   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 12
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
eloc 5
dl 0
loc 12
ccs 6
cts 6
cp 1
rs 10
c 0
b 0
f 0
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A generate() 0 4 1
A generateRandomCode() 0 4 1
1
<?php
2
3
namespace NeptuneSoftware\Invoice;
4
5
use Carbon\Carbon;
6
7
class InvoiceReferenceGenerator
8
{
9 50
    public static function generate()
10
    {
11 50
        $date = Carbon::now();
12 50
        return $date->format('Y-m-d') . '-' . self::generateRandomCode();
13
    }
14
15 50
    protected static function generateRandomCode()
16
    {
17 50
        $pool = 'ABCDEFGHJKLMNPQRSTUVWXYZ23456789';
18 50
        return substr(str_shuffle(str_repeat($pool, 6)), 0, 6);
19
    }
20
}
21