Class: Febraban150H
- Inherits:
-
FormatSection
- Object
- FormatSection
- Febraban150H
- Defined in:
- lib/formatos/febraban150/febraban_150_h.rb
Overview
Ocorrência da Alteração Cliente/Empresa - Banco
Instance Method Summary collapse
- #get_agencia_debito ⇒ Object
- #get_cod_movimento ⇒ Object
- #get_id_cliente_banco ⇒ Object
- #get_id_cliente_empresa_new ⇒ Object
-
#get_id_cliente_empresa_old ⇒ Object
——————————————————————- ——————————————————————- Getters.
- #get_ocorrencia ⇒ Object
-
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150H
constructor
A new instance of Febraban150H.
-
#is_valid? ⇒ Boolean
——————————————————————- ——————————————————————- Validações.
-
#process_section(file) ⇒ Object
——————————————————————- ——————————————————————- Gerais.
- #set_agencia_debito(agencia_debito) ⇒ Object
- #set_cod_movimento(cod_movimento) ⇒ Object
- #set_id_cliente_banco(id_cliente_banco) ⇒ Object
- #set_id_cliente_empresa_new(id_cliente_empresa) ⇒ Object
-
#set_id_cliente_empresa_old(id_cliente_empresa) ⇒ Object
——————————————————————- ——————————————————————- Setters.
- #set_ocorrencia(ocorrencia) ⇒ Object
- #set_reservado(reservado) ⇒ Object
Constructor Details
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150H
Returns a new instance of Febraban150H.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 6 def initialize(master, versao = Febraban150::VERSAO) super(master, true, false) @section = Section.new({ 0 => Position.new(1, 1, false, "H", true), # Código do Registro 1 => Position.new(2, 25, false), # Identificação do Cliente Empresa Old 2 => Position.new(3, 4, false), # Agência para Débito 3 => Position.new(4, 14, false), # Identificação Cliente Banco 4 => Position.new(5, 25, false), # Identificação do Cliente Empresa New 5 => Position.new(6, 58, false), # Ocorrência 6 => Position.new(7, 22, false), # Reservado pelo Sistema 7 => Position.new(8, 1, true) # Código de Movimento (Seção D) }) end |
Instance Method Details
#get_agencia_debito ⇒ Object
54 55 56 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 54 def get_agencia_debito self.get_section_value(2) end |
#get_cod_movimento ⇒ Object
70 71 72 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 70 def get_cod_movimento self.get_section_value(7).to_i end |
#get_id_cliente_banco ⇒ Object
58 59 60 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 58 def get_id_cliente_banco self.get_section_value(3) end |
#get_id_cliente_empresa_new ⇒ Object
62 63 64 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 62 def get_id_cliente_empresa_new self.get_section_value(4) end |
#get_id_cliente_empresa_old ⇒ Object
Getters
50 51 52 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 50 def get_id_cliente_empresa_old self.get_section_value(1) end |
#get_ocorrencia ⇒ Object
66 67 68 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 66 def get_ocorrencia self.get_section_value(5) end |
#is_valid? ⇒ Boolean
Validações
37 38 39 40 41 42 43 44 45 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 37 def is_valid? result = (self.get_id_cliente_empresa_old.length > 0 and self.get_agencia_debito.length > 0 and self.get_id_cliente_banco.length > 0 and self.get_id_cliente_empresa_new.length > 0 and self.get_ocorrencia.length > 0 and (self.get_cod_movimento == 0 or self.get_cod_movimento == 1)) end |
#process_section(file) ⇒ Object
Gerais
24 25 26 27 28 29 30 31 32 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 24 def process_section file self.set_id_cliente_empresa_old file[1..25] self.set_agencia_debito file[26..29] self.set_id_cliente_banco file[30..43] self.set_id_cliente_empresa_new file[44..68] self.set_ocorrencia file[69..128] self.set_reservado file[129..148] self.set_cod_movimento file[149..149] end |
#set_agencia_debito(agencia_debito) ⇒ Object
88 89 90 91 92 93 94 95 96 97 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 88 def set_agencia_debito agencia_debito agencia_debito = agencia_debito.to_s if agencia_debito.length > 0 self.set_section_value(2, agencia_debito) else raise "#{self.get_id}: Agência do Débito não pode estar vazia Valor: #{agencia_debito}" end end |
#set_cod_movimento(cod_movimento) ⇒ Object
137 138 139 140 141 142 143 144 145 146 147 148 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 137 def set_cod_movimento cod_movimento cod_movimento = cod_movimento.to_i if cod_movimento == 0 or cod_movimento == 1 self.set_section_value(7, cod_movimento) else raise "#{self.get_id}: Código de Movimentação deve ser de Exclusão ou Inclusão: 0 = Alteração da Identificação do Cliente na Empresa 1 = Exclusão de optante do Débito Automático, solicitado pela Empresa Valor: #{cod_movimento}" end end |
#set_id_cliente_banco(id_cliente_banco) ⇒ Object
99 100 101 102 103 104 105 106 107 108 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 99 def set_id_cliente_banco id_cliente_banco id_cliente_banco = id_cliente_banco.to_s if id_cliente_banco.length > 0 self.set_section_value(3, id_cliente_banco) else raise "#{self.get_id}: Identificação do Cliente do Banco não pode estar vazio Valor: #{id_cliente_banco}" end end |
#set_id_cliente_empresa_new(id_cliente_empresa) ⇒ Object
110 111 112 113 114 115 116 117 118 119 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 110 def set_id_cliente_empresa_new id_cliente_empresa id_cliente_empresa = id_cliente_empresa.to_s if id_cliente_empresa.length > 0 self.set_section_value(4, id_cliente_empresa) else raise "#{self.get_id}: Identificação do Cliente da Empresa Novo não pode estar vazio Valor: #{id_cliente_empresa}" end end |
#set_id_cliente_empresa_old(id_cliente_empresa) ⇒ Object
Setters
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 77 def set_id_cliente_empresa_old id_cliente_empresa id_cliente_empresa = id_cliente_empresa.to_s if id_cliente_empresa.length > 0 self.set_section_value(1, id_cliente_empresa) else raise "#{self.get_id}: Identificação do Cliente da Empresa Anterior não pode estar vazio Valor: #{id_cliente_empresa}" end end |
#set_ocorrencia(ocorrencia) ⇒ Object
121 122 123 124 125 126 127 128 129 130 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 121 def set_ocorrencia ocorrencia ocorrencia = ocorrencia.to_s if ocorrencia.length > 0 self.set_section_value(5, ocorrencia) else raise "#{self.get_id}: Motivo de Alteração não pode estar vazio Valor: #{ocorrencia}" end end |
#set_reservado(reservado) ⇒ Object
132 133 134 135 |
# File 'lib/formatos/febraban150/febraban_150_h.rb', line 132 def set_reservado reservado reservado = reservado.to_s self.set_section_value(6, reservado) end |