Module: VerificadorBoletoBr::Calculus::Module10
- Included in:
- Slip::Arrecadation::CodeAssembly, Slip::Arrecadation::Validity, Slip::Bank::CodeAssembly, Slip::Bank::Validity
- Defined in:
- lib/verificador_boleto_br/calculus/module10.rb
Instance Method Summary collapse
Instance Method Details
#modulo10(str) ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/verificador_boleto_br/calculus/module10.rb', line 4 def modulo10(str) str = str.chars.reverse i = 2 sum = 0 res = 0 str.each do |char| res = char.to_i * i sum += res > 9 ? (res - 9) : res i = i == 2 ? 1 : 2 end if (sum % 10) == 0 0 else 10 - (sum % 10) end end |