teodoro 0.10.0 → 0.10.1

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: ed476a09d21ea31620816ef10a315c152da9fe7938810d81d2a3fd29f2085e28
4
- data.tar.gz: 15caa64dd8e82804283ea2b8248888b778c07672534405cfcf2cf466b9bead9d
3
+ metadata.gz: 29d6e699440fb8443030736d64cf8d3221496f215101d78be08384bc3a16d260
4
+ data.tar.gz: 35c1b51f6c8843e1af874452d1b4bf06042c2934ffdc368ab08a3fecba39624e
5
5
  SHA512:
6
- metadata.gz: ef9d1142cf3f02126a46d093a49010a92144d3eb373fb6692bd1b95b398c0a08ae6e2753a0ce3d5fd9d7b438642c7b4ea2e5dfbb6f0392d16602173171369e79
7
- data.tar.gz: ce85156d0fe4b50c44c24ee31e0700f0a263db2a2e1b7f0b9cdcb48c72823ad7a97bf737a6d7529d9a2ca42a7a89f07f8a5a8685ab6973763b4f43695d7d9881
6
+ metadata.gz: 777e26331b02a0dc2d8c8ad386699ce39b02b00f1d5a343f84a75d34cba9e63b9ebe7efbc142416108e25d144a5876fe8153d32110c4732049f9e7eed187d582
7
+ data.tar.gz: 1657318ad6a4b6da9d12f762d6d3d72411aeb9cad695b756d3c9f64b106256a36a4be5308c770bec7e8c7b26449aef5cc4e9b36c8427f5be4b2b919d415d3069
data/lib/teodoro.rb CHANGED
@@ -72,11 +72,12 @@ module Teodoro
72
72
  end
73
73
 
74
74
  def processar_empresas
75
- empresas.each(&:processar)
75
+ # otimizacao do gerenciamento de memoria
76
+ empresas.shift.processar while empresas.any?
76
77
  end
77
78
 
78
79
  def empresas
79
- Dir[File.join(origem, '*')].map { |caminho| Empresa.new(caminho: caminho, destino: destino) }
80
+ @empresas ||= Dir[File.join(origem, '*')].map { |caminho| Empresa.new(caminho: caminho, destino: destino) }
80
81
  end
81
82
  end
82
83
  end
@@ -2,13 +2,13 @@ module Teodoro
2
2
  class ArquivoData
3
3
  private
4
4
 
5
- def initialize(empresa:, nome:, itens_do_conteudo:)
6
- @empresa = empresa
5
+ def initialize(destino_dos_arquivos_data:, nome:, itens_do_conteudo:)
6
+ @destino_dos_arquivos_data = destino_dos_arquivos_data
7
7
  @nome = nome
8
8
  @itens_do_conteudo = itens_do_conteudo
9
9
  end
10
10
 
11
- attr_reader :empresa, :itens_do_conteudo
11
+ attr_reader :destino_dos_arquivos_data, :itens_do_conteudo
12
12
 
13
13
  public
14
14
 
@@ -23,25 +23,25 @@ module Teodoro
23
23
  private
24
24
 
25
25
  def caminho
26
- @caminho ||= Caminho.new(empresa: empresa, nome_do_arquivo: nome)
26
+ @caminho ||= Caminho.new(destino_dos_arquivos_data: destino_dos_arquivos_data, nome_do_arquivo: nome)
27
27
  end
28
28
 
29
29
  class Caminho
30
30
  private
31
31
 
32
- def initialize(empresa:, nome_do_arquivo:)
33
- @empresa = empresa
32
+ def initialize(destino_dos_arquivos_data:, nome_do_arquivo:)
33
+ @destino_dos_arquivos_data = destino_dos_arquivos_data
34
34
  @nome_do_arquivo = nome_do_arquivo
35
35
  end
36
36
 
37
- attr_reader :empresa, :nome_do_arquivo
37
+ attr_reader :destino_dos_arquivos_data, :nome_do_arquivo
38
38
 
39
39
  public
40
40
 
41
41
  def to_str
42
42
  @to_str ||=
43
43
  File.join(
44
- empresa.destino_dos_arquivos_data,
44
+ destino_dos_arquivos_data,
45
45
  "#{windows? ? nome_do_arquivo.gsub(%r{[<|>:"/\\?*]}, '_') : nome_do_arquivo}.data"
46
46
  )
47
47
  end
@@ -18,11 +18,11 @@ module Teodoro
18
18
  end
19
19
 
20
20
  def id_do_evento
