puree 2.0.0 → 2.1.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.
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