Class: BrBoleto::Remessa::Cnab400::Base
- Inherits:
-
Base
- Object
- ActiveModelBase
- Base
- BrBoleto::Remessa::Cnab400::Base
- Includes:
- HavePagamentos, Helper::Detalhe, Helper::Header, Helper::Trailer
- Defined in:
- lib/br_boleto/remessa/cnab400/base.rb
Instance Attribute Summary
Attributes inherited from Base
#data_hora_arquivo, #sequencial_remessa
Instance Method Summary collapse
-
#complemento_registro ⇒ Object
Complemento do registro Vai na posição 101 até 394 Tamanho: 294.
-
#dados_do_arquivo ⇒ Object
Gera os dados para o arquivo remessa.
-
#dados_do_pagamento(pagamento) ⇒ Object
Nosso numero do pagamento e outras informações Vai na posição 063 até 076 Tamanho: 14.
-
#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.
-
#informacoes_da_conta(local) ⇒ Object
Informacoes da conta do cedente Este metodo deve ser sobrescrevido na classe do banco Tamanho: 20.
-
#informacoes_do_banco ⇒ Object
Informações do banco Padrão: 077 a 079 = Código do banco com 3 posições 080 a 094 = Nome do banco com 15 posições Tamanho: 018.
-
#informacoes_do_pagamento(pagamento, sequencial) ⇒ Object
Informações referente a cobrança do pagamento.
-
#informacoes_do_sacado(pagamento, sequencial) ⇒ Object
Informações referente aos dados do sacado/pagador Posição 219 a 394 Tamanho: 176.
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
Methods inherited from ActiveModelBase
#assign_attributes, #default_values, #initialize
Constructor Details
This class inherits a constructor from BrBoleto::ActiveModelBase
Instance Method Details
#complemento_registro ⇒ Object
Complemento do registro Vai na posição 101 até 394 Tamanho: 294
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_arquivo ⇒ Object
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 91 |
# 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 = ActiveSupport::Inflector.transliterate(arquivo.join("\n")).to_ascii.upcase retorno << "\n" retorno.encode(retorno.encoding, :universal_newline => true).encode(retorno.encoding, :crlf_newline => true) end |
#dados_do_pagamento(pagamento) ⇒ Object
Nosso numero do pagamento e outras informações Vai na posição 063 até 076 Tamanho: 14
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
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
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_banco ⇒ Object
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
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
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 |