Class: Brcobranca::Retorno::Cnab240::Ailos
- Defined in:
- lib/brcobranca/retorno/cnab240/ailos.rb
Defined Under Namespace
Classes: Line
Constant Summary collapse
- REGEX_DE_EXCLUSAO_DE_REGISTROS_NAO_T_OU_U =
Regex para remoção de headers e trailers além de registros diferentes de T ou U
/^((?!^.{7}3.{5}[T|U].*$).)*$/.freeze
Instance Attribute Summary
Attributes inherited from Base
#abatimento_nao_aproveitado, #agencia_com_dv, #agencia_recebedora_com_dv, #agencia_sem_dv, #arquivo, #banco_recebedor, #carteira, #carteira_variacao, #cedente_com_dv, #codigo_ocorrencia, #codigo_registro, #comando, #convenio, #data_credito, #data_liquidacao, #data_ocorrencia, #data_vencimento, #desconto, #desconto_concedito, #documento_numero, #especie_documento, #indicador_valor, #indicativo_lancamento, #iof, #iof_desconto, #juros_desconto, #juros_mora, #motivo_ocorrencia, #natureza_recebimento, #nosso_numero, #outras_despesas, #outros_recebimento, #sequencial, #tipo_cobranca, #tipo_cobranca_anterior, #valor_abatimento, #valor_ajuste, #valor_lancamento, #valor_recebido, #valor_tarifa, #valor_titulo
Class Method Summary collapse
Methods inherited from Base
Class Method Details
.generate_retorno_based_on_cnab_lines(cnab_lines) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/brcobranca/retorno/cnab240/ailos.rb', line 21 def self.generate_retorno_based_on_cnab_lines(cnab_lines) retorno = new cnab_lines.each do |line| if line.tipo_registro == 'T' Line::REGISTRO_T_FIELDS.each do |attr| retorno.send(:"#{attr}=", line.send(attr)) end else Line::REGISTRO_U_FIELDS.each do |attr| retorno.send(:"#{attr}=", line.send(attr)) end end end retorno end |
.load_lines(file, options = {}) ⇒ Object
12 13 14 15 16 17 18 19 |
# File 'lib/brcobranca/retorno/cnab240/ailos.rb', line 12 def self.load_lines(file, = {}) = { except: REGEX_DE_EXCLUSAO_DE_REGISTROS_NAO_T_OU_U } = .merge!() Line.load_lines(file, ).each_slice(2).reduce([]) do |retornos, cnab_lines| retornos << generate_retorno_based_on_cnab_lines(cnab_lines) end end |