Sha256: 7b3b5c3b464a6731af9ce4e71dad0f542c3023c51511b6b78f684f7e6874791e

Contents?: true

Size: 1.75 KB

Versions: 1

Compression:

Stored size: 1.75 KB

Contents

# frozen_string_literal: true

require 'parseline'

module Brcobranca
  module Retorno
    module Cnab400
      class Base < Brcobranca::Retorno::Base
        # Load lines
        def self.load_lines(file, options = {})
          return nil unless file

          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)
          when '136'
            Brcobranca::Retorno::Cnab400::Unicred.load_lines(file, options)
          when '748'
            Brcobranca::Retorno::Cnab400::Sicredi.load_lines(file, options)
          else
            Brcobranca::Retorno::RetornoCnab400.load_lines(file, options)
          end
        end

        # Codigo do banco lido do arquivo.
        # Registro Header [76..78]
        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
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
brcobranca_sicredi_400-1.0 lib/brcobranca/retorno/cnab400/base.rb