Class: BrBoleto::Boleto::Cecred

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

Overview

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

Documentação Implementada

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

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


66
67
68
69
70
71
72
73
# File 'lib/br_boleto/boleto/cecred.rb', line 66

def codigo_de_barras_do_banco
  convenio         = "#{conta.convenio}".adjust_size_to(6, '0', :right)
  conta_corrente   = "#{conta.conta_corrente}#{conta.conta_corrente_dv}".adjust_size_to(8, '0', :right)
  numero_boleto    = "#{numero_documento}".adjust_size_to(9, '0', :right)
  carteira         = "#{conta.carteira}".adjust_size_to(2, '0', :right)

  "#{convenio}#{conta_corrente}#{numero_boleto}#{carteira}"
end

#conta_classObject



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

def conta_class
  BrBoleto::Conta::Cecred
end

#default_valuesObject

Conforme descrito na documentação, o valor que deve constar em local do pagamento é “PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DO SISTEMA CECRED.”



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

def default_values
  super.merge({
    :local_pagamento   => 'PAGAVEL PREFERENCIALMENTE NAS COOPERATIVAS DO SISTEMA CECRED.'
  })
end

#nosso_numeroObject

Nosso Número descrito na documentação (Pag. 9). 17 Dígitos: 8 primeiros dígitos = Conta corrente + dv, 9 dígitos restantes = Número do boleto (Sequencial) Exemplo: 99999998000000001



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

def nosso_numero
  "#{conta.conta_corrente}#{conta.conta_corrente_dv}#{numero_documento}".adjust_size_to(17, '0', :right)
end

#valid_carteira_inclusionObject



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

def valid_carteira_inclusion
  %w[1]
end

#valid_conta_corrente_maximumObject

Tamanho máximo de uma conta corrente no Banco Cecred



30
31
32
# File 'lib/br_boleto/boleto/cecred.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/cecred.rb', line 25

def valid_convenio_maximum 
  6
end

#valid_convenio_requiredObject

codigo_cedente/Convênio deve ser obrigatório



35
36
37
# File 'lib/br_boleto/boleto/cecred.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/cecred.rb', line 16

def valid_numero_documento_maximum
  9  
end