Class: Febraban150T

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

Overview



Total de Clientes debitados - Banco

Instance Method Summary collapse

Constructor Details

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

Returns a new instance of Febraban150T.



6
7
8
9
10
11
12
13
14
15
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 6

def initialize(master, versao = Febraban150::VERSAO)
  super(master, true, false)

  @section = Section.new({
    0 => Position.new(1, 1, false, "T", true), # Código do Registro
    1 => Position.new(2, 6, true),             # Total de Registros Debitados
    2 => Position.new(3, 17, true),            # Valor dos Registros Debitados
    3 => Position.new(4, 126, false)           # Reservado pelo Sistema
  }, true)
end

Instance Method Details

#get_total_debitadosObject



Getters



37
38
39
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 37

def get_total_debitados
  self.set_section_value(1).to_i
end

#get_valor_total_debitadosObject



41
42
43
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 41

def get_valor_total_debitados
  self.set_section_value(2).to_i
end

#is_valid?Boolean



Validações

Returns:

  • (Boolean)


29
30
31
32
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 29

def is_valid?
  result = (self.get_total_debitados >= 0 and
            self.get_valor_total_debitados >= 0 )
end

#process_section(file) ⇒ Object



Gerais



20
21
22
23
24
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 20

def process_section file
  self.set_total_debitados       file[1..6]
  self.set_valor_total_debitados file[7..23]
  self.set_reservado             file[24..149]
end

#set_reservado(reservado) ⇒ Object



70
71
72
73
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 70

def set_reservado reservado
  reservado = reservado.to_s
  self.set_section_value(3, reservado)
end

#set_total_debitados(valor) ⇒ Object



Setters



48
49
50
51
52
53
54
55
56
57
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 48

def set_total_debitados valor
  valor = valor.to_i

  if valor >= 0
    self.set_section_value(1, valor)
  else
    raise "#{self.get_id}: Total dos Arquivos Debitados deve ser positivo ou 0
            Valor: #{valor}"
  end
end

#set_valor_total_debitados(valor) ⇒ Object



59
60
61
62
63
64
65
66
67
68
# File 'lib/formatos/febraban150/febraban_150_t.rb', line 59

def set_valor_total_debitados valor
  valor = valor.to_i

  if valor >= 0
    self.set_section_value(2, valor)
  else
    raise "#{self.get_id}: Valor Total dos Arquivos Debitados deve ser positivo ou 0
            Valor: #{valor}"
  end
end