BancoCEF   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 47
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 2

Importance

Changes 4
Bugs 1 Features 0
Metric Value
wmc 4
c 4
b 1
f 0
lcom 1
cbo 2
dl 0
loc 47
rs 10

4 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 5 1
A getCodigoCompensacao() 0 4 1
A geraCodigoCompensacao() 0 8 1
A geraDVBanco() 0 6 1
1
<?php
2
namespace CbCaio\Boletos\Models\Bancos;
3
4
use CbCaio\Boletos\Calculators\Calculator;
5
use CbCaio\Boletos\Models\Bancos\Base\Banco;
6
7
class BancoCEF extends Banco
8
{
9
    protected $codigo_banco = 104;
10
    protected $codigo_moeda = 9;
11
    protected $codigo_compensacao;
12
13
    /**
14
     * 2 Digitos (modalidade_nosso_numero + emissao_boleto)
15
     */
16
    protected $nosso_numero_inicio;
17
18
    /**
19
     * Modalidade/Carteira de Cobran�a (1-Registrada/2-Sem Registro)
20
     *
21
     * @param int $modalidade
22
     * Emiss�o do boleto (4-Benefici�rio)
23
     * @param int $emissao
24
     */
25
    public function __construct($modalidade = 2, $emissao = 4)
26
    {
27
        $this->nosso_numero_inicio = $modalidade . $emissao;
28
        $this->codigo_compensacao  = $this->getCodigoCompensacao();
29
    }
30
31
32
    public function getCodigoCompensacao()
33
    {
34
        return $this->geraCodigoCompensacao();
35
    }
36
37
    private function geraCodigoCompensacao()
38
    {
39
        $dv                 = $this->geraDVBanco();
40
        $codigo_compensacao = $this->getCodigoBanco() . '-' . $dv;
41
42
        return "$codigo_compensacao";
43
44
    }
45
46
    private function geraDVBanco()
47
    {
48
        $parte1 = substr($this->getCodigoBanco(), 0, 3);
49
50
        return Calculator::calculaModulo11($parte1);
51
    }
52
53
}