Class: BoletoBancario::Calculos::Modulo11FatorDe9a2RestoX
- Inherits:
-
Modulo11FatorDe9a2
- Object
- String
- Modulo11
- Modulo11FatorDe9a2
- BoletoBancario::Calculos::Modulo11FatorDe9a2RestoX
- Defined in:
- lib/boleto_bancario/calculos/modulo11_fator_de9a2_resto_x.rb
Overview
Módulo 11 Fator de 9 a 2 - Resto 10, sendo X
Essa classe difere da outra com Modulo11FatorDe9a2, no momento de verificar o resto da divisão por 11.
Para mais detalhes veja a classe Modulo11FatorDe9a2.
Exemplo 10 como resto da divisão
Considerando o seguinte número: ‘100008’.
1) Multiplicando a seqüência de multiplicadores:
1 0 0 0 0 8
* * * * * *
4 5 6 7 8 9
2) Soma-se o resultado dos produtos obtidos no item “1” acima:
4 + 0 + 0 + 0 + 0 + 72
# => 76
3) Determina-se o resto da Divisão:
76 % 11
# => 10
4) Quando o resultado for ‘10’, o dígito será:
resultado == 10
# => 'X' =============> Resultado final retornado.
Instance Attribute Summary
Attributes inherited from Modulo11
Instance Method Summary collapse
-
#calculate ⇒ Fixnum
Calcula o número pelos fatores de multiplicação de 9 a 2.
Methods inherited from Modulo11FatorDe9a2
Methods inherited from Modulo11
#fatores, #initialize, #mod_division, #total
Constructor Details
This class inherits a constructor from BoletoBancario::Calculos::Modulo11
Instance Method Details
#calculate ⇒ Fixnum
Calcula o número pelos fatores de multiplicação de 9 a 2. Depois calcula o resto da divisão por 11. Se o resultado desse cálculo for igual a 10, então o DAC = X. Se o resultado desse cálculo for menor que 10, retornar o resultado.
46 47 48 49 50 51 52 |
# File 'lib/boleto_bancario/calculos/modulo11_fator_de9a2_resto_x.rb', line 46 def calculate if mod_division.equal?(10) 'X' else mod_division end end |