Sha256: 980534aac26111993c2bc775d2e3183a5add686d2a62b4890d7295521acfb1b2

Contents?: true

Size: 1.57 KB

Versions: 2

Compression:

Stored size: 1.57 KB

Contents

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

module Bbrcobranca
  module Retorno
    module Cnab400
      class Base < Bbrcobranca::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 '001'
            Bbrcobranca::Retorno::Cnab400::BancoBrasil.load_lines(file, options)
          when "004"
            Bbrcobranca::Retorno::Cnab400::BancoNordeste.load_lines(file, options)
          when "041"
            Bbrcobranca::Retorno::Cnab400::Banrisul.load_lines(file, options)
          when "070"
            Bbrcobranca::Retorno::Cnab400::BancoBrasilia.load_lines(file, options)
          when "097"
            Bbrcobranca::Retorno::Cnab400::Credisis.load_lines(file, options)
          when "237"
            Bbrcobranca::Retorno::Cnab400::Bradesco.load_lines(file, options)
          when "341"
            Bbrcobranca::Retorno::Cnab400::Itau.load_lines(file, options)
          when "033", "353"
            Bbrcobranca::Retorno::Cnab400::Santander.load_lines(file, options)
          else
            Bbrcobranca::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

2 entries across 2 versions & 1 rubygems

Version Path
bbrcobranca-0.0.2 lib/bbrcobranca/retorno/cnab400/base.rb
bbrcobranca-0.0.1 lib/bbrcobranca/retorno/cnab400/base.rb