Class: Febraban150I
- Inherits:
-
FormatSection
- Object
- FormatSection
- Febraban150I
- Defined in:
- lib/formatos/febraban150/febraban_150_i.rb
Overview
Incentivo de Débito Automático - Empresa
Instance Method Summary collapse
- #get_cidade ⇒ Object
- #get_estado ⇒ Object
- #get_id_cliente ⇒ Object
-
#get_id_cliente_empresa ⇒ Object
——————————————————————- ——————————————————————- Getters.
- #get_nome ⇒ Object
- #get_tipo_id_cliente ⇒ Object
-
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150I
constructor
A new instance of Febraban150I.
-
#is_valid? ⇒ Boolean
——————————————————————- ——————————————————————- Validações.
-
#process_section(file) ⇒ Object
——————————————————————- ——————————————————————- Gerais.
- #set_cidade(cidade) ⇒ Object
- #set_estado(estado) ⇒ Object
- #set_id_cliente(id_cliente) ⇒ Object
-
#set_id_cliente_empresa(id_cliente_empresa) ⇒ Object
——————————————————————- ——————————————————————- Setters.
- #set_nome(nome) ⇒ Object
- #set_reservado(reservado) ⇒ Object
- #set_tipo_id_cliente(tipo_id_cliente) ⇒ Object
Constructor Details
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150I
Returns a new instance of Febraban150I.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 6 def initialize(master, versao = Febraban150::VERSAO) super(master, false, true) @section = Section.new({ 0 => Position.new(1, 1, false, "I", true), # Código do Registro 1 => Position.new(2, 25, false), # Identificação do Cliente Empresa 2 => Position.new(3, 1, false), # Tipo de Identificação (1-CPF, 2-CNPJ) 3 => Position.new(4, 14, true), # Identificação 4 => Position.new(5, 40, false), # Nome do Consumidor 5 => Position.new(6, 30, false), # Cidade do Consumidor 6 => Position.new(7, 2, false), # Estado do Consumidor 7 => Position.new(8, 37, false) # Reservado pelo Sistema }, true) end |
Instance Method Details
#get_cidade ⇒ Object
66 67 68 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 66 def get_cidade self.get_section_value(5) end |
#get_estado ⇒ Object
70 71 72 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 70 def get_estado self.get_section_value(6) end |
#get_id_cliente ⇒ Object
58 59 60 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 58 def get_id_cliente self.get_section_value(3) end |
#get_id_cliente_empresa ⇒ Object
Getters
50 51 52 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 50 def get_id_cliente_empresa self.get_section_value(1) end |
#get_nome ⇒ Object
62 63 64 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 62 def get_nome self.get_section_value(4) end |
#get_tipo_id_cliente ⇒ Object
54 55 56 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 54 def get_tipo_id_cliente self.get_section_value(2).to_i end |
#is_valid? ⇒ Boolean
Validações
37 38 39 40 41 42 43 44 45 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 37 def is_valid? result = (self.get_id_cliente_empresa.length > 0 and (self.get_tipo_id_cliente == 1 or self.get_tipo_id_cliente == 2) and self.get_id_cliente.length == 15 and self.get_nome.length > 0 and self.get_cidade.length > 0 and self.get_estado.length > 0) end |
#process_section(file) ⇒ Object
Gerais
24 25 26 27 28 29 30 31 32 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 24 def process_section file self.set_id_cliente_empresa file[1..25] self.set_tipo_id_cliente file[26..26] self.set_id_cliente file[27..40] self.set_nome file[41..80] self.set_cidade file[81..110] self.set_estado file[111..112] self.set_reservado file[113..149] end |
#set_cidade(cidade) ⇒ Object
125 126 127 128 129 130 131 132 133 134 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 125 def set_cidade cidade cidade = cidade.to_s if cidade.length > 0 self.set_section_value(5, cidade) else raise "#{self.get_id}: Cidade do Cliente não pode estar em branco Valor: #{cidade}" end end |
#set_estado(estado) ⇒ Object
136 137 138 139 140 141 142 143 144 145 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 136 def set_estado estado estado = estado.to_s if estado.length > 0 self.set_section_value(6, estado) else raise "#{self.get_id}: Estado do Cliente não pode estar em branco Valor: #{estado}" end end |
#set_id_cliente(id_cliente) ⇒ Object
100 101 102 103 104 105 106 107 108 109 110 111 112 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 100 def set_id_cliente id_cliente id_cliente = id_cliente.to_s id_cliente.to_i if id_cliente.length >= 13 or id_cliente.length == 0 self.set_section_value(9, id_cliente) else raise "#{self.get_id}: Identificação do Cliente deve ser CPF ou CNPJ: CNPJ: 999999999 = Número, 9999 = Filial, e 99 = DV CPF: 0000999999999 = Número, 99 = DV Valor: #{id_cliente}" end end |
#set_id_cliente_empresa(id_cliente_empresa) ⇒ Object
Setters
77 78 79 80 81 82 83 84 85 86 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 77 def set_id_cliente_empresa 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 não pode estar vazio Valor: #{id_cliente_empresa}" end end |
#set_nome(nome) ⇒ Object
114 115 116 117 118 119 120 121 122 123 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 114 def set_nome nome nome = nome.to_s if nome.length > 0 self.set_section_value(4, nome) else raise "#{self.get_id}: Nome do Cliente não pode estar em branco Valor: #{nome}" end end |
#set_reservado(reservado) ⇒ Object
147 148 149 150 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 147 def set_reservado reservado reservado = reservado.to_s self.set_section_value(7, reservado) end |
#set_tipo_id_cliente(tipo_id_cliente) ⇒ Object
88 89 90 91 92 93 94 95 96 97 98 |
# File 'lib/formatos/febraban150/febraban_150_i.rb', line 88 def set_tipo_id_cliente tipo_id_cliente tipo_id_cliente = tipo_id_cliente.to_i if tipo_id_cliente == 1 or tipo_id_cliente == 2 self.set_section_value(2, tipo_id_cliente) else raise "#{self.get_id}: Tipo de Identificação do Cliente deve ser: 1 - CNPJ; 2 - CPF Valor: #{tipo_id_cliente}" end end |