class Febraban150Z
Public Class Methods
new(master, versao = Febraban150::VERSAO)
click to toggle source
Calls superclass method
# File lib/formatos/febraban150/febraban_150_z.rb, line 6 def initialize(master, versao = Febraban150::VERSAO) super(master, true, true, false) @versao = versao case versao when '04' self.monta_versao_04 when '05' self.monta_versao_05 else raise "Seção Z: Versão não suportada: #{@versao}" end end
Public Instance Methods
get_total_registros()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 94 def get_total_registros self.get_section_value(1).to_i end
get_valor_total()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 98 def get_valor_total self.get_section_value(2).to_i end
is_valid?()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 70 def is_valid? case @versao when '04' self.is_valid_04? when '05' self.is_valid_05? end end
process_section(file)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 44 def process_section(file) case @versao when '04' self.processa_arquivo_04(file) when '05' self.processa_arquivo_05(file) end end
set_reservado(reservado)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 128 def set_reservado reservado reservado = reservado.to_s self.set_section_value(3, reservado) end
set_total_registros(registros)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 106 def set_total_registros registros registros = registros.to_i if registros > 0 self.set_section_value(1, registros) else raise "#{get_id}: A quantidade de registros deve ser positiva e maior que 0 Valor: #{registros}" end end
set_valor_total(valor)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 117 def set_valor_total valor valor = valor.to_i if valor > 0 self.set_section_value(2, valor) else raise "#{get_id}: A quantidade de registros deve ser positiva e maior que 0 Valor: #{valor}" end end
Protected Instance Methods
is_valid_04?()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 80 def is_valid_04? result = (self.get_total_registros > 0 and self.get_valor_total > 0) end
is_valid_05?()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 85 def is_valid_05? result = (self.get_total_registros > 0 and self.get_valor_total > 0) end
monta_versao_04()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 22 def monta_versao_04 @section = Section.new({ 0 => Position.new(1, 1, false, 'Z', true), # Código do Registro 1 => Position.new(2, 6, true), # Total de Registros no Arquivo 2 => Position.new(3, 17, true), # Valor Total dos Registros 3 => Position.new(4, 126, false) # Reservado pelo Sistema }) end
monta_versao_05()
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 31 def monta_versao_05 @section = Section.new({ 0 => Position.new(1, 1, false, 'Z', true), # Código do Registro 1 => Position.new(2, 6, true), # Total de Registros no Arquivo 2 => Position.new(3, 17, true), # Valor Total dos Registros 3 => Position.new(4, 126, false) # Reservado pelo Sistema }) end
processa_arquivo_04(file)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 54 def processa_arquivo_04(file) self.set_total_registros file[1..6] self.set_valor_total file[7..23] self.set_reservado file[24..149] end
processa_arquivo_05(file)
click to toggle source
# File lib/formatos/febraban150/febraban_150_z.rb, line 60 def processa_arquivo_05(file) self.set_total_registros file[1..6] self.set_valor_total file[7..23] self.set_reservado file[24..149] end