Passed
Push — master ( aeaa07...061ddd )
by Thiago
03:33
created

FileNameCreator   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 33
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 11
c 1
b 0
f 0
dl 0
loc 33
ccs 5
cts 5
cp 1
rs 10
wmc 1

1 Method

Rating   Name   Duplication   Size   Complexity  
A create() 0 9 1
1
<?php
2
3
4
namespace MrPrompt\BoletoCaixaEconomicaFederal\Shipment;
5
6
use DateTime;
7
use MrPrompt\ShipmentCommon\Base\Customer;
8
use MrPrompt\ShipmentCommon\Base\Sequence;
9
use MrPrompt\ShipmentCommon\Util\Number;
10
11
/**
12
 * Class FileNameCreator
13
 * @package MrPrompt\BoletoCaixaEconomicaFederal\Shipment
14
 */
15
class FileNameCreator
16
{
17
    /**
18
     * File name template
19
     *
20
     * @var string
21
     */
22
    const TEMPLATE_GENERATED = '{CLIENT}_{DDMMYYYY}_{SEQUENCE}.HTML';
23
24
    /**
25
     * @var array
26
     */
27
    private $search = [
28
        '{CLIENT}',
29
        '{DDMMYYYY}',
30
        '{SEQUENCE}'
31
    ];
32
33
    /**
34
     * @param Customer $customer
35
     * @param Sequence $sequence
36
     * @param DateTime $now
37
     * @return mixed
38
     */
39 1
    public function create(Customer $customer, Sequence $sequence, DateTime $now)
40
    {
41
        $replace = [
42 1
            Number::zeroFill($customer->getCode(), 6, Number::FILL_LEFT),
43 1
            $now->format('dmY'),
44 1
            Number::zeroFill($sequence->getValue(), 5, Number::FILL_LEFT),
45
        ];
46
47 1
        return str_replace($this->search, $replace, self::TEMPLATE_GENERATED);
48
    }
49
}