teodoro 0.18.0 → 0.19.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.
data/lib/teodoro.rb CHANGED
@@ -12,7 +12,9 @@ require_relative 'teodoro/empresa'
12
12
  require_relative 'teodoro/obj'
13
13
 
14
14
  module Teodoro
15
- VERSION = '0.18.0'.freeze
15
+ VERSION = '0.19.0'.freeze
16
+
17
+ CBOs = JSON.parse(File.read('lib/CBOs.json')).map { [_1['codigo'], _1['titulo']] }.to_h.freeze
16
18
 
17
19
  def self.call(args)
18
20
  Execution.new(args).call
@@ -19,7 +19,7 @@ module Teodoro
19
19
  ['FimValidade', dados.fim_da_validade, :mes_ano],
20
20
  ['DadosCargo_DescricaoCargo', dados.nome_do_cargo],
21
21
  ['DadosCargo_CodigoCBO', dados.cbo],
22
- ['DadosCargo_CodigoCBO_TEXT'],
22
+ ['DadosCargo_CodigoCBO_TEXT', "#{dados.cbo} - #{CBO.new(dados.cbo).titulo}"],
23
23
  ['autocomplete_DadosCargo_CodigoCBO'],
24
24
  ['PreencherCargoPublico', dados.orgao_publico?, :bool],
25
25
  ['IdEventoXml', dados.id_do_evento],
@@ -28,6 +28,34 @@ module Teodoro
28
28
  ['VerProc', dados.versao_do_aplicativo_de_processamento_do_evento]
29
29
  ]
30
30
  end
31
+
32
+ class CBO
33
+ private
34
+
35
+ def initialize(codigo)
36
+ @codigo = codigo
37
+
38
+ alertar unless encontrado?
39
+ end
40
+
41
+ attr_reader :codigo
42
+
43
+ public
44
+
45
+ def titulo
46
+ CBOs[codigo] || codigo
47
+ end
48
+
49
+ private
50
+
51
+ def encontrado?
52
+ CBOs.key?(codigo)
53
+ end
54
+
55
+ def alertar
56
+ puts "\n #{Rainbow("CBO #{codigo} não encontrado").yellow}"
57
+ end
58
+ end
31
59
  end
32
60
  end
33
61
  end
@@ -32,8 +32,8 @@ module Teodoro
32
32
  ['CodigoLotacao', codigo_da_lotacao_tributaria],
33
33
  ['InicioValidade', inicio_da_validade, :mes_ano],
34
34
  ['FimValidade', fim_da_validade, :mes_ano],
35
- ['TipoLotacao', evento['infoLotacao/*/dadosLotacao/tpLotacao']],
36
- ['Tipo'],
35
+ ['TipoLotacao', tipo_de_lotacao],
36
+ %w[Tipo 1],
37
37
  ['TipoInscricaoEstab', evento['infoLotacao/*/dadosLotacao/tpInsc']],
38
38
  ['NumeroInscricaoEstab', evento['infoLotacao/*/dadosLotacao/nrInsc']],
39
39
  ['Fpas', evento['infoLotacao/*/dadosLotacao/fpasLotacao/fpas']],
@@ -44,6 +44,10 @@ module Teodoro
44
44
  ['VerProc', versao_do_aplicativo_de_processamento_do_evento]
45
45
  ]
46
46
  end
47
+
48
+ def tipo_de_lotacao
49
+ @tipo_de_lotacao ||= evento['infoLotacao/*/dadosLotacao/tpLotacao']
50
+ end
47
51
  end
48
52
  end
49
53
  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.18.0
4
+ version: 0.19.0
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-29 00:00:00.000000000 Z
11
+ date: 2021-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: nokogiri
@@ -186,6 +186,7 @@ extensions: []
186
186
  extra_rdoc_files: []
187
187
  files:
188
188
  - bin/teodoro
189
+ - lib/CBOs.json
189
190
  - lib/teodoro.rb
190
191
  - lib/teodoro/arquivo_data.rb
191
192
  - lib/teodoro/arquivo_data/car.rb