Class: RubyCnab240::Retorno
- Inherits:
-
Object
- Object
- RubyCnab240::Retorno
- Defined in:
- lib/rubycnab240/retorno.rb
Instance Attribute Summary collapse
-
#file ⇒ Object
Returns the value of attribute file.
-
#result ⇒ Object
Returns the value of attribute result.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(file) ⇒ Retorno
constructor
A new instance of Retorno.
- #process ⇒ Object
Constructor Details
#initialize(file) ⇒ Retorno
Returns a new instance of Retorno.
6 7 8 9 |
# File 'lib/rubycnab240/retorno.rb', line 6 def initialize(file) @file = file @result = [] end |
Instance Attribute Details
#file ⇒ Object
Returns the value of attribute file.
3 4 5 |
# File 'lib/rubycnab240/retorno.rb', line 3 def file @file end |
#result ⇒ Object
Returns the value of attribute result.
4 5 6 |
# File 'lib/rubycnab240/retorno.rb', line 4 def result @result end |
Class Method Details
.return_message(code) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/rubycnab240/retorno.rb', line 33 def self.(code) case code when '00' 'CREDITO OU DEBITO EFETUADO' when '01' 'INSUFICIENCIA DE FUNDOS - DEBITO NAO EFETUADO' when '02' 'CREDITO OU DEBITO CANCELADO PELO PAGADOR/CREDOR' when '03' 'DEBITO AUTORIZADO PELA AGENCIA - EFETUADO' when '88' 'REMESSA DUPLICADA' when 'AA' 'CONTROLE INVALIDO' when 'AB' 'TIPO DE OPERACAO INVALIDO' when 'AC' 'TIPO DE SERVICO INVALIDO' when 'AD' 'FORMA DE LANCAMENTO INVALIDA' when 'AE' 'TIPO/NUMERO DE INSCRICAO INVALIDO' when 'AF' 'CODIGO DE CONVENIO INVALIDO' when 'AG' 'AGENCIA/CONTA CORRENTE/DV INVALIDO' when 'AH' 'No. SEQUENCIAL DO REGISTRO LOTE INVALIDO' when 'AI' 'CODIGO DE SEGMENTO DE DETALHE INVALIDO' when 'AJ' 'TIPO DE MOVIMENTO INVALIDO' when 'AK' 'CODIGO DE COMPENSACAO DO FAVORECIDO/DEPOSITARIO INVALIDO' when 'AL' 'BANCO DO FAVORECIDO OU DEPOSITARIO INVALIDO' when 'AM' 'AGENCIA MANTENEDORA DA C.C. DO FAVOREDICO INVALIDA' when 'AO' 'NOME DO FAVORECIDO INVALIDO' when 'AP' 'DATA LANCAMENTO INVALIDA' when 'AQ' 'TIPO/QUANTIDADE DA MOEDA INVALIDO' when 'AR' 'VALOR DO LANCAMENTO INVALIDO' when 'AS' 'AVISO AO FAVORECIDO - IDENTIFICACAO INVALIDA' when 'AT' 'TIPO/NUMERO DE INSCRICAO DO FAVORECIDO INVALIDO' when 'AU' 'LOGRADOURO DO FAVORECIDO NAO INFORMADO' when 'AV' 'No. DO LOCAL DO FAVORECIDO NAO INFORMADO' when 'AW' 'CIDADE DO FAVORECIDO NAO INFORMADO' when 'AX' 'CEP/COMPLEMENTO DO FAVORECIDO INVALIDO' when 'AY' 'SIGLA DO ESTADO DO FAVORECIDO INVALIDO' when 'AZ' 'CODIGO/NOME DO BANCO DEPOSITARIO INVALIDO' when 'BA' 'CODIGO/NOME DA AGENCIA DEPOSITARIA NAO INFORMADO' when 'BB' 'SEU NUMERO INVALIDO' when 'BC' 'NOSSO NUMERO INVALIDO' when 'BD' 'CONFIRMACAO DE PAGAMENTO AGENDADO' when 'CF' 'VALOR DO DOCUMENTO INVALIDO' when 'HB' 'LOTE NAO ACEITO' when 'HC' 'CONVENIO COM A EMPRESA INEXISTENTE/INVALIDO PARA O CONTRATO' when 'HD' 'AGENCIA/CONTA DA EMPRESA INEXISTENTE/INVALIDA P/ CONTRATO' when 'HE' 'TIPO DE SERVICO INVALIDO P/ CONTRATO' when 'HF' 'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE' when 'HG' 'LOTE DE SERVICO FORA DE SEQUENCIA' when 'HH' 'LOTE DE SERVICO INVALIDO' when 'NA' 'CONTA CORRENTE/DV DO FAVORECIDO INVALIDO' when 'TA' 'LOTE NAO ACEITO - TOTAIS DO LOTE COM DIFERENCA' else 'IDENTIFICADOR NÃO EXISTENTE OU NÃO RECONHECIDO' end end |
.success?(code) ⇒ Boolean
128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 |
# File 'lib/rubycnab240/retorno.rb', line 128 def self.success?(code) case code when '00' #'CREDITO OU DEBITO EFETUADO' true when '01' #'INSUFICIENCIA DE FUNDOS - DEBITO NAO EFETUADO' false when '02' #'CREDITO OU DEBITO CANCELADO PELO PAGADOR/CREDOR' false when '03' #'DEBITO AUTORIZADO PELA AGENCIA - EFETUADO' true when '88' #'REMESSA DUPLICADA' false when 'AA' #'CONTROLE INVALIDO' false when 'AB' #'TIPO DE OPERACAO INVALIDO' false when 'AC' #'TIPO DE SERVICO INVALIDO' false when 'AD' #'FORMA DE LANCAMENTO INVALIDA' false when 'AE' #'TIPO/NUMERO DE INSCRICAO INVALIDO' false when 'AF' #'CODIGO DE CONVENIO INVALIDO' false when 'AG' #'AGENCIA/CONTA CORRENTE/DV INVALIDO' false when 'AH' #'No. SEQUENCIAL DO REGISTRO LOTE INVALIDO' false when 'AI' #'CODIGO DE SEGMENTO DE DETALHE INVALIDO' false when 'AJ' #'TIPO DE MOVIMENTO INVALIDO' false when 'AK' #'CODIGO DE COMPENSACAO DO FAVORECIDO/DEPOSITARIO INVALIDO' false when 'AL' #'BANCO DO FAVORECIDO OU DEPOSITARIO INVALIDO' false when 'AM' #'AGENCIA MANTENEDORA DA C.C. DO FAVOREDICO INVALIDA' false when 'AO' #'NOME DO FAVORECIDO INVALIDO' false when 'AP' #'DATA LANCAMENTO INVALIDA' false when 'AQ' #'TIPO/QUANTIDADE DA MOEDA INVALIDO' false when 'AR' #'VALOR DO LANCAMENTO INVALIDO' false when 'AS' #'AVISO AO FAVORECIDO - IDENTIFICACAO INVALIDA' false when 'AT' #'TIPO/NUMERO DE INSCRICAO DO FAVORECIDO INVALIDO' false when 'AU' #'LOGRADOURO DO FAVORECIDO NAO INFORMADO' false when 'AV' #'No. DO LOCAL DO FAVORECIDO NAO INFORMADO' false when 'AW' #'CIDADE DO FAVORECIDO NAO INFORMADO' false when 'AX' #'CEP/COMPLEMENTO DO FAVORECIDO INVALIDO' false when 'AY' #'SIGLA DO ESTADO DO FAVORECIDO INVALIDO' false when 'AZ' #'CODIGO/NOME DO BANCO DEPOSITARIO INVALIDO' false when 'BA' #'CODIGO/NOME DA AGENCIA DEPOSITARIA NAO INFORMADO' false when 'BB' #'SEU NUMERO INVALIDO' false when 'BC' #'NOSSO NUMERO INVALIDO' false when 'BD' #'CONFIRMACAO DE PAGAMENTO AGENDADO' false when 'CF' #'VALOR DO DOCUMENTO INVALIDO' false when 'HB' #'LOTE NAO ACEITO' false when 'HC' #'CONVENIO COM A EMPRESA INEXISTENTE/INVALIDO PARA O CONTRATO' false when 'HD' #'AGENCIA/CONTA DA EMPRESA INEXISTENTE/INVALIDA P/ CONTRATO' false when 'HE' #'TIPO DE SERVICO INVALIDO P/ CONTRATO' false when 'HF' #'CONTA CORRENTE DA EMPRESA COM SALDO INSUFICIENTE' false when 'HG' #'LOTE DE SERVICO FORA DE SEQUENCIA' false when 'HH' #'LOTE DE SERVICO INVALIDO' false when 'NA' #'CONTA CORRENTE/DV DO FAVORECIDO INVALIDO' false when 'TA' #'LOTE NAO ACEITO - TOTAIS DO LOTE COM DIFERENCA' false else #'IDENTIFICADOR NÃO EXISTENTE OU NÃO RECONHECIDO' false end end |
Instance Method Details
#process ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
# File 'lib/rubycnab240/retorno.rb', line 11 def process lines = [] File.foreach(self.file).with_index do |line, line_num| lines << { line_num: line_num, text: line } end lines.select{ |line| line[:text][13..13] == 'A' }.each do |segment_a| self.result << { line_num: segment_a[:line_num], identification: segment_a[:text][85..92], succeded: RubyCnab240::Retorno.success?(segment_a[:text][230..231]), return_code: segment_a[:text][230..23], return_message: RubyCnab240::Retorno.(segment_a[:text][230..231]), date: Date.strptime(segment_a[:text][93..101],"%d%m%Y") } end self.result end |