puree 2.0.0 → 2.1.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
  SHA1:
3
- metadata.gz: 68e9bc6b3031be78761029cf76f9a2d0ca19dc83
4
- data.tar.gz: c25c6ba1167ee3b477c58bf1e1f1b0774fb9b410
3
+ metadata.gz: 36bf126598ca6a267612c243bf8140c594c875ea
4
+ data.tar.gz: b09a23a98dda52719e3e1767f3d7ef08b52ba5da
5
5
  SHA512:
6
- metadata.gz: e09b12ccea6749fe4904031d366c38eb677f4a4b653f7a5d8f1ac2139cdb56db97cacd183db9b4beb3cfb2c4a49a05a1bd27d337f5f3dd98301a44e9aa6617e9
7
- data.tar.gz: 23b257d617b8f47802ec213b592b75b15fc9132058c5299761c30291e1739353e149db0e1bf5580beee55a51f5d3bad255e1376d48318480c565c6dd4932ec57
6
+ metadata.gz: d625c5527a02c5748e980640cfb7c56d851c661e9292aaea6732f0fecdca075cfeb50f163f622b7656455f022bbdc7f6797da9f429889731c81701623b73a9cd
7
+ data.tar.gz: fd3788695ac2118a2f9f20cf0d03a6b16bdfc53fe6080ad10c67e90cde7ee2ae1b256099a86efaeaee8e6a371a1e380c461d137f99fda1f6d23f35d28c6a85e2
@@ -2,12 +2,16 @@
2
2
  All notable changes to this project will be documented in this file.
