teodoro 0.48.0 → 0.49.0

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: 957e85911a2adc2ba0774ef3f28bfc2ebf7ad69d384188a643512367b4b4e407
4
- data.tar.gz: 384b9d1d2534bb632e19fc211743c6879de9e86fb484cdcb88eaa893e505130b
3
+ metadata.gz: 3c59b0ea704cd0b7de3b45528c8fa6efb28629b4023733e8a0969fba6fcf1293
4
+ data.tar.gz: eaae2d034db36d9df086992286380475eea80af7dd51497c1518ab2072d95de9
5
5
  SHA512:
6
- metadata.gz: 3af72e61410633058292a573e33ad928cfa26822899a87e71bbafd00b39efd9115390dd0ab05525c3e8736d09115b9098aea22bd7700246548f9b2a1ea71672f
7
- data.tar.gz: 3ebe8fe727d678adc7643f9e95994a673a2278e0ba2fc95dc60df029b723f3cc80940c05dad973904c3618970e7cdf6eb28ef8fa76ebcd992aff5da6bd3b0713
6
+ metadata.gz: e72bc89482a1bc6c01f54ee62abfe1c2f780bf995153fc6d4b328191f179023d49247c03c7c22c4c92746884a30f3641b0452eecdd581497ddfa7ecf99b58833
7
+ data.tar.gz: b94107ddaa32192d54945abd299694ea1d7be3e1c7538bdc23fe41fab933c3a4f5621127ec303f854ac07b434b0fda64ff5f965312fb87de4f2bed53e04b4789
@@ -116,8 +116,8 @@ module Teodoro
116
116
  def nome_base_do_arquivo_data
117
117
  identificacao[0] + identificacao[1..].map { "[#{_1}]" }
118
118
  .join
119
- .tr('àáäâãèéëẽêìíïîĩòóöôõùúüûũñç'.then{ _1 + _1.upcase },
120
- 'aaaaaeeeeeiiiiiooooouuuuunc'.then{ _1 + _1.upcase })
119
+ .tr('àáäâãèéëẽêìíïîĩòóöôõùúüûũñç'.then { _1 + _1.upcase },
120
+ 'aaaaaeeeeeiiiiiooooouuuuunc'.then { _1 + _1.upcase })
121
121
  end
122
122
  end
123
123
  end
@@ -164,7 +164,6 @@ module Teodoro
164
164
  raise 'arquivo corrompido (sem data e horário do processamento do evento)'
165
165
  end
166
166
 
167
- # FIXME: Tales validate _S_01_01_00
168
167
  def validar_versao_do_leiaute
169
168
  raise unless %w[
170
169
  02_04_01
@@ -0,0 +1,39 @@
1
+ module Teodoro
2
+ class Empresa
3
+ class ArquivoDataDeAdmissaoDeTrabalhadorSemVinculo
4
+ private
5
+
6
+ def initialize(caminho)
7
+ @caminho = caminho
8
+ end
9
+
10
+ attr_reader :caminho
11
+
12
+ public
13
+
14
+ def remover_matricula_do_nome
15
+ File.rename(caminho, caminho_com_nome_sem_matricula)
16
+ end
17
+
18
+ private
19
+
20
+ def caminho_com_nome_sem_matricula
21
+ File.join(diretorio, nome_sem_a_matricula)
22
+ end
23
+
24
+ def diretorio
25
+ File.dirname(caminho)
26
+ end
27
+
28
+ def nome_sem_a_matricula
29
+ nome_original
30
+ .then { _1.match(/^(TRA\[.*\]\[TSV_.*_.*)(_.*)(\]-ADM\.data)$/) }
31
+ .then { "#{_1[1]}#{_1[3]}" }
32
+ end
33
+
34
+ def nome_original
35
+ File.basename(caminho)
36
+ end
37
+ end
38
+ end
39
+ end
@@ -1,6 +1,7 @@
1
1
  require_relative 'arquivo_de_origem'
2
2
  require_relative 'arquivo_xml'
3
3
  require_relative 'empresa/arquivos_data'
4
+ require_relative 'empresa/arquivo_data_de_admissao_de_trabalhador_sem_vinculo'
4
5
  require_relative 'empresa/arquivo_data_emp'
5
6
  require_relative 'empresa/arquivo_data_rub'
6
7
  require_relative 'empresa/arquivo_de_dados_gerais'
@@ -53,6 +54,7 @@ module Teodoro
53
54
  gerar_arquivo_de_dados_gerais
54
55
  processar_cargos_gerados
55
56
  processar_funcoes_geradas
57
+ remover_matricula_do_nome_dos_arquivos_data_de_admissao_de_trabalhador_sem_vinculo
56
58
  setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
57
59
  ajustar_nome_do_ultimo_arquivo_emp_data
58
60
  end
@@ -192,6 +194,16 @@ module Teodoro
192
194
  funcoes_geradas.each(&:processar)
193
195
  end
194
196
 
197
+ def remover_matricula_do_nome_dos_arquivos_data_de_admissao_de_trabalhador_sem_vinculo
198
+ arquivos_data_de_admissao_de_trabalhador_sem_vinculo.each(&:remover_matricula_do_nome)
199
+ end
200
+
201
+ def arquivos_data_de_admissao_de_trabalhador_sem_vinculo
202
+ File.join(destino_dos_arquivos_data, 'TRA*TSV_*_*_*-ADM.data')
203
+ .then { Dir[_1] }
204
+ .map { ArquivoDataDeAdmissaoDeTrabalhadorSemVinculo.new(_1) }
205
+ end
206
+
195
207
  def setar_proximo_identificador_de_tabela_de_rubricas_nos_arquivos_data_emp
196
208
  arquivos_data_emp.each(&:setar_proximo_identificador_de_tabela_de_rubricas)
197
209
  end
@@ -132,9 +132,14 @@ module Teodoro
132
132
  [
133
133
  Obj.new(
134
134
  nome: [
135
- "TRA[#{trabalhador.cpf}]",
136
- "[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
137
- '-ADM'
135
+ "TRA[#{trabalhador.cpf}][",
136
+ [
137
+ 'TSV',
138
+ inicio_de_contrato.categoria_do_trabalhador,
139
+ inicio_de_contrato.data_de_inicio.delete('-'),
140
+ inicio_de_contrato.matricula_do_trabalhador
141
+ ].join('_'),
142
+ ']-ADM'
138
143
  ].join,
139
144
  itens_do_conteudo: [
140
145
  # rubocop:disable Layout/LineLength
@@ -1,3 +1,3 @@
1
1
  module Teodoro
2
- VERSION = '0.48.0'.freeze
2
+ VERSION = '0.49.0'.freeze
3
3
  end
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.48.0
4
+ version: 0.49.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Fortes Tecnologia
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-08-12 00:00:00.000000000 Z
11
+ date: 2022-09-06 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -201,6 +201,7 @@ files:
201
201
  - lib/teodoro/cnpj.rb
202
202
  - lib/teodoro/console.rb
203
203
  - lib/teodoro/empresa.rb
204
+ - lib/teodoro/empresa/arquivo_data_de_admissao_de_trabalhador_sem_vinculo.rb
204
205
  - lib/teodoro/empresa/arquivo_data_emp.rb
205
206
  - lib/teodoro/empresa/arquivo_data_rub.rb
206
207
  - lib/teodoro/empresa/arquivo_de_dados_gerais.rb