21
- evento.css('/*').first.attributes['Id'].value
21
+ @id_do_evento ||= evento.css('/*').first.attributes['Id'].value
22
22
  end
23
23
 
24
24
  def processo_de_emissao_do_evento
25
- evento['ideEvento/procEmi']
25
+ @processo_de_emissao_do_evento ||= evento['ideEvento/procEmi']
26
26
  end
27
27
 
28
28
  def tipo_de_inscricao_do_empregador
@@ -24,7 +24,10 @@ module Teodoro
24
24
  end
25
25
 
26
26
  def caminho_do_arquivo_data_original
27
- ArquivoData::Caminho.new(empresa: empresa, nome_do_arquivo: nome_do_arquivo_data_original)
27
+ ArquivoData::Caminho.new(
28
+ destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
29
+ nome_do_arquivo: nome_do_arquivo_data_original
30
+ )
28
31
  end
29
32
 
30
33
  def nome_do_arquivo_data_original
@@ -46,7 +49,7 @@ module Teodoro
46
49
 
47
50
  def arquivo_data
48
51
  ArquivoData.new(
49
- empresa: empresa,
52
+ destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
50
53
  nome: nome_do_arquivo_data,
51
54
  itens_do_conteudo: itens_do_conteudo_do_arquivo_data
52
55
  )
@@ -39,12 +39,16 @@ module Teodoro
39
39
  end
40
40
 
41
41
  def criar_arquivos_data
42
- arquivos_data.each(&:criar)
42
+ arquivos_data.shift.criar while arquivos_data.any?
43
43
  end
44
44
 
45
45
  def arquivos_data
46
46
  @arquivos_data ||= dados_dos_arquivos_data.map {
47
- ArquivoData.new(empresa: empresa, nome: _1.nome, itens_do_conteudo: _1.itens_do_conteudo)
47
+ ArquivoData.new(
48
+ destino_dos_arquivos_data: empresa.destino_dos_arquivos_data,
49
+ nome: _1.nome,
50
+ itens_do_conteudo: _1.itens_do_conteudo
51
+ )
48
52
  }
49
53
  end
50
54
  end
@@ -108,7 +108,7 @@ module Teodoro
108
108
  end
109
109
 
110
110
  def validar_versao_do_leiaute
111
- raise unless %w[02_04_01 02_04_02 02_05_00 _S_01_00_00].include?(versao_do_leiaute)
111
+ raise unless %w[02_04_01 02_04_02 02_05_00 _S_01_00_00].include?(versao_do_leiaute) # FIXME: Tales
112
112
  end
113
113
 
114
114
  def versao_do_leiaute
@@ -120,7 +120,7 @@ module Teodoro
120
120
  end
121
121
 
122
122
  def xml_do_evento
123
- @xml_do_evento ||= Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/evento/*').to_s)
123
+ @xml_do_evento ||= Nokogiri::XML(xml.css('/eSocial/retornoProcessamentoDownload/evento/*').to_s)
124
124
  end
125
125
 
126
126
  def xml
@@ -143,7 +143,7 @@ module Teodoro
143
143
  end
144
144
 
145
145
  def evento
146
- XML.new(Nokogiri::XML(xml_do_evento.css('*/*').to_s))
146
+ XML.new(Nokogiri::XML(xml_do_evento.css('/*/*').to_s))
147
147
  end
148
148
 
149
149
  def recibo
@@ -151,7 +151,7 @@ module Teodoro
151
151
  end
152
152
 
153
153
  def xml_do_recibo
154
- Nokogiri::XML(xml.css('eSocial/retornoProcessamentoDownload/recibo/*/*').to_s)
154
+ Nokogiri::XML(xml.css('/eSocial/retornoProcessamentoDownload/recibo/*/*').to_s)
155
155
  end
156
156
  end
157
157
  end
@@ -82,11 +82,13 @@ module Teodoro
82
82
  end
83
83
 
84
84
  def descompactar_arquivos_de_origem
85
- arquivos_de_origem.each(&:descompactar)
85
+ # otimizacao do gerenciamento de memoria
86
+ arquivos_de_origem.shift.descompactar while arquivos_de_origem.any?
86
87
  end
87
88
 
88
89
  def arquivos_de_origem
89
- Dir[File.join(caminho, '*.zip')]
90
+ @arquivos_de_origem ||=
91
+ Dir[File.join(caminho, '*.zip')]
90
92
  .map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
91
93
  end
92
94
 
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.10.0
4
+ version: 0.10.1
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-21 00:00:00.000000000 Z
11
+ date: 2021-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri