Class: BrBoleto::Conta::Base

Inherits:
ActiveModelBase show all
Includes:
BrBoleto::Calculos, Helper::DefaultCodes
Defined in:
lib/br_boleto/conta/base.rb

Direct Known Subclasses

BancoBrasil, Bradesco, Caixa, Cecred, Itau, Santander, Sicoob, Sicredi

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helper::DefaultCodes

#codigos_movimento_retorno_para_ocorrencia_A_240, #codigos_movimento_retorno_para_ocorrencia_A_400, #codigos_movimento_retorno_para_ocorrencia_B_240, #codigos_movimento_retorno_para_ocorrencia_B_400, #codigos_movimento_retorno_para_ocorrencia_C_240, #codigos_movimento_retorno_para_ocorrencia_C_400, #codigos_movimento_retorno_para_ocorrencia_D_240, #codigos_movimento_retorno_para_ocorrencia_D_400, #default_codigo_juros, #default_codigo_multa, #equivalent_codigo_desconto, #equivalent_codigo_juros, #equivalent_codigo_moeda_240, #equivalent_codigo_moeda_400, #equivalent_codigo_motivo_ocorrencia_A_240, #equivalent_codigo_motivo_ocorrencia_A_400, #equivalent_codigo_motivo_ocorrencia_B_240, #equivalent_codigo_motivo_ocorrencia_B_400, #equivalent_codigo_motivo_ocorrencia_C_240, #equivalent_codigo_motivo_ocorrencia_C_400, #equivalent_codigo_motivo_ocorrencia_D_240, #equivalent_codigo_motivo_ocorrencia_D_400, #equivalent_codigo_movimento_remessa_240, #equivalent_codigo_movimento_remessa_400, #equivalent_codigo_movimento_retorno_240, #equivalent_codigo_movimento_retorno_400, #equivalent_codigo_multa, #equivalent_codigo_ocorrencia_pagador_240, #equivalent_codigo_ocorrencia_pagador_400, #equivalent_codigo_protesto_240, #equivalent_codigo_protesto_400, #equivalent_distribuicao_boleto, #equivalent_especie_titulo_240, #equivalent_especie_titulo_400, #equivalent_identificacao_emissao_240, #equivalent_identificacao_emissao_400, #equivalent_tipo_cobranca_240, #equivalent_tipo_cobranca_400, #equivalent_tipo_impressao_240, #equivalent_tipo_impressao_400, #get_codigo_desconto, #get_codigo_juros, #get_codigo_moeda, #get_codigo_motivo_ocorrencia, #get_codigo_movimento_remessa, #get_codigo_movimento_retorno, #get_codigo_multa, #get_codigo_ocorrencia_pagador, #get_codigo_protesto, #get_distribuicao_boleto, #get_especie_titulo, #get_identificacao_emissao, #get_tipo_cobranca, #get_tipo_impressao

Methods inherited from ActiveModelBase

#assign_attributes, #default_values, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Attribute Details

#agenciaObject

Número da agência. Campo auto explicativo.



85
86
87
# File 'lib/br_boleto/conta/base.rb', line 85

def agencia
  @agencia
end

#agencia_dvObject

Digito verificador da agência



87
88
89
# File 'lib/br_boleto/conta/base.rb', line 87

def agencia_dv
  @agencia_dv
end

#carteiraObject

Uma carteira de cobrança define o modo como o boleto é tratado pelo banco. Existem duas grandes divisões: carteiras não registradas e carteiras registradas.

Carteiras Não Registradas

Significa que não há registro no banco sobre os boletos gerados, ou seja, você não precisa notificar o banco a cada boleto gerado. Neste caso a cobrança de taxa bancária é feita por boleto pago.

Carteiras Registradas

Você precisa notificar o banco sobre todos os boletos gerados, em geral enviando um arquivo chamado “arquivo de remessa”. Neste caso, normalmente existe uma taxa bancária por boleto gerado, independentemente de ele ser pago. Nestas carteiras também se encaixam serviços bancários adicionais, como protesto em caso de não pagamento.

Campo Obrigatório



46
47
48
# File 'lib/br_boleto/conta/base.rb', line 46

def carteira
  @carteira
end

#codigo_carteiraObject

Cógigo da carteira / Tipo de Cobrança Código adotado pela FEBRABAN, para identificar a característica dos títulos dentro das modalidades de cobrança existentes no banco



52
53
54
# File 'lib/br_boleto/conta/base.rb', line 52

def codigo_carteira
  @codigo_carteira
end

#conta_correnteObject

Número da Conta corrente. Campo auto explicativo.



90
91
92
# File 'lib/br_boleto/conta/base.rb', line 90

def conta_corrente
  @conta_corrente
end

#conta_corrente_dvObject

Returns the value of attribute conta_corrente_dv.



91
92
93
# File 'lib/br_boleto/conta/base.rb', line 91

def conta_corrente_dv
  @conta_corrente_dv
end

#convenioObject

Código do Convênio é o código do cliente, fornecido pelo banco.

Alguns bancos, dependendo do banco e da carteira, precisam desse campo preenchido. A nomenclatura para essa informação varia em cada banco, pode ser também: codigo_beneficiario OU codigo_cedente OU contrato Por isso foi criado um alias para que cada um utilize a nomenclatura que preferir.



68
69
70
# File 'lib/br_boleto/conta/base.rb', line 68

def convenio
  @convenio
end

#convenio_dvObject

Returns the value of attribute convenio_dv.



69
70
71
# File 'lib/br_boleto/conta/base.rb', line 69

def convenio_dv
  @convenio_dv
end

#cpf_cnpjObject

Utiliado para sempre retornar apenas os numero dos CPF/CNPJ EX:

self.cpf_cnpj = 074.756.887-98
puts self. cpf_cnpj
   ~> '07475688798'


26
27
28
# File 'lib/br_boleto/conta/base.rb', line 26

def cpf_cnpj
  @cpf_cnpj
end

#enderecoObject

Deve ser informado o endereço completo do Cedente.

Campo Obrigatório



81
82
83
# File 'lib/br_boleto/conta/base.rb', line 81

def endereco
  @endereco
end

#modalidadeObject

FORMATAÇÂO DE VALORES CONFORME TAMANHO ########################



59
60
61
# File 'lib/br_boleto/conta/base.rb', line 59

def modalidade
  @modalidade
end

#nome_bancoObject

Nome do banco.



97
98
99
# File 'lib/br_boleto/conta/base.rb', line 97

def nome_banco
  @nome_banco
end

#razao_socialObject

Nome/Razão social que aparece no campo ‘Cedente’ no boleto.



23
24
25
# File 'lib/br_boleto/conta/base.rb', line 23

def razao_social
  @razao_social
end

#valid_agencia_lengthObject

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



100
101
102
# File 'lib/br_boleto/conta/base.rb', line 100

def valid_agencia_length
  @valid_agencia_length
end

#valid_carteira_inclusionObject

Returns the value of attribute valid_carteira_inclusion.



121
122
123
# File 'lib/br_boleto/conta/base.rb', line 121

def valid_carteira_inclusion
  @valid_carteira_inclusion
end

#valid_carteira_lengthObject

> CARTEIRA



117
118
119
# File 'lib/br_boleto/conta/base.rb', line 117

def valid_carteira_length
  @valid_carteira_length
end

#valid_carteira_maximumObject

Returns the value of attribute valid_carteira_maximum.



119
120
121
# File 'lib/br_boleto/conta/base.rb', line 119

def valid_carteira_maximum
  @valid_carteira_maximum
end

#valid_carteira_minimumObject

Returns the value of attribute valid_carteira_minimum.



118
119
120
# File 'lib/br_boleto/conta/base.rb', line 118

def valid_carteira_minimum
  @valid_carteira_minimum
end

#valid_carteira_requiredObject

Returns the value of attribute valid_carteira_required.



120
121
122
# File 'lib/br_boleto/conta/base.rb', line 120

def valid_carteira_required
  @valid_carteira_required
end

#valid_codigo_carteira_lengthObject

> COD. CARTEIRA / TIPO DE COBRANÇA



129
130
131
# File 'lib/br_boleto/conta/base.rb', line 129

