Class: Teodoro::ArquivoXML
- Inherits:
-
Object
- Object
- Teodoro::ArquivoXML
- Defined in:
- lib/teodoro/arquivo_xml.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- TIPOS_DE_EVENTO_PROCESSAVEIS =
%w[ S1000 S1005 S1010 S1020 S1030 S1040 S1050 S1070 S2190 S2200 S2205 S2206 S2230 S2250 S2299 S2300 S2306 S2399 S3000 ].freeze
- TIPOS_DE_EVENTO_RETIFICAVEIS =
%w[ S2190 S2200 S2205 S2206 S2230 S2250 S2299 S2300 S2306 S2399 ].freeze
Instance Attribute Summary collapse
-
#momento_de_processamento_pelo_e_social ⇒ Object
readonly
Returns the value of attribute momento_de_processamento_pelo_e_social.
-
#numero_do_recibo_a_retificar ⇒ Object
readonly
Returns the value of attribute numero_do_recibo_a_retificar.
Instance Method Summary collapse
-
#carregar ⇒ Object
otimizacao do gerenciamento de memoria.
- #nome ⇒ Object
- #processar ⇒ Object
- #processavel? ⇒ Boolean
- #retificacao? ⇒ Boolean
Instance Attribute Details
#momento_de_processamento_pelo_e_social ⇒ Object (readonly)
Returns the value of attribute momento_de_processamento_pelo_e_social.
76 77 78 |
# File 'lib/teodoro/arquivo_xml.rb', line 76 def @momento_de_processamento_pelo_e_social end |
#numero_do_recibo_a_retificar ⇒ Object (readonly)
Returns the value of attribute numero_do_recibo_a_retificar.
76 77 78 |
# File 'lib/teodoro/arquivo_xml.rb', line 76 def numero_do_recibo_a_retificar @numero_do_recibo_a_retificar end |
Instance Method Details
#carregar ⇒ Object
otimizacao do gerenciamento de memoria
79 80 81 82 83 84 85 86 87 88 89 90 91 |
# File 'lib/teodoro/arquivo_xml.rb', line 79 def carregar Console.print "carregando #{nome}.xml..." do evento, recibo = carregar_evento_e_recibo @retificacao = evento_retificavel? && evento['ideEvento/indRetif'] == '2' @numero_do_recibo_a_retificar = evento['ideEvento/nrRecibo'] if retificacao? @momento_de_processamento_pelo_e_social = recibo['processamento/dhProcessamento'] validar_carregamento end rescue StandardError => e tratar_excecao(e) end |
#nome ⇒ Object
101 102 103 |
# File 'lib/teodoro/arquivo_xml.rb', line 101 def nome @nome ||= File.basename(caminho, '.xml') end |
#processar ⇒ Object
105 106 107 108 109 110 111 112 |
# File 'lib/teodoro/arquivo_xml.rb', line 105 def processar Console.print "processando #{nome}.xml..." do validar_versao_do_leiaute processar_arquivo end rescue StandardError => e tratar_excecao(e) end |
#processavel? ⇒ Boolean
97 98 99 |
# File 'lib/teodoro/arquivo_xml.rb', line 97 def processavel? TIPOS_DE_EVENTO_PROCESSAVEIS.include?(tipo_de_evento) end |
#retificacao? ⇒ Boolean
93 94 95 |
# File 'lib/teodoro/arquivo_xml.rb', line 93 def retificacao? @retificacao end |