teodoro 0.30.0 → 0.31.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: 9268bacec844c62cfb37185f4d805ef57449ffde909cba55d9ffe4b021970f42
4
- data.tar.gz: a776c0badec10ec504db1a452f203ca417c443915b68b01481e95b60c9edba48
3
+ metadata.gz: ec28939e9522334ae00eb19c0156388e29edd1c4a856ff607b02b7d953f5b46a
4
+ data.tar.gz: b009fba6a926c16a29fe08cbc71512fdc65dd44d79390abe5d72c7f7082f0508
5
5
  SHA512:
6
- metadata.gz: 83dd9e7fbe7e08ac0302b1e2790bc06ca96d3d518a14969b3f82b36ad353511df031b439543e8b14f6243ffc2a08f1437f0e66ccde54613ad43eae9e45cb2b3c
7
- data.tar.gz: ac359760d825c5fc3cf2cac6c78d06644a5a7bc84ffb760ec200eeaea92c2042922e984fc63d3dba15a19ca9df4828514f9659e28aa49afc1a6e502c2f75cf02
6
+ metadata.gz: d27dbfa88d752a9e9d89158d35d80de1a110bea2c15775b2c611f2812dc6e38a7c5532a1a207bd3c0010940367b085e9b87c15ab7803aafe3ebe0ea814f73dab
7
+ data.tar.gz: c5c2037380abb649596412796814652e14286a7ceeb48f1c8cd5d26cb12620972b0b31a7e042a60e9deef9fd9a5c87a2c72a209ad8f1fa428ea27939caa11626
data/lib/teodoro.rb CHANGED
@@ -12,7 +12,7 @@ require_relative 'teodoro/empresa'
12
12
  require_relative 'teodoro/obj'
13
13
 
14
14
  module Teodoro
15
- VERSION = '0.30.0'.freeze
15
+ VERSION = '0.31.0'.freeze
16
16
 
17
17
  CBOs = __FILE__
18
18
  .then { File.dirname(_1) }
@@ -70,7 +70,7 @@ module Teodoro
70
70
  end
71
71
 
72
72
  def contratos_de_trabalho_sem_vinculo
73
- @contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new
73
+ @contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new(trabalhadores)
74
74
  end
75
75
 
76
76
  def cargos_gerados
@@ -1,14 +1,25 @@
1
1
  module Teodoro
2
2
  class Empresa
3
3
  class ContratosDeTrabalhoSemVinculo
4
+ private
5
+
6
+ def initialize(trabalhadores)
7
+ @trabalhadores = trabalhadores
8
+ end
9
+
10
+ attr_reader :trabalhadores
11
+
12
+ public
13
+
4
14
  def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
5
15
  contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
16
+ trabalhadores << inicio_de_contrato.trabalhador
6
17
  end
7
18
 
8
19
  def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
9
20
  contratos
10
21
  .select {
11
- _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
22
+ _1.trabalhador.cpf == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
12
23
  _1.ativo?(data)
13
24
  }
14
25
  .max_by(&:data_de_inicio)
@@ -16,7 +27,7 @@ module Teodoro
16
27
 
17
28
  def *(cpf_do_trabalhador:, data:)
18
29
  contratos
19
- .select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
30
+ .select { _1.trabalhador.cpf == cpf_do_trabalhador && _1.ativo?(data) }
20
31
  .sort_by(&:data_de_inicio)
21
32
  end
22
33
 
@@ -44,7 +55,11 @@ module Teodoro
44
55
 
45
56
  extend Forwardable
46
57
 
47
- def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
58
+ def_delegators :inicio_de_contrato,
59
+ :trabalhador,
60
+ :categoria_do_trabalhador,
61
+ :data_de_inicio,
62
+ :recibo
48
63
 
49
64
  attr_accessor :afastamento
50
65
 
@@ -13,12 +13,7 @@ module Teodoro
13
13
 
14
14
  def registrar_inicio_de_contrato
15
15
  contratos_de_trabalho_sem_vinculo.registrar_inicio_de_contrato(
16
- inicio_de_contrato: Obj.new(
17
- cpf_do_trabalhador: cpf_do_trabalhador,
18
- categoria_do_trabalhador: categoria_do_trabalhador,
19
- data_de_inicio: data_de_inicio,
20
- recibo: numero_do_recibo
21
- ),
16
+ inicio_de_contrato: inicio_de_contrato,
22
17
  afastamento: afastamento
23
18
  )
24
19
  end
@@ -27,16 +22,38 @@ module Teodoro
27
22
  empresa.contratos_de_trabalho_sem_vinculo
28
23
  end
29
24
 