def valid_codigo_carteira_length
  @valid_codigo_carteira_length
end

#valid_codigo_carteira_requiredObject

Returns the value of attribute valid_codigo_carteira_required.



130
131
132
# File 'lib/br_boleto/conta/base.rb', line 130

def valid_codigo_carteira_required
  @valid_codigo_carteira_required
end

#valid_conta_corrente_lengthObject

> CONTA CORRENTE



135
136
137
# File 'lib/br_boleto/conta/base.rb', line 135

def valid_conta_corrente_length
  @valid_conta_corrente_length
end

#valid_conta_corrente_maximumObject

Returns the value of attribute valid_conta_corrente_maximum.



137
138
139
# File 'lib/br_boleto/conta/base.rb', line 137

def valid_conta_corrente_maximum
  @valid_conta_corrente_maximum
end

#valid_conta_corrente_minimumObject

Returns the value of attribute valid_conta_corrente_minimum.



136
137
138
# File 'lib/br_boleto/conta/base.rb', line 136

def valid_conta_corrente_minimum
  @valid_conta_corrente_minimum
end

#valid_conta_corrente_requiredObject

Returns the value of attribute valid_conta_corrente_required.



138
139
140
# File 'lib/br_boleto/conta/base.rb', line 138

def valid_conta_corrente_required
  @valid_conta_corrente_required
end

#valid_convenio_inclusionObject

Returns the value of attribute valid_convenio_inclusion.



150
151
152
# File 'lib/br_boleto/conta/base.rb', line 150

def valid_convenio_inclusion
  @valid_convenio_inclusion
end

#valid_convenio_lengthObject

> CONVÊNIO / CODIGO CEDENTE / CONTRATO / CODIGO BENEFICIÁRIO



146
147
148
# File 'lib/br_boleto/conta/base.rb', line 146

def valid_convenio_length
  @valid_convenio_length
end

#valid_convenio_maximumObject

Returns the value of attribute valid_convenio_maximum.



148
149
150
# File 'lib/br_boleto/conta/base.rb', line 148

def valid_convenio_maximum
  @valid_convenio_maximum
end

#valid_convenio_minimumObject

Returns the value of attribute valid_convenio_minimum.



147
148
149
# File 'lib/br_boleto/conta/base.rb', line 147

def valid_convenio_minimum
  @valid_convenio_minimum
end

#valid_convenio_requiredObject

Returns the value of attribute valid_convenio_required.



149
150
151
# File 'lib/br_boleto/conta/base.rb', line 149

def valid_convenio_required
  @valid_convenio_required
end

#valid_endereco_requiredObject

> ENDEREÇO



169
170
171
# File 'lib/br_boleto/conta/base.rb', line 169

def valid_endereco_required
  @valid_endereco_required
end

#valid_modalidade_inclusionObject

Returns the value of attribute valid_modalidade_inclusion.



109
110
111
# File 'lib/br_boleto/conta/base.rb', line 109

def valid_modalidade_inclusion
  @valid_modalidade_inclusion
end

#valid_modalidade_lengthObject

> Modalidade



105
106
107
# File 'lib/br_boleto/conta/base.rb', line 105

def valid_modalidade_length
  @valid_modalidade_length
end

#valid_modalidade_maximumObject

Returns the value of attribute valid_modalidade_maximum.



107
108
109
# File 'lib/br_boleto/conta/base.rb', line 107

def valid_modalidade_maximum
  @valid_modalidade_maximum
end

#valid_modalidade_minimumObject

Returns the value of attribute valid_modalidade_minimum.



106
107
108
# File 'lib/br_boleto/conta/base.rb', line 106

def valid_modalidade_minimum
  @valid_modalidade_minimum
end

#valid_modalidade_requiredObject

Returns the value of attribute valid_modalidade_required.



108
109
110
# File 'lib/br_boleto/conta/base.rb', line 108

def valid_modalidade_required
  @valid_modalidade_required
end

Instance Method Details

#agencia_codigo_cedenteString

Agência, código do cedente ou nosso número. Esse campo é específico para cada banco.

Returns:

  • (String)
    • Corresponde aos campos “Agencia / Codigo do Cedente-Digito Verificador”.



