teodoro 0.30.0 → 0.31.0

Sign up to get free protection for your applications and to get access to all the features.
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