Passed
Pull Request — master (#921)
by
unknown
08:01
created

DocumentsException::replaceMsg()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 2
crap 1
1
<?php
2
3
namespace NFePHP\NFe\Exception;
4
5
/**
6
 * @category   NFePHP
7
 * @package    NFePHP\NFe\Exception
8
 * @copyright  Copyright (c) 2008-2019
9
 * @license    http://www.gnu.org/licenses/lesser.html LGPL v3
10
 * @author     Roberto L. Machado <linux.rlm at gmail dot com>
11
 * @link       http://github.com/nfephp-org/sped-common for the canonical source repository
12
 */
13
14
class DocumentsException extends \InvalidArgumentException implements ExceptionInterface
15
{
16
    public static $list = [
17
        0 => "Este documento [{{msg}}] não recebe protocolos. Confira a ordem dos parâmetros.",
18
        1 => "O arquivo indicado como NFe não está protocolado ou não é uma NFe!!",
19
        2 => "O arquivo indicado como B2B não contêm a tagB2B indicada!!",
20
        3 => "O documento de resposta não contêm o NODE {{msg}}.",
21
        4 => "O documento de resposta relata um erro {{msg}}.",
22
        5 => "Os documentos se referem a diferentes objetos. {{msg}}.",
23
        6 => "O argumento passado não é um XML válido.",
24
        7 => "Este xml não pertence ao projeto SPED-NFe.",
25
        8 => "A configuração (config.json) não é válido {{msg}}.",
26
        9 => "Falta o CSC no config.json.",
27
        10 => "Falta o CSCId no config.json.",
28
        11 => "Falta a URL do serviço NfeConsultaQR.",
29
        12 => "O TXT não representa uma NFe",
30
        13 => "O numero de notas indicado na primeira linha do TXT é diferente do numero total de notas do txt.",
31
        14 => "Falha na validação do TXT:\n {{msg}}.",
32
        15 => "Um TXT de NFe deve ser passado como parâmetro, e nada foi passado.",
33
        16 => "O txt tem um campo não definido {{msg}}",
34
        17 => "O txt não está no formato adequado.",
35
        18 => "Houve rejeição! {{msg}}",
36
    ];
37
38 18
    public static function wrongDocument($code, $msg = '')
39
    {
40 18
        $msg = self::replaceMsg(self::$list[$code], $msg);
41 18
        return new static($msg);
42
    }
43
44 18
    private static function replaceMsg($input, $msg)
45
    {
46 18
        return str_replace('{{msg}}', $msg, $input);
47
    }
48
}
49