lib/brcobranca/boleto/banco_real.rb in brcobranca-2.0.5 vs lib/brcobranca/boleto/banco_real.rb in brcobranca-2.0.6

- old
+ new

@@ -4,11 +4,23 @@ def initialize(campos={}) padrao={:carteira => "57", :banco => "356"} campos = padrao.merge!(campos) super(campos) end + + # Campo usado apenas na exibição no boleto + # Deverá ser sobreescrito para cada banco + def nosso_numero_boleto + "#{self.numero_documento}-#{self.nosso_numero_dv}" + end + # Campo usado apenas na exibição no boleto + # Deverá ser sobreescrito para cada banco + def agencia_conta_boleto + "#{self.agencia}-#{self.agencia_dv} / #{self.conta_corrente}-#{self.conta_corrente_dv}" + end + # CALCULO DO DIGITO: # APLICA-SE OS PESOS 2,1,2,1,.... AOS ALGARISMOS DO NUMERO COMPOSTO POR: # NUMERO DO BANCO : COM 7 DIGITOS P/ COBRANCA REGISTRADA # ATE 15 DIGITOS P/ COBRANCA SEM REGISTRO # CODIGO DA AGENCIA: 4 DIGITOS @@ -44,13 +56,15 @@ # Montagem é baseada no tipo de carteira, com registro e sem registro case self.carteira.to_i # Carteira sem registro when 57 numero_documento = self.numero_documento.zeros_esquerda(:tamanho => 13) - "#{banco}#{self.moeda}#{fator}#{valor_documento}#{agencia}#{conta}#{self.agencia_conta_corrente_nosso_numero_dv}#{numero_documento}" + codigo = "#{banco}#{self.moeda}#{fator}#{valor_documento}#{agencia}#{conta}#{self.agencia_conta_corrente_nosso_numero_dv}#{numero_documento}" + codigo.size == 43 ? codigo : nil else # TODO verificar com o banco, pois não consta na documentação numero_documento = self.numero_documento.zeros_esquerda(:tamanho => 7) - "#{banco}#{self.moeda}#{fator}#{valor_documento}000000#{agencia}#{conta}#{self.agencia_conta_corrente_nosso_numero_dv}#{numero_documento}" + codigo = "#{banco}#{self.moeda}#{fator}#{valor_documento}000000#{agencia}#{conta}#{self.agencia_conta_corrente_nosso_numero_dv}#{numero_documento}" + codigo.size == 43 ? codigo : nil end end end \ No newline at end of file