class CieloHeader

Public Class Methods

new(master) click to toggle source
Calls superclass method
# File lib/formatos/cielo/cielo_header.rb, line 4
def initialize master
  super(master, true, true, false)

  @section = Section.new({
      0 => Position.new(1, 2, false, "00", true), # Código do Registro
      1 => Position.new(2, 8, true),              # Data do Deposito
      2 => Position.new(3, 7, true),              # Numero do Resumo de operações
      3 => Position.new(4, 10, false),            # Reservado para o estabelecimento
      4 => Position.new(5, 3, false),             # Constantes zeros
      5 => Position.new(6, 10, true),             # Numero do estabelecimento na Cielo
      6 => Position.new(7, 3, false),             # Código da moeda
      7 => Position.new(8, 1, false,"P"),         # Indicador do processo
      8 => Position.new(9, 1, false, "V"),        # Indicador da venda
      9 => Position.new(10, 1, false),            # Indicador de estabelecimento especial (Brancos)
      10 => Position.new(11, 204, false),         # Constante (Brancos)
  })
end

Public Instance Methods

get_data_deposito() click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 38
def get_data_deposito
  self.get_section_value(1)
end
get_moeda() click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 50
def get_moeda
  self.get_section_value(6)
end
get_numero_cielo() click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 46
def get_numero_cielo
  self.get_section_value(5)
end
get_numero_lote() click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 42
def get_numero_lote
  self.get_section_value(2)
end
is_valid?() click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 114
def is_valid?
  (self.get_data_deposito.length > 0 and
   self.get_numero_cielo.length > 0  and
   self.get_numero_lote.length > 0   and
   self.get_moeda.length > 0)
end
process_section(file) click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 25
def process_section file
  self.set_data_deposito         file[2..9]
  self.set_numero_lote           file[10..16]
  self.set_reservado_1           file[17..26]
  self.set_reservado_2           file[27..29]
  self.set_numero_cielo          file[30..39]
  self.set_moeda                 file[40..42]
  self.set_indicador_processo    file[43..43]
  self.set_indicador_venda       file[44..44]
  self.set_indicador_especial    file[45..45]
  self.set_reservado_3           file[46..249]
end
set_data_deposito(valor) click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 54
def set_data_deposito valor
  begin
    valor = Date.strptime(valor, "%d%m%Y") if valor.is_a?(String)
    real_data = valor.strftime("%d%m%Y")

    if real_data.length == 8
      self.set_section_value(1, real_data)
    else
      raise "tamanho de data incorreto"
    end

  rescue
    raise "#{get_id}: Data de Geração Inválida
            Valor: #{valor}"
  end
end
set_indicador_especial(valor = "") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 103
def set_indicador_especial valor = ""
  self.set_section_value(9, valor)
end
set_indicador_processo(valor = "P") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 95
def set_indicador_processo valor = "P"
  self.set_section_value(7, valor)
end
set_indicador_venda(valor = "V") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 99
def set_indicador_venda valor = "V"
  self.set_section_value(8, valor)
end
set_moeda(valor) click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 87
def set_moeda valor
  if ["986","840"].include? valor
    self.set_section_value(6, valor)
  else
    raise "Código de moeda não aceito"
  end
end
set_numero_cielo(valor) click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 83
def set_numero_cielo valor
  self.set_section_value(5, valor)
end
set_numero_lote(valor) click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 71
def set_numero_lote valor
  self.set_section_value(2, valor)
end
set_reservado_1(valor = "") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 75
def set_reservado_1 valor = ""
  self.set_section_value(3, valor)
end
set_reservado_2(valor = "000") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 79
def set_reservado_2 valor = "000"
  self.set_section_value(4, valor)
end
set_reservado_3(valor = "") click to toggle source
# File lib/formatos/cielo/cielo_header.rb, line 107
def set_reservado_3 valor = ""
  self.set_section_value(10, valor)
end