249
250
251
# File 'lib/br_boleto/conta/base.rb', line 249

def agencia_codigo_cedente
	"#{agencia} / #{codigo_cedente}-#{codigo_cedente_dv}"
end

#carteira_formatadaString

Embora o padrão seja mostrar o número da carteira no boleto, alguns bancos requerem que seja mostrado um valor diferente na carteira. Para essas exceções, sobrescreva esse método na subclasse.

Returns:

  • (String)

    retorna o número da carteira



269
270
271
# File 'lib/br_boleto/conta/base.rb', line 269

def carteira_formatada
	carteira
end

#codigo_bancoString

Código do Banco. Esse campo é específico para cada banco.

Returns:

  • (String)

    Corresponde ao código do banco.

Raises:

  • (NotImplementedError)


218
219
220
# File 'lib/br_boleto/conta/base.rb', line 218

def codigo_banco
	raise NotImplementedError.new("Not implemented #codigo_banco in #{self}.")
end

#codigo_banco_dvString

Dígito do código do banco. Esse campo é específico para cada banco.

Returns:

  • (String)

    Corresponde ao dígito do código do banco.

Raises:

  • (NotImplementedError)

    Precisa implementar nas subclasses.



233
234
235
# File 'lib/br_boleto/conta/base.rb', line 233

def codigo_banco_dv
	raise NotImplementedError.new("Not implemented #codigo_banco_dv in #{self}.")
end

#codigo_banco_formatadoString

Formata o código do banco com o dígito do código do banco. Método usado para o campo de código do banco localizado no cabeçalho do boleto.

Returns:

  • (String)


241
242
243
# File 'lib/br_boleto/conta/base.rb', line 241

def codigo_banco_formatado
	"#{codigo_banco}-#{codigo_banco_dv}"
end

#cpf_cnpj_formatadoObject

Utiliado para sempre retornar numero do CPF/CNPJ com a formatação correta EX:

self.cpf_cnpj = 07475688798
puts self.cpf_cnpj_formatado
   ~> '074.756.887-98'


288
289
290
# File 'lib/br_boleto/conta/base.rb', line 288

def cpf_cnpj_formatado
	BrBoleto::Helper::CpfCnpj.new(cpf_cnpj).com_formatacao
end

#cpf_cnpj_formatado_com_labelObject

Retorna o cpf ou cnpj com a formatação de pontos com label EX:

'CNPJ: 12.345.678/0001-88'
'CPF:  074.345.456-83'


296
297
298
# File 'lib/br_boleto/conta/base.rb', line 296

def cpf_cnpj_formatado_com_label
	BrBoleto::Helper::CpfCnpj.new(cpf_cnpj).formatado_com_label
end

#tipo_cobrancaObject

Código da Carteira ou Tipo de Cobrança Código adotado pela FEBRABAN, para identificar a característica dos títulos dentro das modalidades de cobrança existentes no banco



256
257
258
259
260
261
262
# File 'lib/br_boleto/conta/base.rb', line 256

def tipo_cobranca
	if codigo_carteira.present? 
		codigo_carteira 
	elsif carteira.present? 
		carteira.first 
	end
end

#tipo_cpf_cnpj(tamanho = 2) ⇒ Object



300
301
302
# File 'lib/br_boleto/conta/base.rb', line 300

def tipo_cpf_cnpj(tamanho = 2)
	BrBoleto::Helper::CpfCnpj.new(cpf_cnpj).tipo_documento(tamanho)
end

#versao_layout_arquivo_cnab_240Object

Versões de layout para CNAB 240

Raises:

  • (NotImplementedError)


305
306
307
# File 'lib/br_boleto/conta/base.rb', line 305

def versao_layout_arquivo_cnab_240
	raise NotImplementedError.new("Not implemented #versao_layout_arquivo_cnab_240 in #{self}.")
end

#versao_layout_lote_cnab_240Object

Raises:

  • (NotImplementedError)


308
309
310
# File 'lib/br_boleto/conta/base.rb', line 308

def versao_layout_lote_cnab_240
	raise NotImplementedError.new("Not implemented #versao_layout_lote_cnab_240 in #{self}.")
end