puree 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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -1
- data/lib/puree/collection.rb +6 -12
- data/lib/puree/journal.rb +38 -0
- data/lib/puree/publisher.rb +28 -0
- data/lib/puree/version.rb +1 -1
- data/spec/journal.rb +12 -0
- data/spec/publisher.rb +9 -0
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 86f3775fc9747a946a2d480bd0621971d4e8ecd2
|
4
|
+
data.tar.gz: e565564db8ce6ae7af9c1d68e99f4cada1474f1f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7787556f42cf0ec6c39658200e827561a085d71164b11b60c7ea99ae3ce11c40bb73364252ac955696d7dbdeced7fc892de7c1f8e97db439bc8e6298f142d2de
|
7
|
+
data.tar.gz: fa50727a5235c18815aa667a53474faf022563c9decede02e2bec591c1c7656d525d2b492c40f2bbd2d8c9d37f765df0a6a42bc0731278a0669ba34a08f77a14
|
data/CHANGELOG.md
CHANGED
@@ -3,10 +3,18 @@ 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
5
|
## Unreleased
|
6
|
-
- Metadata: clipping?, externalPerson
|
6
|
+
- Metadata: activity?, clipping?, externalPerson?
|
7
7
|
- Factory to make resource objects?
|
8
8
|
- Make ALL dates ISO 8601 YYYY-MM-DD, rather than mirror varying formats from Pure?
|
9
9
|
|
10
|
+
## 0.19.0 - 2016-09-21
|
11
|
+
### Added
|
12
|
+
- Journal - issn, publisher.
|
13
|
+
- Publisher - name.
|
14
|
+
|
15
|
+
### Changed
|
16
|
+
- Collection - simpler api for count of records available.
|
17
|
+
|
10
18
|
## 0.18.0 - 2016-09-20
|
11
19
|
### Added
|
12
20
|
- Collection - count of records available.
|
data/lib/puree/collection.rb
CHANGED
@@ -118,14 +118,7 @@ module Puree
|
|
118
118
|
query['rendering'] = @options['rendering']
|
119
119
|
end
|
120
120
|
|
121
|
-
# @response = HTTParty.get(build_url, query: query, headers: headers)
|
122
|
-
|
123
121
|
begin
|
124
|
-
# p self.inspect
|
125
|
-
# p build_url
|
126
|
-
# p query
|
127
|
-
# p headers
|
128
|
-
# @response = HTTParty.get(build_url, query: query, headers: headers, timeout: 120)
|
129
122
|
url = build_url
|
130
123
|
req = HTTP.headers accept: 'application/xml'
|
131
124
|
if @options[:basic_auth]
|
@@ -136,10 +129,6 @@ module Puree
|
|
136
129
|
@doc.remove_namespaces!
|
137
130
|
|
138
131
|
@count = extract_count
|
139
|
-
# code = @response.code
|
140
|
-
# body = @response.body
|
141
|
-
# puts "#{self.class.name} #{code}"
|
142
|
-
# puts "#{self.class.name} #{body}"
|
143
132
|
|
144
133
|
rescue HTTP::Error => e
|
145
134
|
puts 'HTTP::Error '+ e.message
|
@@ -164,11 +153,16 @@ module Puree
|
|
164
153
|
#
|
165
154
|
# @return [Integer]
|
166
155
|
def count
|
167
|
-
@count
|
156
|
+
@count ||= get_count
|
168
157
|
end
|
169
158
|
|
170
159
|
private
|
171
160
|
|
161
|
+
def get_count
|
162
|
+
find limit: 0
|
163
|
+
extract_count
|
164
|
+
end
|
165
|
+
|
172
166
|
def extract_count
|
173
167
|
path = '//count'
|
174
168
|
xpath_query_for_single_value(path).to_i
|
data/lib/puree/journal.rb
CHANGED
@@ -16,6 +16,26 @@ module Puree
|
|
16
16
|
basic_auth: basic_auth)
|
17
17
|
end
|
18
18
|
|
19
|
+
# ISSN
|
20
|
+
#
|
21
|
+
# @return [String]
|
22
|
+
def issn
|
23
|
+
@metadata['issn']
|
24
|
+
end
|
25
|
+
|
26
|
+
# Publisher
|
27
|
+
#
|
28
|
+
# @return [String]
|
29
|
+
def publisher
|
30
|
+
@metadata['publisher']
|
31
|
+
end
|
32
|
+
|
33
|
+
# Title
|
34
|
+
#
|
35
|
+
# @return [String]
|
36
|
+
def title
|
37
|
+
@metadata['title']
|
38
|
+
end
|
19
39
|
|
20
40
|
# All metadata
|
21
41
|
#
|
@@ -27,8 +47,26 @@ module Puree
|
|
27
47
|
|
28
48
|
private
|
29
49
|
|
50
|
+
def extract_issn
|
51
|
+
path = '/issns/issn/string'
|
52
|
+
xpath_query_for_single_value path
|
53
|
+
end
|
54
|
+
|
55
|
+
def extract_publisher
|
56
|
+
path = '/publisher/name'
|
57
|
+
xpath_query_for_single_value path
|
58
|
+
end
|
59
|
+
|
60
|
+
def extract_title
|
61
|
+
path = '/titles/title/string'
|
62
|
+
xpath_query_for_single_value path
|
63
|
+
end
|
64
|
+
|
30
65
|
def combine_metadata
|
31
66
|
o = super
|
67
|
+
o['issn'] = extract_issn
|
68
|
+
o['publisher'] = extract_publisher
|
69
|
+
o['title'] = extract_title
|
32
70
|
@metadata = o
|
33
71
|
end
|
34
72
|
|
data/lib/puree/publisher.rb
CHANGED
@@ -16,6 +16,21 @@ module Puree
|
|
16
16
|
basic_auth: basic_auth)
|
17
17
|
end
|
18
18
|
|
19
|
+
# Name
|
20
|
+
#
|
21
|
+
# @return [String]
|
22
|
+
def name
|
23
|
+
@metadata['name']
|
24
|
+
end
|
25
|
+
|
26
|
+
# Adds no value as value is Publisher
|
27
|
+
# Type
|
28
|
+
#
|
29
|
+
# @return [String]
|
30
|
+
# def type
|
31
|
+
# @metadata['type']
|
32
|
+
# end
|
33
|
+
|
19
34
|
# All metadata
|
20
35
|
#
|
21
36
|
# @return [Hash]
|
@@ -26,8 +41,21 @@ module Puree
|
|
26
41
|
|
27
42
|
private
|
28
43
|
|
44
|
+
def extract_name
|
45
|
+
path = '/name'
|
46
|
+
xpath_query_for_single_value path
|
47
|
+
end
|
48
|
+
|
49
|
+
# Adds no value as value is Publisher
|
50
|
+
# def extract_type
|
51
|
+
# path = '/typeClassification/term/localizedString'
|
52
|
+
# xpath_query_for_single_value path
|
53
|
+
# end
|
54
|
+
|
29
55
|
def combine_metadata
|
30
56
|
o = super
|
57
|
+
o['name'] = extract_name
|
58
|
+
# o['type'] = extract_type
|
31
59
|
@metadata = o
|
32
60
|
end
|
33
61
|
|
data/lib/puree/version.rb
CHANGED
data/spec/journal.rb
CHANGED
@@ -32,6 +32,10 @@ describe 'Journal' do
|
|
32
32
|
expect(@p.created).to be_an_instance_of(String)
|
33
33
|
end
|
34
34
|
|
35
|
+
it '#issn' do
|
36
|
+
expect(@p.issn).to be_an_instance_of(String)
|
37
|
+
end
|
38
|
+
|
35
39
|
it '#metadata' do
|
36
40
|
expect(@p.metadata).to be_an_instance_of(Hash)
|
37
41
|
end
|
@@ -40,6 +44,14 @@ describe 'Journal' do
|
|
40
44
|
expect(@p.modified).to be_an_instance_of(String)
|
41
45
|
end
|
42
46
|
|
47
|
+
it '#publisher' do
|
48
|
+
expect(@p.publisher).to be_an_instance_of(String)
|
49
|
+
end
|
50
|
+
|
51
|
+
it '#title' do
|
52
|
+
expect(@p.title).to be_an_instance_of(String)
|
53
|
+
end
|
54
|
+
|
43
55
|
it '#uuid' do
|
44
56
|
expect(@p.uuid).to be_an_instance_of(String)
|
45
57
|
end
|
data/spec/publisher.rb
CHANGED
@@ -40,6 +40,15 @@ describe 'Publisher' do
|
|
40
40
|
expect(@p.modified).to be_an_instance_of(String)
|
41
41
|
end
|
42
42
|
|
43
|
+
it '#name' do
|
44
|
+
expect(@p.name).to be_an_instance_of(String)
|
45
|
+
end
|
46
|
+
|
47
|
+
# Adds no value as value is Publisher
|
48
|
+
# it '#type' do
|
49
|
+
# expect(@p.type).to be_an_instance_of(String)
|
50
|
+
# end
|
51
|
+
|
43
52
|
it '#uuid' do
|
44
53
|
expect(@p.uuid).to be_an_instance_of(String)
|
45
54
|
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: 0.
|
4
|
+
version: 0.19.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-09-
|
11
|
+
date: 2016-09-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: http
|