teodoro 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb5c4d48569ca39e7f8ef5498b4a66f76d236e5aa8d8ab94c5c648769e5c8968
4
- data.tar.gz: 29d4363f9f97443cfc6f727cd83008b5b1d416f4e4b0af19429cd0a5af1ae911
3
+ metadata.gz: 6813c49b858cd3dd4f2732bf76c0ca99c465e3ee55b713773595206b038048b4
4
+ data.tar.gz: 306eb583e7c68f82cb5fbb9aa0a7983a108a82c8b37e5283c9f54d519a53ad22
5
5
  SHA512:
6
- metadata.gz: 874c4435734ba86267f19342c25e20a3b2b5fbcf030b284550a1f68ad66886f54f624a78f4ee88b39fd5b865c57234740e5a34f9b0e89e4cafffef93fd7366e8
7
- data.tar.gz: 8dd3e540b5c26080612e79a0196f2a5eb9aa316a4d9e1f63c06bdf4cb4be79b51c9487174b35b30f84c861c1f9699f636aebb356f56d55a73fe5eac267fffbe4
6
+ metadata.gz: cda354fd4d76b448b763ab5b447b40122c8c9e7dbbe874c81ead7e1b6cb218dfebe983f255443887ceb8901808ca213674def5e6022b25c086c3abefc54edb71
7
+ data.tar.gz: aa311e5876f76f91c818f250a3f12908173ced56a8722a0db14fa85b17b2fbb4cb8abda34c302a19ea023e54d1a8cd5372ae479d23fbea7b1ab9376f8624fc81
@@ -41,7 +41,12 @@ module Teodoro
41
41
  public
42
42
 
43
43
  def momento_de_processamento_pelo_e_social
44
- recibo['retornoEvento/processamento/dhProcessamento']
44
+ # otimizacao do gerenciamento de memoria
45
+ carregar_conteudo
46
+ .then { |conteudo| Nokogiri::XML(conteudo) }
47
+ .then { |xml| Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*').to_s) }
48
+ .then { |xml_do_recibo| XML.new(xml_do_recibo) }
49
+ .then { |recibo| recibo['retornoEvento/processamento/dhProcessamento'] }
45
50
  end
46
51
 
47
52
  def nome
@@ -58,26 +63,10 @@ module Teodoro
58
63
 
59
64
  private
60
65
 
61
- def recibo
62
- @recibo ||= XML.new(xml_do_recibo)
63
- end
64
-
65
- def xml_do_recibo
66
- Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*').to_s)
67
- end
68
-
69
- def xml
70
- @xml ||= Nokogiri::XML(conteudo)
71
- end
72
-
73
- def conteudo
66
+ def carregar_conteudo
74
67
  File.read(caminho)
75
68
  end
76
69
 
77
- def tipo_de_evento
78
- nome[-6..].delete('-')
79
- end
80
-
81
70
  def arquivo
82
71
  if evento_de_tabela?
83
72
  evento_de_tabela
@@ -150,8 +139,24 @@ module Teodoro
150
139
  @xml_do_evento ||= Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/evento/*').to_s)
151
140
  end
152
141
 
142
+ def xml
143
+ @xml ||= Nokogiri::XML(carregar_conteudo)
144
+ end
145
+
146
+ def tipo_de_evento
147
+ @tipo_de_evento ||= nome[-6..].delete('-')
148
+ end
149
+
153
150
  def evento
154
151
  XML.new(xml_do_evento)
155
152
  end
153
+
154
+ def recibo
155
+ @recibo ||= XML.new(xml_do_recibo)
156
+ end
157
+
158
+ def xml_do_recibo
159
+ Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*').to_s)
160
+ end
156
161
  end
157
162
  end
@@ -64,13 +64,13 @@ module Teodoro
64
64
  end
65
65
 
66
66
  def processar_arquivos_xml
67
- arquivos_xml
68
- .sort_by { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
69
- .each(&:processar)
67
+ # otimizacao do gerenciamento de memoria
68
+ arquivos_xml.shift.processar while arquivos_xml.any?
70
69
  end
71
70
 
72
71
  def arquivos_xml
73
- Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
72
+ @arquivos_xml ||=
73
+ Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
74
74
  .map do |caminho|
75
75
  ArquivoXML.new(
76
76
  caminho: caminho,
@@ -78,6 +78,7 @@ module Teodoro
78
78
  de_recibo_para_nome_do_arquivo_data: de_recibo_para_nome_do_arquivo_data
79
79
  )
80
80
  end
81
+ .sort_by { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
81
82
  end
82
83
 
83
84
  def de_recibo_para_nome_do_arquivo_data
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-09 00:00:00.000000000 Z
11
+ date: 2021-04-10 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri