Class: BrBoleto::Remessa::Cnab400::Base

Inherits:
Base show all
Includes:
HavePagamentos, Helper::Detalhe, Helper::Header, Helper::Trailer
Defined in:
lib/br_boleto/remessa/cnab400/base.rb

Direct Known Subclasses

Sicoob

Instance Attribute Summary

Attributes inherited from Base

#data_hora_arquivo, #sequencial_remessa

Instance Method Summary collapse

Methods included from Helper::Trailer

#monta_trailer, #trailer_arquivo_posicao_001_a_001, #trailer_arquivo_posicao_002_a_394, #trailer_arquivo_posicao_394_a_400

Methods included from Helper::Detalhe

#detalhe_posicao_001_001, #detalhe_posicao_002_003, #detalhe_posicao_004_017, #detalhe_posicao_018_037, #detalhe_posicao_038_062, #detalhe_posicao_063_076, #detalhe_posicao_077_108, #detalhe_posicao_109_110, #detalhe_posicao_111_120, #detalhe_posicao_121_160, #detalhe_posicao_161_218, #detalhe_posicao_219_394, #detalhe_posicao_395_400, #monta_detalhe

Methods included from Helper::Header

#header_posicao_001_a_001, #header_posicao_002_a_002, #header_posicao_003_a_009, #header_posicao_010_a_011, #header_posicao_012_a_026, #header_posicao_027_a_046, #header_posicao_047_a_076, #header_posicao_077_a_094, #header_posicao_095_a_100, #header_posicao_101_a_394, #header_posicao_395_a_400, #monta_header

Methods inherited from Base

#data_geracao, #hora_geracao, #pagamento_valid_cod_desconto_length, #pagamento_valid_distribuicao_boleto_length, #pagamento_valid_emissao_boleto_length, #pagamento_valid_tipo_impressao_required, #persisted?

Methods included from HaveConta

#conta, #conta=, #conta_class

Methods inherited from ActiveModelBase

#assign_attributes, #default_values, #initialize

Constructor Details

This class inherits a constructor from BrBoleto::ActiveModelBase

Instance Method Details

#complemento_registroObject

Complemento do registro Vai na posição 101 até 394 Tamanho: 294

Raises:

  • (NotImplementedError)


38
39
40
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 38

def complemento_registro
  raise NotImplementedError.new('Sobreescreva este método na classe referente ao banco que você esta criando')
end

#dados_do_arquivoObject

Gera os dados para o arquivo remessa



70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 70

def dados_do_arquivo
  return if self.invalid?

  # contador dos registros do lote
  contador = 1

  # Metodo 'monta_header' implementado no module -> BrBoleto::Remessa::Cnab400::Helper::Header
  arquivo = [monta_header] 
  contador += 1

  pagamentos.each do |pagamento|
    arquivo << monta_detalhe(pagamento, contador)
    contador += 1
  end

  # Metodo 'monta_trailer' implementado no module -> BrBoleto::Remessa::Cnab400::Helper::Trailer
  arquivo << monta_trailer(contador)

  retorno = arquivo.join("\n")
  ActiveSupport::Inflector.transliterate(retorno).upcase
end

#dados_do_pagamento(pagamento) ⇒ Object

Nosso numero do pagamento e outras informações Vai na posição 063 até 076 Tamanho: 14

Raises:

  • (NotImplementedError)


45
46
47
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 45

def dados_do_pagamento(pagamento)
  raise NotImplementedError.new("Sobreescreva o metodo #dados_do_pagamento para a class #{self}")
end

#detalhe_multas_e_juros_do_pagamento(pagamento, sequencial) ⇒ Object

Informações referente aos juros e multas do pagamento Posição 161 a 218 Tamanho: 58

Raises:

  • (NotImplementedError)


57
58
59
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 57

def detalhe_multas_e_juros_do_pagamento(pagamento, sequencial)
  raise NotImplementedError.new("Sobreescreva o metodo #detalhe_multas_e_juros_do_pagamento para a class #{self}")
end

#informacoes_da_conta(local) ⇒ Object

Informacoes da conta do cedente Este metodo deve ser sobrescrevido na classe do banco Tamanho: 20

Raises:

  • (NotImplementedError)


22
23
24
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 22

def informacoes_da_conta(local)
  raise NotImplementedError.new('Sobreescreva este método na classe referente ao banco que você esta criando')
end

#informacoes_do_bancoObject

Informações do banco Padrão:

077 a 079 = C

Tamanho: 018



31
32
33
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 31

def informacoes_do_banco
  "#{conta.codigo_banco}#{conta.nome_banco}".adjust_size_to(18)
end

#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object

Informações referente a cobrança do pagamento

Raises:

  • (NotImplementedError)


50
51
52
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 50

def informacoes_do_pagamento(pagamento, sequencial)
  raise NotImplementedError.new("Sobreescreva o metodo #informacoes_do_pagamento para a class #{self}")
end

#informacoes_do_sacado(pagamento, sequencial) ⇒ Object

Informações referente aos dados do sacado/pagador Posição 219 a 394 Tamanho: 176

Raises:

  • (NotImplementedError)


64
65
66
# File 'lib/br_boleto/remessa/cnab400/base.rb', line 64

def informacoes_do_sacado(pagamento, sequencial)
  raise NotImplementedError.new("Sobreescreva o metodo #informacoes_do_sacado para a class #{self}")
end