puree 0.8.0 → 0.9.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 +4 -4
- data/CHANGELOG.md +6 -0
- data/README.md +9 -10
- data/lib/puree/dataset.rb +18 -7
- data/lib/puree/map.rb +1 -3
- data/lib/puree/organisation.rb +17 -0
- data/lib/puree/person.rb +39 -5
- data/lib/puree/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e16d74fee89f71aae7593434a3bb8041e6ae9451
|
4
|
+
data.tar.gz: 2180947af2af6b771305ac16712f447721f23f63
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f56565ef90e7d266adf52c7f6a346e7e7d885e25f42064353f8b2840d6c31654d044e98d0a48f8cb677fb94f35ad47cfb26488b7db0b562cdbfe530bc93a3a6f
|
7
|
+
data.tar.gz: 360d2d041c5bb2c71739a245c4cfea4059c41c274cee2cae1289e3775bb9ab98c55297e59702e32137300e47da696d6cc17b5dd89fc4dcec261e766de46b2e47
|
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,12 @@
|
|
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
|
+
## 0.9.0 - 2016-05-16
|
6
|
+
### Added
|
7
|
+
- Dataset metadata (production).
|
8
|
+
- Organisation metadata (name).
|
9
|
+
- Person metadata (image, keyword, name).
|
10
|
+
|
5
11
|
## 0.8.0 - 2016-05-11
|
6
12
|
### Added
|
7
13
|
- Publication metadata (description, doi, file, subtitle, title).
|
data/README.md
CHANGED
@@ -40,17 +40,18 @@ d.get uuid: 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx',
|
|
40
40
|
password: password
|
41
41
|
|
42
42
|
# Filter metadata into simple data structures
|
43
|
-
d.
|
43
|
+
d.access
|
44
|
+
d.available
|
44
45
|
d.description
|
46
|
+
d.doi
|
47
|
+
d.file
|
48
|
+
d.geographical
|
45
49
|
d.keyword
|
46
50
|
d.person
|
47
|
-
d.
|
48
|
-
d.geographical
|
49
|
-
d.file
|
51
|
+
d.production
|
50
52
|
d.publication
|
51
|
-
d.
|
52
|
-
d.
|
53
|
-
d.doi
|
53
|
+
d.temporal
|
54
|
+
d.title
|
54
55
|
|
55
56
|
# Combine metadata into one simple data structure
|
56
57
|
d.metadata
|
@@ -221,6 +222,7 @@ Resource metadata
|
|
221
222
|
|
222
223
|
```ruby
|
223
224
|
:dataset
|
225
|
+
:organisation
|
224
226
|
:person
|
225
227
|
:publication
|
226
228
|
```
|
@@ -229,10 +231,7 @@ Resource metadata (single hash only)
|
|
229
231
|
|
230
232
|
```ruby
|
231
233
|
:journal
|
232
|
-
:organisation
|
233
|
-
:person
|
234
234
|
:project
|
235
|
-
:publication
|
236
235
|
:publisher
|
237
236
|
```
|
238
237
|
|
data/lib/puree/dataset.rb
CHANGED
@@ -135,6 +135,14 @@ module Puree
|
|
135
135
|
end
|
136
136
|
end
|
137
137
|
|
138
|
+
# Date of data production
|
139
|
+
#
|
140
|
+
# @return [Hash]
|
141
|
+
def production
|
142
|
+
data = node('dateOfDataProduction')
|
143
|
+
Puree::Date.normalise(data)
|
144
|
+
end
|
145
|
+
|
138
146
|
# Temporal coverage
|
139
147
|
#
|
140
148
|
# @return [Hash]
|
@@ -224,20 +232,23 @@ module Puree
|
|
224
232
|
# @return [Hash]
|
225
233
|
def metadata
|
226
234
|
o = {}
|
227
|
-
o['
|
235
|
+
o['access'] = access
|
236
|
+
o['available'] = available
|
228
237
|
o['description'] = description
|
238
|
+
o['doi'] = doi
|
239
|
+
o['file'] = file
|
240
|
+
o['geographical'] = geographical
|
229
241
|
o['keyword'] = keyword
|
230
242
|
o['person'] = person
|
231
|
-
o['
|
232
|
-
o['geographical'] = geographical
|
233
|
-
o['file'] = file
|
243
|
+
o['production'] = production
|
234
244
|
o['publication'] = publication
|
235
|
-
o['
|
236
|
-
o['
|
237
|
-
o['doi'] = doi
|
245
|
+
o['temporal'] = temporal
|
246
|
+
o['title'] = title
|
238
247
|
o
|
239
248
|
end
|
240
249
|
|
250
|
+
|
251
|
+
|
241
252
|
private
|
242
253
|
|
243
254
|
# Assembles basic information about a person
|
data/lib/puree/map.rb
CHANGED
@@ -16,8 +16,7 @@ module Puree
|
|
16
16
|
resource_type: {
|
17
17
|
dataset: {
|
18
18
|
service: 'datasets',
|
19
|
-
response: 'GetDataSetsResponse'
|
20
|
-
xpath: nil
|
19
|
+
response: 'GetDataSetsResponse'
|
21
20
|
}
|
22
21
|
}
|
23
22
|
}
|
@@ -40,7 +39,6 @@ module Puree
|
|
40
39
|
resource_type = {}
|
41
40
|
resource_type[:service] = c
|
42
41
|
resource_type[:response] = 'Get' + c.capitalize + 'Response'
|
43
|
-
resource_type[:xpath] = nil
|
44
42
|
@api_map[:resource_type][c.to_sym] = resource_type
|
45
43
|
end
|
46
44
|
end
|
data/lib/puree/organisation.rb
CHANGED
@@ -8,6 +8,23 @@ module Puree
|
|
8
8
|
super(:organisation)
|
9
9
|
end
|
10
10
|
|
11
|
+
# Name
|
12
|
+
#
|
13
|
+
# @return [String]
|
14
|
+
def name
|
15
|
+
data = node 'name'
|
16
|
+
!data.nil? && !data.empty? ? data['localizedString']['__content__'] : ''
|
17
|
+
end
|
18
|
+
|
19
|
+
# All metadata
|
20
|
+
#
|
21
|
+
# @return [Hash]
|
22
|
+
def metadata
|
23
|
+
o = {}
|
24
|
+
o['name'] = name
|
25
|
+
o
|
26
|
+
end
|
27
|
+
|
11
28
|
end
|
12
29
|
|
13
30
|
end
|
data/lib/puree/person.rb
CHANGED
@@ -19,16 +19,47 @@ module Puree
|
|
19
19
|
return affiliations.uniq
|
20
20
|
end
|
21
21
|
|
22
|
+
# Image
|
23
|
+
#
|
24
|
+
# @return [Array<String>]
|
25
|
+
def image
|
26
|
+
path = '//photos/file/url'
|
27
|
+
xpath_result = xpath_query path
|
28
|
+
data = []
|
29
|
+
xpath_result.each { |i| data << i.text }
|
30
|
+
data.uniq
|
31
|
+
end
|
32
|
+
|
33
|
+
# Keyword
|
34
|
+
#
|
35
|
+
# @return [Array<String>]
|
36
|
+
def keyword
|
37
|
+
path = '//keywordGroup/keyword/userDefinedKeyword/freeKeyword'
|
38
|
+
xpath_result = xpath_query path
|
39
|
+
data = []
|
40
|
+
xpath_result.each { |i| data << i.text }
|
41
|
+
return data.uniq
|
42
|
+
end
|
43
|
+
|
44
|
+
# Name
|
45
|
+
#
|
46
|
+
# @return [Hash]
|
47
|
+
def name
|
48
|
+
data = node 'name'
|
49
|
+
o = {}
|
50
|
+
if !data.nil? && !data.empty?
|
51
|
+
o['first'] = data['firstName']
|
52
|
+
o['last'] = data['lastName']
|
53
|
+
end
|
54
|
+
o
|
55
|
+
end
|
56
|
+
|
22
57
|
# ORCID
|
23
58
|
#
|
24
59
|
# @return [String]
|
25
60
|
def orcid
|
26
61
|
data = node 'orcid'
|
27
|
-
|
28
|
-
!data.nil? && !data.empty? ? data : ''
|
29
|
-
else
|
30
|
-
''
|
31
|
-
end
|
62
|
+
!data.nil? && !data.empty? ? data : ''
|
32
63
|
end
|
33
64
|
|
34
65
|
# All metadata
|
@@ -37,6 +68,9 @@ module Puree
|
|
37
68
|
def metadata
|
38
69
|
o = {}
|
39
70
|
o['affiliation'] = affiliation
|
71
|
+
o['image'] = image
|
72
|
+
o['keyword'] = keyword
|
73
|
+
o['name'] = name
|
40
74
|
o['orcid'] = orcid
|
41
75
|
o
|
42
76
|
end
|
data/lib/puree/version.rb
CHANGED
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: 0.
|
4
|
+
version: 0.9.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: 2016-05-
|
11
|
+
date: 2016-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: httparty
|
@@ -89,7 +89,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
89
89
|
version: '0'
|
90
90
|
requirements: []
|
91
91
|
rubyforge_project:
|
92
|
-
rubygems_version: 2.
|
92
|
+
rubygems_version: 2.2.2
|
93
93
|
signing_key:
|
94
94
|
specification_version: 4
|
95
95
|
summary: A client for the Pure Research Information System API.
|