teodoro 0.6.1 → 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 +4 -4
- data/lib/teodoro.rb +3 -2
- data/lib/teodoro/arquivo_data.rb +87 -0
- data/lib/teodoro/arquivo_de_evento.rb +14 -2
- data/lib/teodoro/arquivo_de_evento_de_tabela.rb +32 -14
- data/lib/teodoro/arquivo_de_evento_nao_periodico.rb +42 -12
- data/lib/teodoro/arquivo_de_origem.rb +7 -7
- data/lib/teodoro/arquivo_xml.rb +48 -24
- data/lib/teodoro/console.rb +3 -1
- data/lib/teodoro/empresa.rb +181 -161
- data/lib/teodoro/leiaute/arquivo_s1000.rb +20 -24
- data/lib/teodoro/leiaute/arquivo_s1005.rb +12 -18
- data/lib/teodoro/leiaute/arquivo_s1010.rb +9 -13
- data/lib/teodoro/leiaute/arquivo_s1020.rb +6 -10
- data/lib/teodoro/leiaute/arquivo_s1030.rb +4 -8
- data/lib/teodoro/leiaute/arquivo_s1040.rb +3 -7
- data/lib/teodoro/leiaute/arquivo_s1050.rb +6 -12
- data/lib/teodoro/leiaute/arquivo_s1070.rb +9 -13
- data/lib/teodoro/leiaute/arquivo_s2190.rb +16 -17
- data/lib/teodoro/leiaute/arquivo_s2200.rb +161 -185
- data/lib/teodoro/leiaute/arquivo_s2205.rb +132 -167
- data/lib/teodoro/leiaute/arquivo_s2206.rb +72 -75
- data/lib/teodoro/leiaute/arquivo_s2230.rb +87 -91
- data/lib/teodoro/leiaute/arquivo_s2250.rb +36 -40
- data/lib/teodoro/leiaute/arquivo_s2299.rb +171 -169
- data/lib/teodoro/leiaute/arquivo_s2300.rb +135 -159
- data/lib/teodoro/leiaute/arquivo_s2306.rb +148 -151
- data/lib/teodoro/leiaute/arquivo_s2399.rb +123 -127
- data/lib/teodoro/leiaute/arquivo_s3000.rb +4 -8
- data/lib/teodoro/xml.rb +2 -2
- metadata +3 -5
- data/lib/teodoro/arquivo_de_evento_criador_de_arquivo_data.rb +0 -52
- data/lib/teodoro/arquivo_de_evento_processador_de_arquivo_data.rb +0 -30
- data/lib/teodoro/arquivo_de_evento_retificavel.rb +0 -23
data/lib/teodoro/console.rb
CHANGED
data/lib/teodoro/empresa.rb
CHANGED
@@ -5,195 +5,220 @@ module Teodoro
|
|
5
5
|
class Empresa
|
6
6
|
private
|
7
7
|
|
8
|
-
def initialize(
|
9
|
-
@
|
10
|
-
@destino = File.join(destino, nome_do_diretorio)
|
8
|
+
def initialize(args)
|
9
|
+
@impl = Impl.new(**args)
|
11
10
|
end
|
12
11
|
|
13
|
-
attr_reader :
|
12
|
+
attr_reader :impl
|
14
13
|
|
15
14
|
public
|
16
15
|
|
17
16
|
def processar
|
18
|
-
|
19
|
-
criar_diretorio_destino
|
20
|
-
criar_diretorio_dos_arquivos_xml
|
21
|
-
descompactar_arquivos_de_origem
|
22
|
-
criar_diretorio_dos_arquivos_data
|
23
|
-
ordenar_arquivos_xml
|
24
|
-
processar_arquivos_xml
|
25
|
-
limpar_linha_de_feedback
|
17
|
+
impl.processar
|
26
18
|
end
|
27
19
|
|
28
|
-
|
29
|
-
|
30
|
-
def dar_feedback_para_o_usuario
|
31
|
-
puts Rainbow(nome_do_diretorio).green
|
32
|
-
end
|
33
|
-
|
34
|
-
def nome_do_diretorio
|
35
|
-
@nome_do_diretorio ||= File.basename(caminho)
|
36
|
-
end
|
37
|
-
|
38
|
-
def criar_diretorio_destino
|
39
|
-
Dir.mkdir(destino)
|
40
|
-
end
|
41
|
-
|
42
|
-
def criar_diretorio_dos_arquivos_xml
|
43
|
-
Dir.mkdir(destino_dos_arquivos_xml)
|
44
|
-
end
|
45
|
-
|
46
|
-
def destino_dos_arquivos_xml
|
47
|
-
@destino_dos_arquivos_xml ||= File.join(destino, 'xmls')
|
48
|
-
end
|
49
|
-
|
50
|
-
def descompactar_arquivos_de_origem
|
51
|
-
arquivos_de_origem.each(&:descompactar)
|
52
|
-
end
|
20
|
+
class Impl
|
21
|
+
private
|
53
22
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
23
|
+
def initialize(caminho:, destino:)
|
24
|
+
@caminho = caminho
|
25
|
+
@destino = File.join(destino, nome_do_diretorio)
|
26
|
+
end
|
58
27
|
|
59
|
-
|
60
|
-
Dir.mkdir(destino_dos_arquivos_data)
|
61
|
-
end
|
28
|
+
attr_reader :caminho, :destino
|
62
29
|
|
63
|
-
|
64
|
-
@destino_dos_arquivos_data ||= File.join(destino, 'data')
|
65
|
-
end
|
30
|
+
public
|
66
31
|
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
32
|
+
attr_reader :arquivos_xml_por_recibo_a_retificar
|
33
|
+
|
34
|
+
def processar
|
35
|
+
dar_feedback_para_o_usuario
|
36
|
+
criar_diretorio_destino
|
37
|
+
criar_diretorio_dos_arquivos_xml
|
38
|
+
descompactar_arquivos_de_origem
|
39
|
+
criar_diretorio_dos_arquivos_data
|
40
|
+
carregar_arquivos_xml
|
41
|
+
classificar_arquivos_xml
|
42
|
+
ordenar_arquivos_xml
|
43
|
+
processar_arquivos_xml
|
44
|
+
end
|
71
45
|
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
end
|
46
|
+
def destino_dos_arquivos_data
|
47
|
+
@destino_dos_arquivos_data ||= File.join(destino, 'data')
|
48
|
+
end
|
76
49
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
.select(&:processavel?)
|
81
|
-
end
|
50
|
+
def arquivos_data
|
51
|
+
@arquivos_data ||= ArquivosData.new(destino_dos_arquivos_data)
|
52
|
+
end
|
82
53
|
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
arquivos_data: ArquivosData.new(destino_dos_arquivos_data),
|
87
|
-
contratos_de_emprego: ContratosDeEmprego.new,
|
88
|
-
contratos_de_trabalho_sem_vinculo: ContratosDeTrabalhoSemVinculo.new
|
89
|
-
)
|
90
|
-
end
|
54
|
+
def contratos_de_emprego
|
55
|
+
@contratos_de_emprego ||= ContratosDeEmprego.new
|
56
|
+
end
|
91
57
|
|
92
|
-
|
93
|
-
|
94
|
-
|
58
|
+
def contratos_de_trabalho_sem_vinculo
|
59
|
+
@contratos_de_trabalho_sem_vinculo ||= ContratosDeTrabalhoSemVinculo.new
|
60
|
+
end
|
95
61
|
|
96
|
-
class ArquivosData
|
97
62
|
private
|
98
63
|
|
99
|
-
def
|
100
|
-
|
64
|
+
def dar_feedback_para_o_usuario
|
65
|
+
puts Rainbow(nome_do_diretorio).green
|
101
66
|
end
|
102
67
|
|
103
|
-
|
104
|
-
|
105
|
-
|
68
|
+
def nome_do_diretorio
|
69
|
+
@nome_do_diretorio ||= File.basename(caminho)
|
70
|
+
end
|
106
71
|
|
107
|
-
def
|
108
|
-
(
|
72
|
+
def criar_diretorio_destino
|
73
|
+
Dir.mkdir(destino)
|
109
74
|
end
|
110
75
|
|
111
|
-
def
|
112
|
-
|
113
|
-
.map { |nome| File.join(destino_dos_arquivos_data, "#{nome}.data") }
|
114
|
-
.each { File.delete(_1) }
|
76
|
+
def criar_diretorio_dos_arquivos_xml
|
77
|
+
Dir.mkdir(destino_dos_arquivos_xml)
|
115
78
|
end
|
116
79
|
|
117
|
-
|
80
|
+
def destino_dos_arquivos_xml
|
81
|
+
@destino_dos_arquivos_xml ||= File.join(destino, 'xmls')
|
82
|
+
end
|
118
83
|
|
119
|
-
def
|
120
|
-
|
84
|
+
def descompactar_arquivos_de_origem
|
85
|
+
# otimizacao do gerenciamento de memoria
|
86
|
+
arquivos_de_origem.shift.descompactar while arquivos_de_origem.any?
|
121
87
|
end
|
122
|
-
end
|
123
88
|
|
124
|
-
|
125
|
-
|
126
|
-
|
89
|
+
def arquivos_de_origem
|
90
|
+
@arquivos_de_origem ||=
|
91
|
+
Dir[File.join(caminho, '*.zip')]
|
92
|
+
.map { |caminho| ArquivoDeOrigem.new(caminho: caminho, destino_dos_arquivos_xml: destino_dos_arquivos_xml) }
|
127
93
|
end
|
128
94
|
|
129
|
-
def
|
130
|
-
|
131
|
-
contratos_por_matricula[matricula]
|
132
|
-
else
|
133
|
-
contratos.find { _1.recibo == recibo }
|
134
|
-
end
|
95
|
+
def criar_diretorio_dos_arquivos_data
|
96
|
+
Dir.mkdir(destino_dos_arquivos_data)
|
135
97
|
end
|
136
98
|
|
137
|
-
def
|
138
|
-
|
139
|
-
.select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
|
140
|
-
.sort_by(&:data_de_admissao)
|
99
|
+
def carregar_arquivos_xml
|
100
|
+
arquivos_xml.each(&:carregar)
|
141
101
|
end
|
142
102
|
|
143
|
-
def
|
144
|
-
|
103
|
+
def arquivos_xml
|
104
|
+
@arquivos_xml ||=
|
105
|
+
Dir[File.join(destino_dos_arquivos_xml, '*.xml')]
|
106
|
+
.map { |caminho| ArquivoXML.new(empresa: self, caminho: caminho) }
|
145
107
|
end
|
146
108
|
|
147
|
-
|
109
|
+
def classificar_arquivos_xml
|
110
|
+
Console.print 'classificando os arquivos XML...' do
|
111
|
+
arquivos_xml
|
112
|
+
.select(&:processavel?)
|
113
|
+
.partition(&:retificacao?)
|
114
|
+
.then do |de_retificacao, exceto_de_retificacao|
|
115
|
+
@arquivos_xml_por_recibo_a_retificar = de_retificacao.map { [_1.numero_do_recibo_a_retificar, _1] }.to_h
|
116
|
+
@arquivos_xml = exceto_de_retificacao
|
117
|
+
end
|
118
|
+
end
|
119
|
+
end
|
148
120
|
|
149
|
-
def
|
150
|
-
|
121
|
+
def ordenar_arquivos_xml
|
122
|
+
Console.print 'ordenando os arquivos XML...' do
|
123
|
+
arquivos_xml.sort_by! { [_1.momento_de_processamento_pelo_e_social, _1.nome] }
|
124
|
+
end
|
151
125
|
end
|
152
126
|
|
153
|
-
def
|
154
|
-
|
127
|
+
def processar_arquivos_xml
|
128
|
+
# otimizacao do gerenciamento de memoria
|
129
|
+
arquivos_xml.shift.processar while arquivos_xml.any?
|
155
130
|
end
|
156
131
|
|
157
|
-
class
|
132
|
+
class ArquivosData
|
158
133
|
private
|
159
134
|
|
160
|
-
def initialize(
|
161
|
-
@
|
162
|
-
@afastamento = afastamento
|
135
|
+
def initialize(destino_dos_arquivos_data)
|
136
|
+
@destino_dos_arquivos_data = destino_dos_arquivos_data
|
163
137
|
end
|
164
138
|
|
165
|
-
attr_reader :
|
139
|
+
attr_reader :destino_dos_arquivos_data
|
166
140
|
|
167
141
|
public
|
168
142
|
|
169
|
-
|
143
|
+
def registrar(recibo:, nome:)
|
144
|
+
(nomes_por_recibo[recibo] ||= []) << nome
|
145
|
+
end
|
146
|
+
|
147
|
+
def excluir(recibo)
|
148
|
+
(nomes_por_recibo.delete(recibo) || [])
|
149
|
+
.map { |nome| File.join(destino_dos_arquivos_data, "#{nome}.data") }
|
150
|
+
.each { File.delete(_1) }
|
151
|
+
end
|
170
152
|
|
171
|
-
|
153
|
+
private
|
172
154
|
|
173
|
-
|
155
|
+
def nomes_por_recibo
|
156
|
+
@nomes_por_recibo ||= {}
|
157
|
+
end
|
158
|
+
end
|
174
159
|
|
175
|
-
|
160
|
+
class ContratosDeEmprego
|
161
|
+
def registrar_admissao(admissao:, afastamento:)
|
162
|
+
contratos_por_matricula[admissao.matricula] = Contrato.new(admissao: admissao, afastamento: afastamento)
|
163
|
+
end
|
176
164
|
|
177
|
-
def
|
178
|
-
|
165
|
+
def [](matricula)
|
166
|
+
contratos_por_matricula[matricula]
|
179
167
|
end
|
180
168
|
|
181
|
-
def
|
182
|
-
|
183
|
-
|
169
|
+
def *(cpf_do_trabalhador:, data:)
|
170
|
+
contratos
|
171
|
+
.select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
|
172
|
+
.sort_by(&:data_de_admissao)
|
184
173
|
end
|
185
|
-
end
|
186
|
-
end
|
187
174
|
|
188
|
-
|
189
|
-
|
190
|
-
|
175
|
+
def remover(recibo)
|
176
|
+
contratos_por_matricula.delete_if { _2.recibo == recibo }
|
177
|
+
end
|
178
|
+
|
179
|
+
private
|
180
|
+
|
181
|
+
def contratos_por_matricula
|
182
|
+
@contratos_por_matricula ||= {}
|
183
|
+
end
|
184
|
+
|
185
|
+
def contratos
|
186
|
+
contratos_por_matricula.values
|
187
|
+
end
|
188
|
+
|
189
|
+
class Contrato
|
190
|
+
private
|
191
|
+
|
192
|
+
def initialize(admissao:, afastamento:)
|
193
|
+
@admissao = admissao
|
194
|
+
@afastamento = afastamento
|
195
|
+
end
|
196
|
+
|
197
|
+
attr_reader :admissao, :data_de_desligamento
|
198
|
+
|
199
|
+
public
|
200
|
+
|
201
|
+
extend Forwardable
|
202
|
+
|
203
|
+
def_delegators :admissao, :matricula, :data_de_admissao, :categoria_do_trabalhador, :cpf_do_trabalhador,
|
204
|
+
:recibo
|
205
|
+
|
206
|
+
attr_accessor :afastamento
|
207
|
+
|
208
|
+
attr_writer :data_de_desligamento
|
209
|
+
|
210
|
+
def ativo?(data)
|
211
|
+
data_de_admissao <= data && (!data_de_desligamento || data_de_desligamento >= data)
|
212
|
+
end
|
213
|
+
end
|
191
214
|
end
|
192
215
|
|
193
|
-
|
194
|
-
|
195
|
-
contratos
|
196
|
-
|
216
|
+
class ContratosDeTrabalhoSemVinculo
|
217
|
+
def registrar_inicio_de_contrato(inicio_de_contrato:, afastamento:)
|
218
|
+
contratos << Contrato.new(inicio_de_contrato: inicio_de_contrato, afastamento: afastamento)
|
219
|
+
end
|
220
|
+
|
221
|
+
def [](cpf_do_trabalhador:, categoria_do_trabalhador:, data:)
|
197
222
|
contratos
|
198
223
|
.select {
|
199
224
|
_1.cpf_do_trabalhador == cpf_do_trabalhador && _1.categoria_do_trabalhador == categoria_do_trabalhador &&
|
@@ -201,51 +226,46 @@ module Teodoro
|
|
201
226
|
}
|
202
227
|
.max_by(&:data_de_inicio)
|
203
228
|
end
|
204
|
-
end
|
205
|
-
|
206
|
-
def *(cpf_do_trabalhador:, data:)
|
207
|
-
contratos
|
208
|
-
.select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
|
209
|
-
.sort_by(&:data_de_inicio)
|
210
|
-
end
|
211
229
|
|
212
|
-
|
213
|
-
|
214
|
-
|
215
|
-
|
216
|
-
|
230
|
+
def *(cpf_do_trabalhador:, data:)
|
231
|
+
contratos
|
232
|
+
.select { _1.cpf_do_trabalhador == cpf_do_trabalhador && _1.ativo?(data) }
|
233
|
+
.sort_by(&:data_de_inicio)
|
234
|
+
end
|
217
235
|
|
218
|
-
|
219
|
-
|
220
|
-
|
236
|
+
def remover(recibo)
|
237
|
+
contratos.delete_if { _1.recibo == recibo }
|
238
|
+
end
|
221
239
|
|
222
|
-
class Contrato
|
223
240
|
private
|
224
241
|
|
225
|
-
def
|
226
|
-
@
|
227
|
-
@afastamento = afastamento
|
242
|
+
def contratos
|
243
|
+
@contratos ||= []
|
228
244
|
end
|
229
245
|
|
230
|
-
|
246
|
+
class Contrato
|
247
|
+
private
|
231
248
|
|
232
|
-
|
249
|
+
def initialize(inicio_de_contrato:, afastamento:)
|
250
|
+
@inicio_de_contrato = inicio_de_contrato
|
251
|
+
@afastamento = afastamento
|
252
|
+
end
|
233
253
|
|
234
|
-
|
254
|
+
attr_reader :inicio_de_contrato, :data_do_termino
|
235
255
|
|
236
|
-
|
256
|
+
public
|
237
257
|
|
238
|
-
|
258
|
+
extend Forwardable
|
239
259
|
|
240
|
-
|
260
|
+
def_delegators :inicio_de_contrato, :cpf_do_trabalhador, :categoria_do_trabalhador, :data_de_inicio, :recibo
|
241
261
|
|
242
|
-
|
243
|
-
|
244
|
-
|
262
|
+
attr_accessor :afastamento
|
263
|
+
|
264
|
+
attr_writer :data_do_termino
|
245
265
|
|
246
|
-
|
247
|
-
|
248
|
-
|
266
|
+
def ativo?(data)
|
267
|
+
data_de_inicio <= data && (!data_do_termino || data_do_termino >= data)
|
268
|
+
end
|
249
269
|
end
|
250
270
|
end
|
251
271
|
end
|
@@ -5,10 +5,6 @@ module Teodoro
|
|
5
5
|
|
6
6
|
private
|
7
7
|
|
8
|
-
def noh_principal_do_evento
|
9
|
-
'evtInfoEmpregador'
|
10
|
-
end
|
11
|
-
|
12
8
|
def noh_de_informacoes_do_evento
|
13
9
|
'infoEmpregador'
|
14
10
|
end
|
@@ -52,7 +48,7 @@ module Teodoro
|
|
52
48
|
end
|
53
49
|
|
54
50
|
def numero_de_inscricao
|
55
|
-
@numero_de_inscricao ||= evento['
|
51
|
+
@numero_de_inscricao ||= evento['ideEmpregador/nrInsc']
|
56
52
|
end
|
57
53
|
|
58
54
|
def cnpj_raiz
|
@@ -79,31 +75,31 @@ module Teodoro
|
|
79
75
|
['RetornoAction'],
|
80
76
|
['ehOrgaoPublico', [orgao_publico?, :bool]],
|
81
77
|
['ehOrgaoPublicoUniao', [orgao_publico?, :bool]],
|
82
|
-
['ehOrgaoPublicoEstadualMunicipalDistrital', [evento['
|
78
|
+
['ehOrgaoPublicoEstadualMunicipalDistrital', [evento['infoEmpregador/*/infoCadastro/infoOP/infoEnte'], :bool]],
|
83
79
|
['ExibeModoCompleto'],
|
84
80
|
['InicioValidade', [inicio_da_validade, :mes_ano]],
|
85
81
|
['FimValidade', [fim_da_validade, :mes_ano]],
|
86
82
|
['NomeRazaoSocial', nome_ou_razao_social],
|
87
|
-
['ClassificacaoTributaria', evento['
|
88
|
-
['NaturezaJuridica', evento['
|
89
|
-
['IndicativoRegEletronico', evento['
|
90
|
-
['IndicativoCooperativa', evento['
|
91
|
-
['IndicativoConstrutora', evento['
|
92
|
-
['IndicativoDesoneracaoFolha', evento['
|
93
|
-
['IndicativoEntidadeEducativa', evento['
|
94
|
-
['IndicativoEmpresaTrabalhoTemporario', evento['
|
95
|
-
['CpfContato', evento['
|
96
|
-
['NomeContato', evento['
|
97
|
-
['TelefoneFixo', evento['
|
98
|
-
['TelefoneCelular', evento['
|
99
|
-
['Email', evento['
|
83
|
+
['ClassificacaoTributaria', evento['infoEmpregador/*/infoCadastro/classTrib']],
|
84
|
+
['NaturezaJuridica', evento['infoEmpregador/*/infoCadastro/natJurid']],
|
85
|
+
['IndicativoRegEletronico', evento['infoEmpregador/*/infoCadastro/indOptRegEletron']],
|
86
|
+
['IndicativoCooperativa', evento['infoEmpregador/*/infoCadastro/indCoop']],
|
87
|
+
['IndicativoConstrutora', evento['infoEmpregador/*/infoCadastro/indConstr']],
|
88
|
+
['IndicativoDesoneracaoFolha', evento['infoEmpregador/*/infoCadastro/indDesFolha']],
|
89
|
+
['IndicativoEntidadeEducativa', evento['infoEmpregador/*/infoCadastro/indEntEd']],
|
90
|
+
['IndicativoEmpresaTrabalhoTemporario', evento['infoEmpregador/*/infoCadastro/indEtt']],
|
91
|
+
['CpfContato', evento['infoEmpregador/*/infoCadastro/contato/cpfCtt']],
|
92
|
+
['NomeContato', evento['infoEmpregador/*/infoCadastro/contato/nmCtt']],
|
93
|
+
['TelefoneFixo', evento['infoEmpregador/*/infoCadastro/contato/foneFixo']],
|
94
|
+
['TelefoneCelular', evento['infoEmpregador/*/infoCadastro/contato/foneCel']],
|
95
|
+
['Email', evento['infoEmpregador/*/infoCadastro/contato/email']],
|
100
96
|
['SoftwareHouseTela_CnpjSoftwareHouse'],
|
101
97
|
['SoftwareHouseTela_NomeRazaoSocial'],
|
102
98
|
['SoftwareHouseTela_NomeContato'],
|
103
99
|
['SoftwareHouseTela_Telefone'],
|
104
100
|
['SoftwareHouseTela_Email'],
|
105
|
-
['IndicativoSituacaoPF', evento['
|
106
|
-
['IndicativoSituacaoPJ', evento['
|
101
|
+
['IndicativoSituacaoPF', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPF/indSitPF']],
|
102
|
+
['IndicativoSituacaoPJ', evento['infoEmpregador/*/infoCadastro/infoComplementares/situacaoPJ/indSitPJ']],
|
107
103
|
['IdEventoXml', id_do_evento],
|
108
104
|
['NrReciboEventoOriginal', numero_do_recibo],
|
109
105
|
['DescricaoProcEmi', processo_de_emissao_do_evento],
|
@@ -126,15 +122,15 @@ module Teodoro
|
|
126
122
|
end
|
127
123
|
|
128
124
|
def nome_ou_razao_social
|
129
|
-
@nome_ou_razao_social ||= evento['
|
125
|
+
@nome_ou_razao_social ||= evento['infoEmpregador/*/infoCadastro/nmRazao']
|
130
126
|
end
|
131
127
|
|
132
128
|
def orgao_publico?
|
133
|
-
@orgao_publico ||= evento['
|
129
|
+
@orgao_publico ||= evento['infoEmpregador/*/infoCadastro/infoOP']
|
134
130
|
end
|
135
131
|
|
136
132
|
def softwares_house
|
137
|
-
evento.*('
|
133
|
+
evento.*('infoEmpregador/*/infoCadastro/softwareHouse')
|
138
134
|
end
|
139
135
|
end
|
140
136
|
end
|