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