cnpq_ws 0.0.11 → 0.0.12

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
  SHA1:
3
- metadata.gz: 5f32a9d3e2368e1b42044de48b1a2286cea125c9
4
- data.tar.gz: d65171438dd0665767e977166246cdd9d94bae0c
3
+ metadata.gz: c798698a6ce23f15410b30348f191a276f7865c3
4
+ data.tar.gz: 269f529c8375719d5390a2faa4b5e784ec3b53d5
5
5
  SHA512:
6
- metadata.gz: 6cb5452ebf05256b129c7d0841c600288ec705857a86c1298e6a2690bfb165cbebc611d95d85ee6e481ae4513e17ff6d8b478eba10e4bf03bdf5629156a040e0
7
- data.tar.gz: cddb268dae96c30fbb73f4c1146210626ded5ee3670eaa900a58f11d62c6fe2934cad3f3161176bc55691afce0baaa4a7e46ee2797d1c2a2070b1d2807d65904
6
+ metadata.gz: 794dc32868abd964939d3f9afc19fd1986ea13ff6ec1aa59218b129365def44609b647102b82af2db2f364c2c172b5a46e08d8851a7eae5b52832d1f8c20edb7
7
+ data.tar.gz: 514be27dc7871ebc12b9c624740024ba095b22f7c2862a9b59d897cbcbdb21992e413fa196743f9b62d30f725bfeb7b50794553ce12b5f1bbc565b4e98a75275
@@ -1,36 +1,32 @@
1
1
  require 'zip'
2
2
  require "cnpq_ws/projeto_pesquisa"
3
+ require "cnpq_ws/participacao_projeto"
3
4
  require 'savon'
4
5
 
5
6
  module CnpqWs
6
7
  module CurriculoLattes
7
8
  def projetos_de_pesquisa
8
- projects = []
9
- research_projects.each do |project|
10
- unless project.nil?
11
- projects << ProjetoPesquisa.new(
12
- sequencia_projeto: project["SEQUENCIA_PROJETO"],
13
- ano_inicio: project["ANO_INICIO"],
14
- ano_fim: project["ANO_FIM"],
15
- nome_do_projeto: project["NOME_DO_PROJETO"],
16
- situacao: project["SITUACAO"],
17
- natureza: project["SITUACAO"],
18
- numero_tecnico_nivel_medio: project["NUMERO_TECNICO_NIVEL_MEDIO"],
19
- numero_graduacao: project["NUMERO_GRADUACAO"],
20
- numero_especializacao: project["NUMERO_GRADUACAO"],
21
- numero_mestrado_academico: project["NUMERO_MESTRADO_ACADEMICO"],
22
- numero_mestrado_prof: project["NUMERO_MESTRADO_PROF"],
23
- numero_doutorado: project["NUMERO_DOUTORADO"],
24
- descricao_do_projeto: project["DESCRICAO_DO_PROJETO"],
25
- descricao_do_projeto_ingles: project["DESCRICAO_DO_PROJETO_INGLES"],
26
- nome_do_projeto_ingles: project["NOME_DO_PROJETO_INGLES"],
27
- flag_potencial_inovacao: project["FLAG_POTENCIAL_INOVACAO"],
28
- equipe_do_projeto: project["EQUIPE_DO_PROJETO"],
29
- financiadores_do_projeto: project["FINANCIADORES_DO_PROJETO"]
30
- )
31
- end
9
+ self.participacoes_em_projetos.map {|pp| pp.projetos_de_pesquisa}.flatten
10
+ end
11
+
12
+ def participacoes_em_projetos
13
+ participacoes_em_projetos = []
14
+ participacoes_em_projetos_hash.each do |pp|
15
+ participacoes_em_projetos << ParticipacaoProjeto.new(
16
+ sequencia_funcao_atividade: pp["SEQUENCIA_FUNCAO_ATIVIDADE"],
17
+ flag_periodo: pp["FLAG_PERIODO"],
18
+ mes_inicio: pp["MES_INICIO"],
19
+ ano_inicio: pp["ANO_INICIO"],
20
+ mes_fim: pp["MES_FIM"],
21
+ ano_fim: pp["ANO_FIM"],
22
+ codigo_orgao: pp["CODIGO_ORGAO"],
23
+ nome_orgao: pp["NOME_ORGAO"],
24
+ codigo_unidade: pp["CODIGO_UNIDADE"],
25
+ nome_unidade: pp["NOME_UNIDADE"],
26
+ projeto_de_pesquisa: pp["PROJETO_DE_PESQUISA"]
27
+ )
32
28
  end
