Class: BrBoleto::Boleto::Bradesco

Inherits:
Base show all
Defined in:
lib/br_boleto/boleto/bradesco.rb

Overview

Implementação de emissão de boleto bancário pelo Banco Bradesco.

Documentação Implementada

A documentação na qual essa implementação foi baseada está localizada na pasta ‘documentacoes_dos_boletos/bradesco’ dentro dessa biblioteca.

Direct Known Subclasses

Unicred

Instance Attribute Summary

Attributes inherited from Base

#aceite, #codigo_moeda, #data_documento, #data_vencimento, #especie, #especie_documento, #instrucoes1, #instrucoes2, #instrucoes3, #instrucoes4, #instrucoes5, #instrucoes6, #local_pagamento, #logo, #numero_documento, #parcelas, #valor_documento

Instance Method Summary collapse

Methods inherited from Base

#aceite_formatado, #codigo_de_barras, #codigo_de_barras_padrao, #data_vencimento_deve_ser_uma_data, #digito_codigo_de_barras, #fator_de_vencimento, #linha_digitavel, #persisted?, #to_partial_path, #valid_valor_documento_tamanho_maximo, #valor_formatado_para_codigo_de_barras

Methods included from HavePagador

#pagador, #pagador=

Methods included from HaveConta

#conta, #conta=

Methods inherited from ActiveModelBase

#assign_attributes, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Method Details

#codigo_de_barras_do_bancoObject

Código de barras do banco

 ___________________________________________________________________________________________________
| Posição  | Tamanho | Descrição                                                                   |
|----------|---------|-----------------------------------------------------------------------------|
| 20-23    |  04     | Agência (Sem o digito, completar com zeros a esquerda se necessário)        |
| 24-25    |  02     | Carteira                                                                    |
| 26-36    |  11     | Número do Documento - Número do Nosso Número (Sem o digito verificador)     |
| 37-43    |  07     | Conta Corrente (Sem o digito, completar com zeros a esquerda se necessário) |
| 44       |  01     | Zero                                                                        |
----------------------------------------------------------------------------------------------------


80
81
82
83
# File 'lib/br_boleto/boleto/bradesco.rb', line 80

def codigo_de_barras_do_banco
	conta_corrente = "#{conta.conta_corrente}".adjust_size_to(7, '0', :right)
	"#{conta.agencia}#{conta.carteira}#{numero_documento}#{conta_corrente}0"
end

#conta_classObject



11
12
13
# File 'lib/br_boleto/boleto/bradesco.rb', line 11

def conta_class
	BrBoleto::Conta::Bradesco
end

#default_valuesObject

Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PAGÁVEL PREFERENCIALMENTE NA REDE BRADESCO OU NO BRADESCO EXPRESSO”



42
43
44
45
46
# File 'lib/br_boleto/boleto/bradesco.rb', line 42

def default_values
	super.merge({
		:local_pagamento   => 'PAGÁVEL PREFERENCIALMENTE NA REDE BRADESCO OU NO BRADESCO EXPRESSO'
	})
end

#digito_verificador_nosso_numeroString

Para o cálculo do dígito, será necessário acrescentar o número da carteira à esquerda antes do Nosso Número (número do documento), e aplicar o módulo 11, com fatores de 2 a 7.

Returns:

  • (String)

    Retorno do cálculo do módulo 11 na base 7 (2,3,4,5,6,7)



64
65
66
# File 'lib/br_boleto/boleto/bradesco.rb', line 64

def digito_verificador_nosso_numero
	BrBoleto::Calculos::Modulo11FatorDe2a7.new("#{conta.carteira}#{numero_documento}")
end

#nosso_numeroObject

Nosso Número descrito na documentação (Pag. 36). Carteira com 2 (dois) caracteres / N.Número com 11 (onze) caracteres + digito. Exemplo: 99 / 99999999999-D



51
52
53
# File 'lib/br_boleto/boleto/bradesco.rb', line 51

def nosso_numero
	"#{conta.carteira}/#{numero_documento}-#{digito_verificador_nosso_numero}"
end

#nosso_numero_retornoObject

No arquivo de retorno a carteira não vem junto com o nosso núemro



57
58
59
# File 'lib/br_boleto/boleto/bradesco.rb', line 57

def nosso_numero_retorno
	"#{nosso_numero}".gsub(/[^\w\d]/i, '')[2..-1]
end

#valid_carteira_inclusionObject



20
21
22
# File 'lib/br_boleto/boleto/bradesco.rb', line 20

def valid_carteira_inclusion
	%w[06 09 19 21 22]
end

#valid_conta_corrente_maximumObject

Tamanho máximo de uma conta corrente no Banco Bradesco



30
31
32
# File 'lib/br_boleto/boleto/bradesco.rb', line 30

def valid_conta_corrente_maximum 
	7
end

#valid_convenio_maximumObject

Tamanho máximo para o codigo_cedente/Convênio



25
26
27
# File 'lib/br_boleto/boleto/bradesco.rb', line 25

def valid_convenio_maximum 
	7
end

#valid_convenio_requiredObject

codigo_cedente/Convênio deve ser obrigatório



35
36
37
# File 'lib/br_boleto/boleto/bradesco.rb', line 35

def valid_convenio_required
	true
end

#valid_numero_documento_maximumObject

VALIDAÇÕES DINÂMICAS #################



16
17
18
# File 'lib/br_boleto/boleto/bradesco.rb', line 16

def valid_numero_documento_maximum
	11
end