Sha256: f72a891c43a4e35d3577e332cea79f3f79ebf0443f63a3cf26a19d18be762e66

Contents?: true

Size: 1.06 KB

Versions: 6

Compression:

Stored size: 1.06 KB

Contents

# -*- encoding: utf-8 -*-
require 'parseline'

module Brcobranca
  module Retorno
    module Cnab240
      class Base < Brcobranca::Retorno::Base

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

          codigo_banco = codigo_banco_do_arquivo(file)

          case codigo_banco
          when "756"
            Brcobranca::Retorno::Cnab240::Sicoob.load_lines(file, options)
          when "104"
            Brcobranca::Retorno::Cnab240::Caixa.load_lines(file, options)
          when "033"
            Brcobranca::Retorno::Cnab240::Santander.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, "r")
          header = arquivo.gets
          codigo_banco = header.blank? ? nil : header[0..2]
          arquivo.close
          codigo_banco
        end

      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
brcobranca-6.9.1 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-6.9.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-6.8.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-6.7.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-6.6.0 lib/brcobranca/retorno/cnab240/base.rb
brcobranca-6.5.0 lib/brcobranca/retorno/cnab240/base.rb