33
- projects
29
+ participacoes_em_projetos
34
30
  end
35
31
 
36
32
  private
@@ -62,12 +58,16 @@ module CnpqWs
62
58
  end
63
59
 
64
60
  def get_identificador_cn_pq
65
- client = Savon.client(endpoint: CnpqWs.curriculo_end_point, wsdl: CnpqWs.curriculo_wsdl, ssl_verify_mode: :none)
66
- begin
67
- response = client.call(:get_identificador_cn_pq, message: {cpf: self.login, nomeCompleto: self.name, dataNascimento: self.birth_date})
68
- response.body[:get_identificador_cn_pq_response][:return]
69
- rescue Exception => e
70
- return e
61
+ unless self.cnpq_id
62
+ client = Savon.client(endpoint: CnpqWs.curriculo_end_point, wsdl: CnpqWs.curriculo_wsdl, ssl_verify_mode: :none)
63
+ begin
64
+ response = client.call(:get_identificador_cn_pq, message: {cpf: self.login, nomeCompleto: self.name, dataNascimento: self.birth_date})
65
+ response.body[:get_identificador_cn_pq_response][:return]
66
+ rescue Exception => e
67
+ return e
68
+ end
69
+ else
70
+ self.cnpq_id
71
71
  end
72
72
  end
73
73
 
@@ -83,7 +83,7 @@ module CnpqWs
83
83
  #to do
84
84
  end
85
85
 
86
- def research_projects
86
+ def projetos_de_pesquisa_hash
87
87
  projects = []
88
88
  project_activities.each do |p|
89
89
  p["PARTICIPACAO_EM_PROJETO"].each do |pp|
@@ -93,6 +93,10 @@ module CnpqWs
93
93
  projects.flatten
94
94
  end
95
95
 
96
+ def participacoes_em_projetos_hash
97
+ project_activities.map{|pa| pa["PARTICIPACAO_EM_PROJETO"]}.flatten
98
+ end
99
+
96
100
  def project_activities
97
101
  project_activities = []
98
102
  curriculo_lattes_hash["CURRICULO_VITAE"]["DADOS_GERAIS"].fetch("ATUACOES_PROFISSIONAIS", {}).fetch("ATUACAO_PROFISSIONAL", {}).each do |ap|
