class Febraban150C
Public Class Methods
new(master, versao = Febraban150::VERSAO)
click to toggle source
Calls superclass method
# File lib/formatos/febraban150/febraban_150_c.rb, line 6 def initialize(master, versao = Febraban150::VERSAO) super(master, false, true) @section = Section.new({ 0 => Position.new(1, 1, false, "C", true), # Código do Registro 1 => Position.new(2, 25, false), # Identificação do Cliente Empresa 2 => Position.new(3, 4, false), # Agência para Débito 3 => Position.new(4, 14, false), # Identificação Cliente Banco 4 => Position.new(5, 40, false), # Ocorrência 1 - Motivo Recusa 5 => Position.new(6, 40, false), # Ocorrência 2 - Complemento 6 => Position.new(7, 25, false), # Reservado pelo Sistema 7 => Position.new(8, 1, true) # Código de Movimento (Seção B) }) end
Public Instance Methods
get_agencia_debito()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 54 def get_agencia_debito self.get_section_value(2) end
get_cod_movimento()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 70 def get_cod_movimento self.get_section_value(7).to_i end
get_id_cliente_banco()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 58 def get_id_cliente_banco self.get_section_value(3) end
get_id_cliente_empresa()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 50 def get_id_cliente_empresa self.get_section_value(1) end
get_ocorrencia_1()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 62 def get_ocorrencia_1 self.get_section_value(4) end
get_ocorrencia_2()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 66 def get_ocorrencia_2 self.get_section_value(5) end
is_valid?()
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 37 def is_valid? result = (self.get_id_cliente_empresa.length > 0 and self.get_agencia_debito.length > 0 and self.get_id_cliente_banco.length > 0 and self.get_ocorrencia_1.length > 0 and self.get_ocorrencia_2.length > 0 and (self.get_cod_movimento == 0 or self.get_cod_movimento == 1)) end
process_section(file)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 24 def process_section file self.set_id_cliente_empresa file[1..25] self.set_agencia_debito file[26..29] self.set_id_cliente_banco file[30..43] self.set_ocorrencia_1 file[44..83] self.set_ocorrencia_2 file[84..123] self.set_reservado file[124..148] self.set_cod_movimento file[149..149] end
set_agencia_debito(agencia_debito)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 88 def set_agencia_debito agencia_debito agencia_debito = agencia_debito.to_s if agencia_debito.length > 0 self.set_section_value(2, agencia_debito) else raise "#{self.get_id}: Agência do Débito não pode estar vazia Valor: #{agencia_debito}" end end
set_cod_movimento(cod_movimento)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 137 def set_cod_movimento cod_movimento cod_movimento = cod_movimento.to_i if cod_movimento == 0 or cod_movimento == 1 self.set_section_value(7, cod_movimento) else raise "#{self.get_id}: Código de Movimentação deve ser de Exclusão ou Inclusão: 1 = Exclusão de optante pelo débito automático 2 = Inclusão de optante pelo débito automático Valor: #{cod_movimento}" end end
set_id_cliente_banco(id_cliente_banco)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 99 def set_id_cliente_banco id_cliente_banco id_cliente_banco = id_cliente_banco.to_s if id_cliente_banco.length > 0 self.set_section_value(3, id_cliente_banco) else raise "#{self.get_id}: Identificação do Cliente do Banco não pode estar vazio Valor: #{id_cliente_banco}" end end
set_id_cliente_empresa(id_cliente_empresa)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 77 def set_id_cliente_empresa id_cliente_empresa id_cliente_empresa = id_cliente_empresa.to_s if id_cliente_empresa.length > 0 self.set_section_value(1, id_cliente_empresa) else raise "#{self.get_id}: Identificação do Cliente da Empresa não pode estar vazio Valor: #{id_cliente_empresa}" end end
set_ocorrencia_1(ocorrencia)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 110 def set_ocorrencia_1 ocorrencia ocorrencia = ocorrencia.to_s if ocorrencia.length > 0 self.set_section_value(4, ocorrencia) else raise "#{self.get_id}: Motivo de Recusa não pode estar vazio Valor: #{ocorrencia}" end end
set_ocorrencia_2(ocorrencia)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 121 def set_ocorrencia_2 ocorrencia ocorrencia = ocorrencia.to_s if ocorrencia.length > 0 self.set_section_value(5, ocorrencia) else raise "#{self.get_id}: Motivo de Recusa não pode estar vazio Valor: #{ocorrencia}" end end
set_reservado(reservado)
click to toggle source
# File lib/formatos/febraban150/febraban_150_c.rb, line 132 def set_reservado reservado reservado = reservado.to_s self.set_section_value(6, reservado) end