30
- def cpf_do_trabalhador
31
- @cpf_do_trabalhador ||= evento['trabalhador/cpfTrab']
32
- end
33
-
34
- def categoria_do_trabalhador
35
- @categoria_do_trabalhador ||= evento['infoTSVInicio/codCateg']
25
+ def inicio_de_contrato
26
+ @inicio_de_contrato ||= Obj.new(
27
+ trabalhador: trabalhador,
28
+ categoria_do_trabalhador: evento['infoTSVInicio/codCateg'],
29
+ data_de_inicio: evento['infoTSVInicio/dtInicio'],
30
+ recibo: numero_do_recibo
31
+ )
36
32
  end
37
33
 
38
- def data_de_inicio
39
- @data_de_inicio ||= evento['infoTSVInicio/dtInicio']
34
+ def trabalhador # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
35
+ @trabalhador ||= Obj.new(
36
+ cpf: evento['trabalhador/cpfTrab'],
37
+ nis: evento['trabalhador/nisTrab'],
38
+ nome: evento['trabalhador/nmTrab'],
39
+ sexo: evento['trabalhador/sexo'],
40
+ raca_cor: evento['trabalhador/racaCor'],
41
+ estado_civil: evento['trabalhador/estCiv'],
42
+ grau_de_instrucao: evento['trabalhador/grauInstr'],
43
+ nome_social: evento['trabalhador/nmSoc'],
44
+ data_de_nascimento: evento['trabalhador/nascimento/dtNascto'],
45
+ codigo_do_municipio_de_nascimento: evento['trabalhador/nascimento/codMunic'],
46
+ uf_de_nascimento: evento['trabalhador/nascimento/uf'],
47
+ pais_de_nascimento: evento['trabalhador/nascimento/paisNascto'],
48
+ pais_de_nacionalidade: evento['trabalhador/nascimento/paisNac'],
49
+ nome_da_mae: evento['trabalhador/nascimento/nmMae'],
50
+ nome_do_pai: evento['trabalhador/nascimento/nmPai'],
51
+ reside_no_exterior?: evento['trabalhador/endereco/exterior'],
52
+ estrangeiro?: evento['trabalhador/trabEstrangeiro'],
53
+ data_de_chegada_ao_brasil: evento['trabalhador/trabEstrangeiro/dtChegada'],
54
+ casado_com_brasileiro: evento['trabalhador/trabEstrangeiro/casadoBr'],
55
+ filhos_brasileiros: evento['trabalhador/trabEstrangeiro/filhosBr']
56
+ )
40
57
  end
41
58
 
42
59
  def afastamento
@@ -49,18 +66,22 @@ module Teodoro
49
66
  def dados_dos_arquivos_data # rubocop:disable Metrics/AbcSize, Metrics/MethodLength
