Class: BrBoleto::Conta::Base

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

Direct Known Subclasses

Caixa, Sicoob

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Helper::DefaultCodes

#equivalent_especie_titulo, #get_especie_titulo

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.



77
78
79
# File 'lib/br_boleto/conta/base.rb', line 77

def agencia
  @agencia
end

#agencia_dvObject

Digito verificador da agência



79
80
81
# File 'lib/br_boleto/conta/base.rb', line 79

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

#conta_correnteObject

Número da Conta corrente. Campo auto explicativo.



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

def conta_corrente
  @conta_corrente
end

#conta_corrente_dvObject

Returns the value of attribute conta_corrente_dv.



83
84
85
# File 'lib/br_boleto/conta/base.rb', line 83

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.



62
63
64
# File 'lib/br_boleto/conta/base.rb', line 62

def convenio
  @convenio
end

#convenio_dvObject

Returns the value of attribute convenio_dv.



63
64
65
# File 'lib/br_boleto/conta/base.rb', line 63

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



73
74
75
# File 'lib/br_boleto/conta/base.rb', line 73

def endereco
  @endereco
end

#modalidadeObject

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



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

def modalidade
  @modalidade
end

#nome_bancoObject

Nome do banco.



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

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 ###############################



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

def valid_agencia_length
  @valid_agencia_length
end

#valid_carteira_inclusionObject

Returns the value of attribute valid_carteira_inclusion.



113
114
115
# File 'lib/br_boleto/conta/base.rb', line 113

def valid_carteira_inclusion
  @valid_carteira_inclusion
end

#valid_carteira_lengthObject

> CARTEIRA



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

def valid_carteira_length
  @valid_carteira_length
end

#valid_carteira_maximumObject

Returns the value of attribute valid_carteira_maximum.



111
112
113
# File 'lib/br_boleto/conta/base.rb', line 111

def valid_carteira_maximum
  @valid_carteira_maximum
end

#valid_carteira_minimumObject

Returns the value of attribute valid_carteira_minimum.



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

def valid_carteira_minimum
  @valid_carteira_minimum
end

#valid_carteira_requiredObject

Returns the value of attribute valid_carteira_required.



112
113
114
# File 'lib/br_boleto/conta/base.rb', line 112

def valid_carteira_required
  @valid_carteira_required
end

#valid_conta_corrente_lengthObject

> CONTA CORRENTE



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

def valid_conta_corrente_length
  @valid_conta_corrente_length
end

#valid_conta_corrente_maximumObject

Returns the value of attribute valid_conta_corrente_maximum.



123
124
125
# File 'lib/br_boleto/conta/base.rb', line 123

def valid_conta_corrente_maximum
  @valid_conta_corrente_maximum
end

#valid_conta_corrente_minimumObject

Returns the value of attribute valid_conta_corrente_minimum.



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

def valid_conta_corrente_minimum
  @valid_conta_corrente_minimum
end

#valid_conta_corrente_requiredObject

Returns the value of attribute valid_conta_corrente_required.



124
125
126
# File 'lib/br_boleto/conta/base.rb', line 124

def valid_conta_corrente_required
  @valid_conta_corrente_required
end

#valid_convenio_inclusionObject

Returns the value of attribute valid_convenio_inclusion.



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

def valid_convenio_inclusion
  @valid_convenio_inclusion
end

#valid_convenio_lengthObject

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



132
133
134
# File 'lib/br_boleto/conta/base.rb', line 132

def valid_convenio_length
  @valid_convenio_length
end

#valid_convenio_maximumObject

Returns the value of attribute valid_convenio_maximum.



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

def valid_convenio_maximum
  @valid_convenio_maximum
end

#valid_convenio_minimumObject

Returns the value of attribute valid_convenio_minimum.



133
134
135
# File 'lib/br_boleto/conta/base.rb', line 133

def valid_convenio_minimum
  @valid_convenio_minimum
end

#valid_convenio_requiredObject

Returns the value of attribute valid_convenio_required.



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

def valid_convenio_required
  @valid_convenio_required
end

#valid_endereco_requiredObject

> ENDEREÇO



155
156
157
# File 'lib/br_boleto/conta/base.rb', line 155

def valid_endereco_required
  @valid_endereco_required
end

#valid_modalidade_inclusionObject

Returns the value of attribute valid_modalidade_inclusion.



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

def valid_modalidade_inclusion
  @valid_modalidade_inclusion
end

#valid_modalidade_lengthObject

> Modalidade



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

def valid_modalidade_length
  @valid_modalidade_length
end

#valid_modalidade_maximumObject

Returns the value of attribute valid_modalidade_maximum.



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

def valid_modalidade_maximum
  @valid_modalidade_maximum
end

#valid_modalidade_minimumObject

Returns the value of attribute valid_modalidade_minimum.



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

def valid_modalidade_minimum
  @valid_modalidade_minimum
end

#valid_modalidade_requiredObject

Returns the value of attribute valid_modalidade_required.



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

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”.



235
236
237
# File 'lib/br_boleto/conta/base.rb', line 235

def agencia_codigo_cedente
  "#{agencia} / #{codigo_cedente}"
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



244
245
246
# File 'lib/br_boleto/conta/base.rb', line 244

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)


204
205
206
# File 'lib/br_boleto/conta/base.rb', line 204

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.



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

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)


227
228
229
# File 'lib/br_boleto/conta/base.rb', line 227

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'


263
264
265
# File 'lib/br_boleto/conta/base.rb', line 263

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'


271
272
273
# File 'lib/br_boleto/conta/base.rb', line 271

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

#tipo_cpf_cnpj(tamanho = 2) ⇒ Object



275
276
277
# File 'lib/br_boleto/conta/base.rb', line 275

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)


280
281
282
# File 'lib/br_boleto/conta/base.rb', line 280

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)


283
284
285
# File 'lib/br_boleto/conta/base.rb', line 283

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