lib/brcobranca/boleto/itau.rb in brcobranca-8.0.0 vs lib/brcobranca/boleto/itau.rb in brcobranca-9.0.0
- old
+ new
@@ -1,18 +1,17 @@
# -*- encoding: utf-8 -*-
#
-require 'active_support/core_ext/object/with_options'
module Brcobranca
module Boleto
class Itau < Base # Banco Itaú
# Usado somente em carteiras especiais com registro para complementar o número do cocumento
attr_reader :seu_numero
validates_length_of :agencia, maximum: 4, message: 'deve ser menor ou igual a 4 dígitos.'
validates_length_of :convenio, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
- validates_length_of :numero_documento, maximum: 8, message: 'deve ser menor ou igual a 8 dígitos.'
+ validates_length_of :nosso_numero, maximum: 8, message: 'deve ser menor ou igual a 8 dígitos.'
validates_length_of :conta_corrente, maximum: 5, message: 'deve ser menor ou igual a 5 dígitos.'
with_options if: :usa_seu_numero? do |v|
v.validates_length_of :seu_numero, maximum: 7, message: 'deve ser menor ou igual a 7 dígitos.'
end
# Nova instancia do Itau
@@ -41,12 +40,12 @@
@conta_corrente = valor.to_s.rjust(5, '0') if valor
end
# Número seqüencial utilizado para identificar o boleto.
# @return [String] 8 caracteres numéricos.
- def numero_documento=(valor)
- @numero_documento = valor.to_s.rjust(8, '0') if valor
+ def nosso_numero=(valor)
+ @nosso_numero = valor.to_s.rjust(8, '0') if valor
end
# Número seqüencial utilizado para identificar o boleto.
# @return [String] 7 caracteres numéricos.
def seu_numero=(valor)
@@ -65,13 +64,13 @@
# dados "CARTEIRA/NOSSO NUMERO".
#
# @return [String] 1 caracteres numéricos.
def nosso_numero_dv
if %w(112 126 131 146 150 168).include?(carteira)
- "#{carteira}#{numero_documento}".modulo10
+ "#{carteira}#{nosso_numero}".modulo10
else
- "#{agencia}#{conta_corrente}#{carteira}#{numero_documento}".modulo10
+ "#{agencia}#{conta_corrente}#{carteira}#{nosso_numero}".modulo10
end
end
# Calcula o dígito verificador para conta corrente do Itau.
# Retorna apenas o dígito verificador da conta ou nil caso seja impossível calcular.
@@ -82,11 +81,11 @@
# Nosso número para exibir no boleto.
# @return [String]
# @example
# boleto.nosso_numero_boleto #=> "175/12345678-4"
def nosso_numero_boleto
- "#{carteira}/#{numero_documento}-#{nosso_numero_dv}"
+ "#{carteira}/#{nosso_numero}-#{nosso_numero_dv}"
end
# Agência + conta corrente do cliente para exibir no boleto.
# @return [String]
# @example
@@ -126,13 +125,13 @@
#
# @return [String] 25 caracteres numéricos.
def codigo_barras_segunda_parte
case carteira.to_i
when 198, 106, 107, 122, 142, 143, 195, 196
- dv = "#{carteira}#{numero_documento}#{seu_numero}#{convenio}".modulo10
- "#{carteira}#{numero_documento}#{seu_numero}#{convenio}#{dv}0"
+ dv = "#{carteira}#{nosso_numero}#{seu_numero}#{convenio}".modulo10
+ "#{carteira}#{nosso_numero}#{seu_numero}#{convenio}#{dv}0"
else
- "#{carteira}#{numero_documento}#{nosso_numero_dv}#{agencia}#{conta_corrente}#{agencia_conta_corrente_dv}000"
+ "#{carteira}#{nosso_numero}#{nosso_numero_dv}#{agencia}#{conta_corrente}#{agencia_conta_corrente_dv}000"
end
end
end
end
end