Class: Febraban150X
- Inherits:
-
FormatSection
- Object
- FormatSection
- Febraban150X
- Defined in:
- lib/formatos/febraban150/febraban_150_x.rb
Overview
Relação de Agências - Banco
Instance Method Summary collapse
- #get_cep ⇒ Object
-
#get_codigo_agencia ⇒ Object
——————————————————————- ——————————————————————- Getters.
- #get_codigo_cep ⇒ Object
- #get_endereco_agencia ⇒ Object
- #get_estado ⇒ Object
- #get_nome_agencia ⇒ Object
- #get_nome_cidade ⇒ Object
- #get_numero_agencia ⇒ Object
- #get_situacao_agencia ⇒ Object
- #get_sufixo_cep ⇒ Object
-
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150X
constructor
A new instance of Febraban150X.
-
#is_valid? ⇒ Boolean
——————————————————————- ——————————————————————- Validações.
-
#process_section(file) ⇒ Object
——————————————————————- ——————————————————————- Gerais.
- #set_cep(codigo) ⇒ Object
-
#set_codigo_agencia(codigo) ⇒ Object
——————————————————————- ——————————————————————- Setters.
- #set_codigo_cep(codigo) ⇒ Object
- #set_endereco_agencia(endereco) ⇒ Object
- #set_estado(estado) ⇒ Object
- #set_nome_agencia(nome) ⇒ Object
- #set_nome_cidade(cidade) ⇒ Object
- #set_numero_agencia(numero) ⇒ Object
- #set_reservado(reservado) ⇒ Object
- #set_situacao_agencia(situacao) ⇒ Object
- #set_sufixo_cep(codigo) ⇒ Object
Constructor Details
#initialize(master, versao = Febraban150::VERSAO) ⇒ Febraban150X
Returns a new instance of Febraban150X.
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 6 def initialize(master, versao = Febraban150::VERSAO) super(master, true, false, false) @section = Section.new({ 0 => Position.new(1, 1, false, "X", true), # Código do Registro 1 => Position.new(2, 4, false), # Código da Agência 2 => Position.new(3, 30, false), # Nome da Agência 3 => Position.new(4, 30, false), # Endereço da Agência 4 => Position.new(5, 5, false), # Número 5 => Position.new(6, 5, false), # Código do CEP 6 => Position.new(7, 3, false), # Sufixo do CEP 7 => Position.new(8, 20, false), # Nome da Cidade 8 => Position.new(9, 2, false), # Sigla do Estado 9 => Position.new(10, 1, false), # Situação da Agência (A, B) 10 => Position.new(11, 49, false) # Reservado pelo Sistema }, true) end |
Instance Method Details
#get_cep ⇒ Object
95 96 97 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 95 def get_cep "#{self.get_codigo_cep}#{self.get_sufixo_cep}" end |
#get_codigo_agencia ⇒ Object
Getters
59 60 61 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 59 def get_codigo_agencia self.set_section_value(1) end |
#get_codigo_cep ⇒ Object
75 76 77 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 75 def get_codigo_cep self.set_section_value(5) end |
#get_endereco_agencia ⇒ Object
67 68 69 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 67 def get_endereco_agencia self.set_section_value(3) end |
#get_estado ⇒ Object
87 88 89 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 87 def get_estado self.set_section_value(8) end |
#get_nome_agencia ⇒ Object
63 64 65 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 63 def get_nome_agencia self.set_section_value(2) end |
#get_nome_cidade ⇒ Object
83 84 85 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 83 def get_nome_cidade self.set_section_value(7) end |
#get_numero_agencia ⇒ Object
71 72 73 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 71 def get_numero_agencia self.set_section_value(4) end |
#get_situacao_agencia ⇒ Object
91 92 93 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 91 def get_situacao_agencia self.set_section_value(9) end |
#get_sufixo_cep ⇒ Object
79 80 81 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 79 def get_sufixo_cep self.set_section_value(6) end |
#is_valid? ⇒ Boolean
Validações
43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 43 def is_valid? result = (self.get_codigo_agencia.length > 0 and self.get_nome_agencia.length > 0 and self.get_endereco_agencia.length > 0 and self.get_numero_agencia.length > 0 and self.get_codigo_cep.length == 5 and self.get_sufixo_cep.length == 3 and self.get_nome_cidade.length > 0 and self.get_estado.length == 2 and (self.get_situacao_agencia == "A" or self.get_situacao_agencia == "B")) end |
#process_section(file) ⇒ Object
Gerais
27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 27 def process_section file self.set_codigo_agencia file[1..4] self.set_nome_agencia file[5..34] self.set_endereco_agencia file[35..64] self.set_numero_agencia file[65..69] self.set_codigo_cep file[70..74] self.set_sufixo_cep file[75..77] self.set_nome_cidade file[78..97] self.set_estado file[98..99] self.set_situacao_agencia file[100..100] self.set_reservado file[101..149] end |
#set_cep(codigo) ⇒ Object
208 209 210 211 212 213 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 208 def set_cep codigo codigo = codigo.to_s self.set_codigo_cep(codigo[0..4]) self.set_sufixo_cep(codigo[5..7]) end |
#set_codigo_agencia(codigo) ⇒ Object
Setters
102 103 104 105 106 107 108 109 110 111 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 102 def set_codigo_agencia codigo codigo = codigo.to_s if codigo.length > 0 self.set_section_value(1, codigo) else raise "#{self.get_id}: Código da Agência deve estar preenchido Valor: #{codigo}" end end |
#set_codigo_cep(codigo) ⇒ Object
146 147 148 149 150 151 152 153 154 155 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 146 def set_codigo_cep codigo codigo = codigo.to_s if codigo.length == 5 self.set_section_value(5, codigo) else raise "#{self.get_id}: Código do CEP da Agência deve ter 5 dígitos Valor: #{codigo}" end end |
#set_endereco_agencia(endereco) ⇒ Object
124 125 126 127 128 129 130 131 132 133 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 124 def set_endereco_agencia endereco endereco = endereco.to_s if endereco.length > 0 self.set_section_value(3, endereco) else raise "#{self.get_id}: Endereço da Agência deve estar preenchido Valor: #{endereco}" end end |
#set_estado(estado) ⇒ Object
179 180 181 182 183 184 185 186 187 188 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 179 def set_estado estado estado = estado.to_s if estado.length == 2 self.set_section_value(8, estado) else raise "#{self.get_id}: Estado da Agência estar em siglas de 2 caracteres Valor: #{estado}" end end |
#set_nome_agencia(nome) ⇒ Object
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 113 def set_nome_agencia nome nome = nome.to_s if nome.length > 0 self.set_section_value(2, nome) else raise "#{self.get_id}: Nome da Agência deve estar preenchido Valor: #{nome}" end end |
#set_nome_cidade(cidade) ⇒ Object
168 169 170 171 172 173 174 175 176 177 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 168 def set_nome_cidade cidade cidade = cidade.to_s if cidade.length > 0 self.set_section_value(7, cidade) else raise "#{self.get_id}: Cidade da Agência deve estar preenchido Valor: #{cidade}" end end |
#set_numero_agencia(numero) ⇒ Object
135 136 137 138 139 140 141 142 143 144 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 135 def set_numero_agencia numero numero = numero.to_s if numero.length > 0 self.set_section_value(4, numero) else raise "#{self.get_id}: Número da Agência deve estar preenchido Valor: #{numero}" end end |
#set_reservado(reservado) ⇒ Object
203 204 205 206 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 203 def set_reservado reservado reservado = reservado.to_s self.set_section_value(10, reservado) end |
#set_situacao_agencia(situacao) ⇒ Object
190 191 192 193 194 195 196 197 198 199 200 201 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 190 def set_situacao_agencia situacao situacao = situacao.to_s if situacao == "A" or situacao == "B" self.set_section_value(9, situacao) else raise "#{self.get_id}: Agência permite estados: A: Ativa B: Em regime de Encerramento Valor: #{situacao}" end end |
#set_sufixo_cep(codigo) ⇒ Object
157 158 159 160 161 162 163 164 165 166 |
# File 'lib/formatos/febraban150/febraban_150_x.rb', line 157 def set_sufixo_cep codigo codigo = codigo.to_s if codigo.length == 3 self.set_section_value(6, codigo) else raise "#{self.get_id}: Código do CEP da Agência deve ter 3 dígitos Valor: #{codigo}" end end |