50
67
  [
51
68
  Obj.new(
52
- nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-ADM",
69
+ nome: [
70
+ "TRA[#{trabalhador.cpf}]",
71
+ "[TSV_#{inicio_de_contrato.categoria_do_trabalhador}_#{inicio_de_contrato.data_de_inicio.delete('-')}]",
72
+ '-ADM'
73
+ ].join,
53
74
  itens_do_conteudo: [
54
75
  # rubocop:disable Layout/LineLength
55
- ['ESX_CPF', cpf_do_trabalhador],
56
- ['ESX_CATEGORIA', categoria_do_trabalhador],
76
+ ['ESX_CPF', trabalhador.cpf],
77
+ ['ESX_CATEGORIA', inicio_de_contrato.categoria_do_trabalhador],
57
78
  %w[ESX_SEMVINCULO 1],
58
- ['ESX_DATAADMISSAO', data_de_inicio, :data],
79
+ ['ESX_DATAADMISSAO', inicio_de_contrato.data_de_inicio, :data],
59
80
  ['IdEventoXml', id_do_evento],
60
81
  ['NrReciboEventoOriginal'],
61
82
  ['EventoAdmissao_NrRecibo'],
62
83
  ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial', evento['infoTSVInicio/cadIni']],
63
- ['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
84
+ ['EventoAdmissao_InformacoesInicio_DataInicio', inicio_de_contrato.data_de_inicio, :data],
64
85
  ['SomenteLeitura'],
65
86
  ['UrlRetorno'],
66
87
  ['IdEvento'],
@@ -71,37 +92,37 @@ module Teodoro
71
92
  ['autocomplete_EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
72
93
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
73
94
  ['VerProc', versao_do_processo_de_emissao_do_evento],
74
- ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
75
- ['EventoAdmissao_InfoTrabalhador_Nome', evento['trabalhador/nmTrab']],
76
- ['EventoAdmissao_InfoTrabalhador_Nis', evento['trabalhador/nisTrab']],
77
- ['EventoAdmissao_InfoTrabalhador_Sexo', evento['trabalhador/sexo']],
95
+ ['EventoAdmissao_InfoTrabalhador_Cpf', trabalhador.cpf],
96
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
97
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
98
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
78
99
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
79
- ['EventoAdmissao_InfoTrabalhador_RacaCor', evento['trabalhador/racaCor']],
100
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
80
101
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
81
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil', evento['trabalhador/estCiv']],
102
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
82
103
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
83
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', evento['trabalhador/grauInstr']],
104
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
84
105
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
85
- ['EventoAdmissao_InfoTrabalhador_NomeSocial', evento['trabalhador/nmSoc']],
86
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', codigo_do_municipio_de_nascimento_do_trabalhador],
87
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[codigo_do_municipio_de_nascimento_do_trabalhador]],
88
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', evento['trabalhador/nascimento/dtNascto'], :data],
89
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', evento['trabalhador/nascimento/nmMae']],
90
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', evento['trabalhador/nascimento/nmPai']],
91
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', evento['trabalhador/nascimento/paisNascto']],
106
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
107
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
108
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
109
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
110
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
111
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
112
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
92
113
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
93
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', evento['trabalhador/nascimento/paisNac']],
114
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
94
115
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
95
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', evento['trabalhador/nascimento/uf']],
116
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
96
117
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
97
118
  ['SemNumeroLogradouroEnderecoBR'],
98
119
  ['ResideExterior', evento['trabalhador/endereco/exterior'], :bool],
99
120
  ['SemNumeroLogradouroEnderecoEX'],
100
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', evento['trabalhador/trabEstrangeiro/casadoBr']],
121
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
101
122
  de_acordo_com_a_versao_do_leiaute['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
102
123
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
103
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', evento['trabalhador/trabEstrangeiro/dtChegada'], :data],
104
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', evento['trabalhador/trabEstrangeiro/filhosBr']],
124
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
125
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
105
126
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh', evento['trabalhador/documentos/CNH/categoriaCnh']],
106
127
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
107
128
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao', evento['trabalhador/documentos/CNH/dtExped'], :data],
@@ -163,7 +184,7 @@ module Teodoro
163
184
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NivelEstagio', evento['infoTSVInicio/infoComplementares/infoEstagiario/nivEstagio']],
164
185
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_NrApoliceSeguro', evento['infoTSVInicio/infoComplementares/infoEstagiario/nrApol']],
165
186
  ['EventoAdmissao_InformacoesInicio_InformacoesComplementares_InfoEstagiario_ValorBolsa', evento['infoTSVInicio/infoComplementares/infoEstagiario/vlrBolsa'], :decimal],
166
- ['EventoAdmissao_InformacoesInicio_CodigoCategoria', categoria_do_trabalhador],
187
+ ['EventoAdmissao_InformacoesInicio_CodigoCategoria', inicio_de_contrato.categoria_do_trabalhador],
167
188
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
168
189
  ['IdEventoXml', id_do_evento],
169
190
  ['NrReciboEventoOriginal', numero_do_recibo],
@@ -187,10 +208,6 @@ module Teodoro
187
208
  ]
188
209
  end
189
210
 
190
- def codigo_do_municipio_de_nascimento_do_trabalhador
191
- @codigo_do_municipio_de_nascimento_do_trabalhador ||= evento['trabalhador/nascimento/codMunic']
192
- end
193
-
194
211
  def de_acordo_com_a_versao_do_leiaute
195
212
  @de_acordo_com_a_versao_do_leiaute ||=
196
213
  if leiaute_simplificado?
@@ -16,7 +16,7 @@ module Teodoro
16
16
  end
17
17
 
18
18
  def contrato_de_trabalho
19
- contratos_de_trabalho_sem_vinculo[
19
+ @contrato_de_trabalho ||= contratos_de_trabalho_sem_vinculo[
20
20
  cpf_do_trabalhador: cpf_do_trabalhador,
21
21
  categoria_do_trabalhador: categoria_do_trabalhador,
22
22
  data: data_do_termino
@@ -39,7 +39,7 @@ module Teodoro
39
39
  @categoria_do_trabalhador ||= evento['ideTrabSemVinculo/codCateg']
40
40
  end
41
41
 
42
- def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength
42
+ def dados_dos_arquivos_data # rubocop:disable Metrics/MethodLength, Metrics/AbcSize
43
43
  [
44
44
  Obj.new(
45
45
  nome: "TRA[#{cpf_do_trabalhador}][TSV_#{categoria_do_trabalhador}_#{data_de_inicio.delete('-')}]-GER",
@@ -56,7 +56,7 @@ module Teodoro
56
56
  ['EventoAdmissao_NrRecibo'],
57
57
  ['EventoAdmissao_DataAlteracaoCadastral'],
58
58
  ['EventoAdmissao_InformacoesInicio_IndicativoCadastramentoInicial'],
59
- ['EventoAdmissao_InformacoesInicio_DataInicio'],
59
+ ['EventoAdmissao_InformacoesInicio_DataInicio', data_de_inicio, :data],
60
60
  ['EventoAdmissao_DataAlteracaoContratual'],
61
61
  ['SomenteLeitura'],
62
62
  ['UrlRetorno'],
@@ -71,36 +71,36 @@ module Teodoro
71
71
  ['DescricaoProcEmi', processo_de_emissao_do_evento],
72
72
  ['VerProc', versao_do_processo_de_emissao_do_evento],
73
73
  ['EventoAdmissao_InfoTrabalhador_Cpf', cpf_do_trabalhador],
74
- ['EventoAdmissao_InfoTrabalhador_Nome'],
75
- ['EventoAdmissao_InfoTrabalhador_Nis'],
76
- ['EventoAdmissao_InfoTrabalhador_Sexo'],
74
+ ['EventoAdmissao_InfoTrabalhador_Nome', trabalhador.nome],
75
+ ['EventoAdmissao_InfoTrabalhador_Nis', trabalhador.nis],
76
+ ['EventoAdmissao_InfoTrabalhador_Sexo', trabalhador.sexo],
77
77
  ['EventoAdmissao_InfoTrabalhador_Sexo_TEXT'],
78
- ['EventoAdmissao_InfoTrabalhador_RacaCor'],
78
+ ['EventoAdmissao_InfoTrabalhador_RacaCor', trabalhador.raca_cor],
79
79
  ['EventoAdmissao_InfoTrabalhador_RacaCor_TEXT'],
80
- ['EventoAdmissao_InfoTrabalhador_EstadoCivil'],
80
+ ['EventoAdmissao_InfoTrabalhador_EstadoCivil', trabalhador.estado_civil],
81
81
  ['EventoAdmissao_InfoTrabalhador_EstadoCivil_TEXT'],
82
- ['EventoAdmissao_InfoTrabalhador_GrauInstrucao'],
82
+ ['EventoAdmissao_InfoTrabalhador_GrauInstrucao', trabalhador.grau_de_instrucao],
83
83
  ['EventoAdmissao_InfoTrabalhador_GrauInstrucao_TEXT'],
84
- ['EventoAdmissao_InfoTrabalhador_NomeSocial'],
85
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio'],
86
- ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT'],
87
- ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento'],
88
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae'],
89
- ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai'],
90
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento'],
84
+ ['EventoAdmissao_InfoTrabalhador_NomeSocial', trabalhador.nome_social],
85
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio', trabalhador.codigo_do_municipio_de_nascimento],
86
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_CodigoMunicipio_TEXT', Municipios[trabalhador.codigo_do_municipio_de_nascimento]],
87
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_DataNascimento', trabalhador.data_de_nascimento, :data],
88
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomeMae', trabalhador.nome_da_mae],
89
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_NomePai', trabalhador.nome_do_pai],
90
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento', trabalhador.pais_de_nascimento],
91
91
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNascimento_TEXT'],
92
- ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade'],
92
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade', trabalhador.pais_de_nacionalidade],
93
93
  ['EventoAdmissao_InfoTrabalhador_Nascimento_PaisNacionalidade_TEXT'],
94
- ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf'],
94
+ ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf', trabalhador.uf_de_nascimento],
95
95
  ['EventoAdmissao_InfoTrabalhador_Nascimento_Uf_TEXT'],
96
96
  ['SemNumeroLogradouroEnderecoBR'],
97
- ['ResideExterior'],
97
+ ['ResideExterior', trabalhador.reside_no_exterior?, :bool],
98
98
  ['SemNumeroLogradouroEnderecoEX'],
99
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro'],
99
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_CasadoComBrasileiro', (trabalhador.casado_com_brasileiro if trabalhador.estrangeiro?)],
100
100
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao'],
101
101
  ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_ClassificacaoCondicao_TEXT'],
102
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada'],
103
- ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros'],
102
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_DataChegada', (trabalhador.data_de_chegada_ao_brasil if trabalhador.estrangeiro?), :data],
103
+ ['EventoAdmissao_InfoTrabalhador_TrabalhadorEstrangeiro_FilhosBrasileiros', (trabalhador.filhos_brasileiros if trabalhador.estrangeiro?)],
104
104
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh'],
105
105
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_CategoriaCnh_TEXT'],
106
106
  ['EventoAdmissao_InfoTrabalhador_Documentos_Cnh_DataExpedicao'],
@@ -159,6 +159,10 @@ module Teodoro
159
159
  def data_de_inicio
160
160
  contrato_de_trabalho.data_de_inicio
161
161
  end
162
+
163
+ def trabalhador
164
+ @trabalhador ||= empresa.trabalhadores[cpf_do_trabalhador]
165
+ end
162
166
  end
163
167
  end
164
168
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: teodoro
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.30.0
4
+ version: 0.31.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Clavius Tales