Class: Brcobranca::Retorno::Cnab400::Base

Inherits:
Base
  • Object
show all
Defined in:
lib/brcobranca/retorno/cnab400/base.rb

Direct Known Subclasses

BancoBrasil, Banrisul, Bradesco, Itau, Santander

Instance Attribute Summary

Attributes inherited from Base

#abatimento_nao_aproveitado, #agencia_com_dv, #agencia_recebedora_com_dv, #agencia_sem_dv, #arquivo, #banco_recebedor, #carteira, #carteira_variacao, #cedente_com_dv, #codigo_ocorrencia, #codigo_registro, #comando, #convenio, #data_credito, #data_liquidacao, #data_ocorrencia, #data_vencimento, #desconto, #desconto_concedito, #documento_numero, #especie_documento, #indicador_valor, #indicativo_lancamento, #iof, #iof_desconto, #juros_desconto, #juros_mora, #motivo_ocorrencia, #natureza_recebimento, #nosso_numero, #outras_despesas, #outros_recebimento, #sequencial, #tipo_cobranca, #tipo_cobranca_anterior, #valor_abatimento, #valor_ajuste, #valor_lancamento, #valor_recebido, #valor_tarifa, #valor_titulo

Class Method Summary collapse

Class Method Details

.codigo_banco_do_arquivo(file) ⇒ Object

Codigo do banco lido do arquivo. Registro Header [76..78]


39
40
41
42
43
44
45
# File 'lib/brcobranca/retorno/cnab400/base.rb', line 39

def self.codigo_banco_do_arquivo(file)
  arquivo = File.open(file, "r")
  header = arquivo.gets
  codigo_banco = header.blank? ? nil : header[76..78]
  arquivo.close
  codigo_banco
end

.load_lines(file, options = {}) ⇒ Object

Load lines


10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'lib/brcobranca/retorno/cnab400/base.rb', line 10

def self.load_lines(file, options={})
  return nil if file.blank?

  codigo_banco = codigo_banco_do_arquivo(file)

  case codigo_banco
  when '001'
    Brcobranca::Retorno::Cnab400::BancoBrasil.load_lines(file, options)
  when "004"
    Brcobranca::Retorno::Cnab400::BancoNordeste.load_lines(file, options)
  when "041"
    Brcobranca::Retorno::Cnab400::Banrisul.load_lines(file, options)
  when "070"
    Brcobranca::Retorno::Cnab400::BancoBrasilia.load_lines(file, options)
  when "097"
    Brcobranca::Retorno::Cnab400::Credisis.load_lines(file, options)
  when "237"
    Brcobranca::Retorno::Cnab400::Bradesco.load_lines(file, options)
  when "341"
    Brcobranca::Retorno::Cnab400::Itau.load_lines(file, options)
  when "033", "353"
    Brcobranca::Retorno::Cnab400::Santander.load_lines(file, options)
  else
    Brcobranca::Retorno::RetornoCnab400.load_lines(file, options)
  end
end