@@ -0,0 +1,50 @@
1
+ require "cnpq_ws/projeto_pesquisa"
2
+
3
+ class ParticipacaoProjeto
4
+ attr_accessor :sequencia_funcao_atividade, :flag_periodo, :mes_inicio, :ano_inicio, :mes_fim, :ano_fim, :codigo_orgao, :nome_orgao, :codigo_unidade,
5
+ :nome_unidade, :projeto_de_pesquisa
6
+
7
+
8
+ def initialize(options = [])
9
+ @sequencia_funcao_atividade = options[:sequencia_funcao_atividade]
10
+ @flag_periodo = options[:flag_periodo]
11
+ @mes_inicio = options[:mes_inicio]
12
+ @ano_inicio = options[:ano_inicio]
13
+ @mes_fim = options[:mes_fim]
14
+ @ano_fim = options[:ano_fim]
15
+ @codigo_orgao = options[:codigo_orgao]
16
+ @nome_orgao = options[:nome_orgao]
17
+ @codigo_unidade = options[:codigo_unidade]
18
+ @nome_unidade = options[:nome_unidade]
19
+ @projeto_de_pesquisa = [options[:projeto_de_pesquisa]]
20
+ end
21
+
22
+ def projetos_de_pesquisa
23
+ projetos = []
24
+ self.projeto_de_pesquisa.flatten.each do |p|
25
+ unless p.nil?
26
+ projetos << ProjetoPesquisa.new(
27
+ sequencia_projeto: p["SEQUENCIA_PROJETO"],
28
+ ano_inicio: p["ANO_INICIO"],
29
+ ano_fim: p["ANO_FIM"],
30
+ nome_do_projeto: p["NOME_DO_PROJETO"],
31
+ situacao: p["SITUACAO"],
32
+ natureza: p["SITUACAO"],
33
+ numero_tecnico_nivel_medio: p["NUMERO_TECNICO_NIVEL_MEDIO"],
34
+ numero_graduacao: p["NUMERO_GRADUACAO"],
35
+ numero_especializacao: p["NUMERO_GRADUACAO"],
36
+ numero_mestrado_academico: p["NUMERO_MESTRADO_ACADEMICO"],
37
+ numero_mestrado_prof: p["NUMERO_MESTRADO_PROF"],
38
+ numero_doutorado: p["NUMERO_DOUTORADO"],
39
+ descricao_do_projeto: p["DESCRICAO_DO_PROJETO"],
40
+ descricao_do_projeto_ingles: p["DESCRICAO_DO_PROJETO_INGLES"],
41
+ nome_do_projeto_ingles: p["NOME_DO_PROJETO_INGLES"],
42
+ flag_potencial_inovacao: p["FLAG_POTENCIAL_INOVACAO"],
43
+ equipe_do_projeto: p["EQUIPE_DO_PROJETO"],
44
+ financiadores_do_projeto: p["FINANCIADORES_DO_PROJETO"]
45
+ )
46
+ end
47
+ end
48
+ projetos
49
+ end
50
+ end
@@ -26,7 +26,7 @@ class ProjetoPesquisa
26
26
  @nome_do_projeto_ingles = options[:nome_do_projeto_ingles]
27
27
  @flag_potencial_inovacao = options[:flag_potencial_inovacao]
28
28
  @equipe_do_projeto = options[:equipe_do_projeto]
29
- @financiadores_do_projeto = options[:financiadores_do_projeto]
29
+ @financiadores_do_projeto = options[:financiadores_do_projeto]
30
30
  end
31
31
 
32
32
  def equipe
@@ -47,8 +47,8 @@ class ProjetoPesquisa
47
47
  def financiadores
48
48
  if self.financiadores_do_projeto.try(:any?)
49
49
  f = []
50
- self.financiadores_do_projeto.each do |fn|
51
- f << Financiador.new(sequencia_financiador: fn.last["SEQUENCIA_FINANCIADOR"], codigo_instituicao: fn.last["CODIGO_INSTITUICAO"], nome_instituicao: fn.last["NOME_INSTITUICAO"], natureza: fn.last["NATUREZA"])
50
+ self.financiadores_do_projeto.map{|k,v| v}.flatten.each do |fn|
51
+ f << Financiador.new(sequencia_financiador: fn["SEQUENCIA_FINANCIADOR"], codigo_instituicao: fn["CODIGO_INSTITUICAO"], nome_instituicao: fn["NOME_INSTITUICAO"], natureza: fn["NATUREZA"])
52
52
  end
53
53
  f
54
54
  end
@@ -1,3 +1,3 @@
1
1
  module CnpqWs
2
- VERSION = "0.0.11"
2
+ VERSION = "0.0.12"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cnpq_ws
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.11
4
+ version: 0.0.12
5
5
  platform: ruby
6
6
  authors:
7
7
  - Renato Carvalho de Souza
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-11-26 00:00:00.000000000 Z
11
+ date: 2015-12-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -83,6 +83,7 @@ files:
83
83
  - lib/cnpq_ws/curriculo_lattes.rb
84
84
  - lib/cnpq_ws/financiador.rb
85
85
  - lib/cnpq_ws/membro.rb
86
+ - lib/cnpq_ws/participacao_projeto.rb
86
87
  - lib/cnpq_ws/projeto_pesquisa.rb
87
88
  - lib/cnpq_ws/railtie.rb
88
89
  - lib/cnpq_ws/version.rb