Class: Febraban150Z

Inherits:
FormatSection
  • Object
show all
Defined in:
lib/formatos/febraban150/febraban_150_z.rb

Overview



Footer/Trailler - Empresa/Banco

Instance Method Summary collapse

Constructor Details

#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150Z

Returns a new instance of Febraban150Z.



6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 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

Instance Method Details

#get_total_registrosObject



94
95
96
# File 'lib/formatos/febraban150/febraban_150_z.rb', line 94

def get_total_registros
  self.get_section_value(1).to_i
end

#get_valor_totalObject



98
99
100
# File 'lib/formatos/febraban150/febraban_150_z.rb', line 98

def get_valor_total
  self.get_section_value(2).to_i
end

#is_valid?Boolean

Returns:

  • (Boolean)


70
71
72
73
74
75
76
77
# 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) ⇒ Object



44
45
46
47
48
49
50
51
# 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) ⇒ Object



128
129
130
131
# 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) ⇒ Object



106
107
108
109
110
111
112
113
114
115
# 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) ⇒ Object



117
118
119
120
121
122
123
124
125
126
# 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