class Febraban150L

Public Class Methods

new(master, versao = Febraban150::VERSAO) click to toggle source
Calls superclass method
# File lib/formatos/febraban150/febraban_150_l.rb, line 6
def initialize(master, versao = Febraban150::VERSAO)
  super(master, false, true)

  @section = Section.new({
    0 => Position.new(1, 1, false, "L", true), # Código do Registro
    1 => Position.new(2, 9, true),             # Data do Faturamento das Contas
    2 => Position.new(3, 9, true),             # Data do Vencimento da Fatura
    3 => Position.new(4, 9, true),             # Data da Remessa do Arquivo
    4 => Position.new(5, 9, true),             # Data da Remessa das Contas
    5 => Position.new(6, 104, false)           # Reservado pelo Sistema
  }, true)
end

Public Instance Methods

get_data_faturamento() click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 43
def get_data_faturamento
  data = self.set_section_value(1)
  Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
end
get_data_remessa_banco() click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 53
def get_data_remessa_banco
  data = self.set_section_value(3)
  Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
end
get_data_remessa_fisica() click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 58
def get_data_remessa_fisica
  data = self.set_section_value(4)
  Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
end
get_data_vencimento_fatura() click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 48
def get_data_vencimento_fatura
  data = self.set_section_value(2)
  Date.new(data[0..3].to_i, data[4..5].to_i, data[6..7].to_i)
end
is_valid?() click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 33
def is_valid?
  result = (!self.get_id_cliente_empresa.nil? and
            !self.get_agencia_debito.nil?     and
            !self.get_id_cliente_banco.nil?   and
            !self.get_id_cliente.nil?)
end
process_section(file) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 22
def process_section file
  self.set_data_faturamento       file[1..8]
  self.set_data_vencimento_fatura file[9..16]
  self.set_data_remessa_banco     file[17..24]
  self.set_data_remessa_fisica    file[25..32]
  self.set_reservado              file[33..149]
end
set_data_faturamento(data) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 66
def set_data_faturamento data
  data = Date.strptime(data, "%Y%m%d") if data.is_a?(String)
  real_data = data.strftime("%Y%m%d")

  if real_data.length == 8
    self.set_section_value(1, real_data)
  else
    raise "#{self.get_id}: Data de Faturamento das Contas não pode estar vazia
            Valor: #{data}"
  end
end
set_data_remessa_banco(data) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 90
def set_data_remessa_banco data
  data = Date.strptime(data, "%Y%m%d") if data.is_a?(String)
  real_data = data.strftime("%Y%m%d")

  if real_data.length == 8
    self.set_section_value(3, real_data)
  else
    raise "#{self.get_id}: Data de Remessa ao Banco não pode estar vazia
            Valor: #{data}"
  end
end
set_data_remessa_fisica(data) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 102
def set_data_remessa_fisica data
  data = Date.strptime(data, "%Y%m%d") if data.is_a?(String)
  real_data = data.strftime("%Y%m%d")

  if real_data.length == 8
    self.set_section_value(4, real_data)
  else
    raise "#{self.get_id}: Data de Remessa Física não pode estar vazia
            Valor: #{data}"
  end
end
set_data_vencimento_fatura(data) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 78
def set_data_vencimento_fatura data
  data = Date.strptime(data, "%Y%m%d") if data.is_a?(String)
  real_data = data.strftime("%Y%m%d")

  if real_data.length == 8
    self.set_section_value(2, real_data)
  else
    raise "#{self.get_id}: Data de Vencimento da Fatura não pode estar vazia
            Valor: #{data}"
  end
end
set_reservado(reservado) click to toggle source
# File lib/formatos/febraban150/febraban_150_l.rb, line 114
def set_reservado reservado
  reservado = reservado.to_s
  self.set_section_value(5, reservado)
end