<commit_before># -*- 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)
          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<commit_msg>add Santander class to factory<commit_after># -*- 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
{'fraction_non_alphanumeric': 0.09510086455331412, 'fraction_numerical': 0.024975984630163303, 'mean_word_length': 2.0722713864306783, 'pattern_counts': {'":': 0, '<': 5, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4109231', 'n_tokens_mistral': 711, 'n_tokens_neox': 691, 'n_words': 133}