3
3
  This project adheres to [Semantic Versioning](http://semver.org/).
4
4
 
5
+ ## 2.1.0 - 2018-03-12
6
+ ### Added
7
+ - Research output - scopus_id, projects
8
+
5
9
  ## 2.0.0 - 2017-12-19
6
10
  ### Changed
7
11
  - For Pure API 59.
8
12
 
9
13
  ### Added
10
- - Independent modules: REST, Extractor, XMLExtractor
14
+ - Independent modules: REST, Extractor, XMLExtractor.
11
15
  - Testing against known live data.
12
16
 
13
17
  ## 1.7.0 - 2017-11-03
@@ -50,6 +50,9 @@ module Puree
50
50
  # @return [Array<Puree::Model::EndeavourPerson>]
51
51
  attr_accessor :persons_other
52
52
 
53
+ # @return [Array<Puree::Model::RelatedContentHeader>]
54
+ attr_accessor :projects
55
+
53
56
  # @return [Array<Puree::Model::PublicationStatus>]
54
57
  attr_accessor :publication_statuses
55
58
 
@@ -60,6 +63,9 @@ module Puree
60
63
  # @return [Fixnum, nil]
61
64
  attr_accessor :scopus_citations_count
62
65
 
66
+ # @return [String, nil]
67
+ attr_accessor :scopus_id
68
+
63
69
  # @return [Array<Puree::Model::ResearchOutputScopusMetric>]
64
70
  attr_accessor :scopus_metrics
65
71
 
@@ -1,5 +1,5 @@
1
1
  module Puree
2
2
  # Semantic version number
3
3
  #
4
- VERSION = "2.0.0"
4
+ VERSION = "2.1.0"
5
5
  end
@@ -0,0 +1,28 @@
1
+ module Puree
2
+
3
+ module XMLExtractor
4
+
5
+ # Project extractor mixin.
6
+ #
7
+ module ProjectMixin
8
+
9
+ # Projects
10
+ # @return [Array<Puree::Model::RelatedContentHeader>]
11
+ def projects
12
+ xpath_result = xpath_query '/relatedProjects/relatedProject'
13
+
14
+ data_arr = []
15
+ xpath_result.each { |i|
16
+ related = Puree::Model::RelatedContentHeader.new
17
+ related.type = i.xpath('type').text.strip
18
+ related.title = i.xpath('name').text.strip
19
+ related.uuid = i.attr('uuid').strip
20
+ data_arr << related
21
+ }
22
+ data_arr.uniq { |d| d.uuid }
23
+ end
24
+
25
+ end
26
+
27
+ end
28
+ end
@@ -10,6 +10,7 @@ module Puree
10
10
  include Puree::XMLExtractor::OrganisationalUnitMixin
11
11
  include Puree::XMLExtractor::OwnerMixin
12
12
  include Puree::XMLExtractor::PersonMixin
13
+ include Puree::XMLExtractor::ProjectMixin
13
14
  include Puree::XMLExtractor::ResearchOutputMixin
14
15
  include Puree::XMLExtractor::WorkflowMixin
15
16
  include Puree::XMLExtractor::TitleMixin
@@ -119,6 +120,16 @@ module Puree
119
120
  xpath_result ? xpath_result.to_i : nil
120
121
  end
121
122
 
123
+ # @return [String, nil]
124
+ def scopus_id
125
+ xpath_result = xpath_query '/externalableInfo/secondarySources/secondarySource'
126
+ return if xpath_result.empty?
127
+ source = xpath_result.xpath('source')
128
+ if source && source.text.strip.downcase === 'scopus'
129
+ return xpath_result.xpath('sourceId').text.strip
130
+ end
131
+ end
132
+
122
133
  # @return [Array<Puree::Model::ResearchOutputScopusMetric>]
123
134
  def scopus_metrics
124
135
  xpath_result = xpath_query '/scopusMetrics/scopusMetric'
@@ -169,9 +180,11 @@ module Puree
169
180
  @model.persons_internal = persons_internal
170
181
  @model.persons_external = persons_external
171
182
  @model.persons_other = persons_other
183
+ @model.projects = projects
172
184
  @model.publication_statuses = publication_statuses
173
185
  @model.research_outputs = research_outputs
174
186
  @model.scopus_citations_count = scopus_citations_count
187
+ @model.scopus_id = scopus_id
175
188
  @model.scopus_metrics = scopus_metrics
176
189
  @model.subtitle = subtitle
177
190
  @model.title = title
@@ -13,6 +13,7 @@ require 'puree/xml_extractor/mixins/pages_mixin'
13
13
  require 'puree/xml_extractor/mixins/person_mixin'
14
14
  require 'puree/xml_extractor/mixins/page_range_mixin'
15
15
  require 'puree/xml_extractor/mixins/peer_reviewed_mixin'
16
+ require 'puree/xml_extractor/mixins/project_mixin'
16
17
  require 'puree/xml_extractor/mixins/publisher_mixin'
17
18
  require 'puree/xml_extractor/mixins/research_output_mixin'
18
19
  require 'puree/xml_extractor/mixins/workflow_mixin'
@@ -98,6 +98,16 @@ class TestXMLExtractorResearchOutput < Minitest::Test
98
98
  refute_empty x.keywords.first
99
99
  end
100
100
 
101
+ def test_projects
102
+ # Measurements of the Higgs boson production and decay rates and coupling strengths using pp collision data at s√=7s=7 and 8 TeV in the ATLAS experiment
103
+ id = '24ec62e9-a3cc-4402-9ec9-396067949031'
104
+ x = xml_extractor_from_id id
105
+
106
+ assert_instance_of Array, x.projects
107
+ assert_instance_of Puree::Model::RelatedContentHeader, x.projects.first
108
+ assert_equal true, x.projects.first.data?
109
+ end
110
+
101
111
  def test_scopus_citations_count
102
112
  # The effect of humic substances on barite precipitation-dissolution behaviour in natural and synthetic lake waters
103
113
  id = 'ce76dbda-8b22-422b-9bb6-8143820171b8'
@@ -106,6 +116,13 @@ class TestXMLExtractorResearchOutput < Minitest::Test
106
116
  assert_instance_of Fixnum, x.scopus_citations_count
107
117
  end
108
118
 
119
+ def test_scopus_id
120
+ id = 'ce76dbda-8b22-422b-9bb6-8143820171b8'
121
+ x = xml_extractor_from_id id
122
+
123
+ assert_instance_of String, x.scopus_id
124
+ end
125
+
109
126
  def test_scopus_metrics
110
127
  # The effect of humic substances on barite precipitation-dissolution behaviour in natural and synthetic lake waters
111
128
  id = 'ce76dbda-8b22-422b-9bb6-8143820171b8'
@@ -180,6 +197,9 @@ class TestXMLExtractorResearchOutput < Minitest::Test
180
197
  assert_instance_of Array, x.persons_other
181
198
  assert_empty x.persons_other
182
199
 
200
+ assert_instance_of Array, x.projects
201
+ assert_empty x.projects
202
+
183
203
  assert_instance_of Array, x.publication_statuses
184
204
  assert_empty x.publication_statuses
185
205
 
@@ -211,4 +231,24 @@ class TestXMLExtractorResearchOutput < Minitest::Test
211
231
 
212
232
  assert_instance_of Puree::Model::ResearchOutput, x.model
213
233
  end
234
+
235
+ def test_projects_snippet
236
+ # Improving the language skills of Pre-Kindergarten students
237
+ # id = '54ac6efc-1739-4e42-b4c9-bcb1c6dfd664'
238
+
239
+ xml =
240
+ '<contributionToJournal>
241
+ <relatedProjects>
242
+ <relatedProject uuid="fe8aebdf-a926-4e7b-adf1-082425e50330">
243
+ <name>The Language Bases of Reading Comprehension</name>
244
+ <type uri="/dk/atira/pure/upmproject/upmprojecttypes/upmproject/research">Research</type>
245
+ </relatedProject>
246
+ </relatedProjects>
247
+ </contributionToJournal>'
248
+
249
+ x = Puree::XMLExtractor::JournalArticle.new xml
250
+ assert_instance_of Array, x.projects
251
+ assert_instance_of Puree::Model::RelatedContentHeader, x.projects.first
252
+ assert_equal true, x.projects.first.data?
253
+ end
214
254
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: puree
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adrian Albin-Clark
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-12-19 00:00:00.000000000 Z
11
+ date: 2018-03-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: http
@@ -182,6 +182,7 @@ files:
182
182
  - lib/puree/xml_extractor/mixins/pages_mixin.rb
183
183
  - lib/puree/xml_extractor/mixins/peer_reviewed_mixin.rb
184
184
  - lib/puree/xml_extractor/mixins/person_mixin.rb
185
+ - lib/puree/xml_extractor/mixins/project_mixin.rb
185
186
  - lib/puree/xml_extractor/mixins/publisher_mixin.rb
186
187
  - lib/puree/xml_extractor/mixins/research_output_mixin.rb
187
188
  - lib/puree/xml_extractor/mixins/title_mixin.rb