Module: Brcobranca::Util::Itau
- Defined in:
- lib/brcobranca/util/itau.rb
Overview
Regras de calculo de digito verificador (DAC) compartilhadas entre as implementacoes de Boleto e Remessa/Retorno CNAB do Itau (341), para evitar duplicacao e manter as duas em sincronia.
Constant Summary collapse
- CARTEIRAS_SEM_AGENCIA_CONTA =
Carteiras cujo DAC do nosso numero e calculado apenas com "carteira/nosso_numero", sem agencia/conta.
%w[112 126 131 146 150 168].freeze
Class Method Summary collapse
-
.agencia_conta_corrente_dv(agencia, conta_corrente) ⇒ Integer
Digito verificador (modulo 10) da agencia/conta corrente.
-
.nosso_numero_dv(agencia, conta_corrente, carteira, nosso_numero) ⇒ Integer
Digito verificador (modulo 10) do nosso numero.
Class Method Details
.agencia_conta_corrente_dv(agencia, conta_corrente) ⇒ Integer
Digito verificador (modulo 10) da agencia/conta corrente.
18 19 20 |
# File 'lib/brcobranca/util/itau.rb', line 18 def agencia_conta_corrente_dv(agencia, conta_corrente) "#{agencia}#{conta_corrente}".modulo10 end |
.nosso_numero_dv(agencia, conta_corrente, carteira, nosso_numero) ⇒ Integer
Digito verificador (modulo 10) do nosso numero.
Para a grande maioria das carteiras, e calculado sobre "agencia/conta_corrente/carteira/nosso_numero". Excecao: carteiras em CARTEIRAS_SEM_AGENCIA_CONTA, calculado apenas sobre "carteira/nosso_numero".
30 31 32 33 34 35 36 |
# File 'lib/brcobranca/util/itau.rb', line 30 def nosso_numero_dv(agencia, conta_corrente, carteira, nosso_numero) if CARTEIRAS_SEM_AGENCIA_CONTA.include?(carteira.to_s) "#{carteira}#{nosso_numero}".modulo10 else "#{agencia}#{conta_corrente}#{carteira}#{nosso_numero}".modulo10 end end |