Sha256: 0e8137497e3f6d99d7f4d775b5bd6ec2ee22d009b7cd2ba2313dfacc64d67a8a

Contents?: true

Size: 1.15 KB

Versions: 3

Compression:

Stored size: 1.15 KB

Contents

# frozen_string_literal: true

require 'parseline'

module Brcobranca
  module Retorno
    module Cnab240
      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 '033'
            Brcobranca::Retorno::Cnab240::Santander.load_lines(file, options)
          when '085'
            Brcobranca::Retorno::Cnab240::Ailos.load_lines(file, options)
          when '748'
            Brcobranca::Retorno::Cnab240::Sicredi.load_lines(file, options)
          when '756'
            Brcobranca::Retorno::Cnab240::Sicoob.load_lines(file, options)
          else
            Brcobranca::Retorno::RetornoCnab240.load_lines(file, options)
          end
        end

        # Codigo do banco lido do arquivo.
        # Registro Header [0..2]
        def self.codigo_banco_do_arquivo(file)
          arquivo = File.open(file)
          header = arquivo.gets
          codigo_banco = header.blank? ? nil : header[0..2]
          arquivo.close
          codigo_banco
        end
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 2 rubygems

Version Path
brcobranca_sicredi_400-1.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-11.1.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-11.0.0 lib/brcobranca/retorno/cnab240/base.rb