harvestdor-indexer 2.3.2 → 2.3.3
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4450922f3ca88b01fa640e422b3034573d8ffcd
|
4
|
+
data.tar.gz: 982f4537396650e5df6b180335bd8243dc7d8212
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f82640a960c1274a685c65499f49f8e1b432fb8f95bc2e7a5d45f83bae007c8dba3c92c03c33d4a1311399657f83c012e3c08499c45d1f44bce93c726ee8f528
|
7
|
+
data.tar.gz: 17b1176e6de1ccdaae08b09fb8190615bfc4c7e6768ed5762b25fee7abdc77cdeb4ad41d73125bc6ef1e02bd648f70be071b12dff8e94de4eb07044d1302065b
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# rubocop:disable Metrics/ClassLength
|
2
1
|
require 'active_support/benchmarkable'
|
3
2
|
|
4
3
|
module Harvestdor
|
@@ -99,15 +98,13 @@ module Harvestdor
|
|
99
98
|
# @return [Nokogiri::XML::Document] the public xml for the DOR object
|
100
99
|
def public_xml
|
101
100
|
@public_xml ||= benchmark "public_xml(#{druid})", level: :debug do
|
102
|
-
|
103
|
-
raise "No public xml for #{druid}" unless ng_doc
|
104
|
-
raise "Empty public xml for #{druid}: #{ng_doc.to_xml}" if ng_doc.root.xpath('//text()').empty?
|
105
|
-
ng_doc
|
101
|
+
harvestdor_client.public_xml bare_druid
|
106
102
|
end
|
107
103
|
end
|
108
104
|
|
109
105
|
##
|
110
106
|
# Has the public_xml been previously retrieved?
|
107
|
+
# @deprecated
|
111
108
|
def public_xml?
|
112
109
|
!!@public_xml
|
113
110
|
end
|
@@ -115,6 +112,7 @@ module Harvestdor
|
|
115
112
|
##
|
116
113
|
# Get the public_xml, if retrieved, or the druid. This is used to short-circuit
|
117
114
|
# retrieving metadata out of the public xml.
|
115
|
+
# @deprecated
|
118
116
|
def public_xml_or_druid
|
119
117
|
if public_xml?
|
120
118
|
public_xml
|
@@ -127,40 +125,32 @@ module Harvestdor
|
|
127
125
|
# @return [Nokogiri::XML::Document] the contentMetadata for the DOR object
|
128
126
|
def content_metadata
|
129
127
|
@content_metadata ||= benchmark "content_metadata (#{druid})", level: :debug do
|
130
|
-
harvestdor_client.content_metadata
|
128
|
+
harvestdor_client.content_metadata public_xml
|
131
129
|
end
|
132
|
-
raise "No contentMetadata for \"#{druid}\"" if !@content_metadata || @content_metadata.children.empty?
|
133
|
-
@content_metadata
|
134
130
|
end
|
135
131
|
|
136
132
|
# the identityMetadata for this DOR object, ultimately from the purl public xml
|
137
133
|
# @return [Nokogiri::XML::Document] the identityMetadata for the DOR object
|
138
134
|
def identity_metadata
|
139
135
|
@identity_metadata ||= benchmark "identity_metadata (#{druid})", level: :debug do
|
140
|
-
harvestdor_client.identity_metadata
|
136
|
+
harvestdor_client.identity_metadata public_xml
|
141
137
|
end
|
142
|
-
raise "No identityMetadata for \"#{druid}\"" if !@identity_metadata || @identity_metadata.children.empty?
|
143
|
-
@identity_metadata
|
144
138
|
end
|
145
139
|
|
146
140
|
# the rightsMetadata for this DOR object, ultimately from the purl public xml
|
147
141
|
# @return [Nokogiri::XML::Document] the rightsMetadata for the DOR object
|
148
142
|
def rights_metadata
|
149
143
|
@rights_metadata ||= benchmark "rights_metadata (#{druid})", level: :debug do
|
150
|
-
harvestdor_client.rights_metadata
|
144
|
+
harvestdor_client.rights_metadata public_xml
|
151
145
|
end
|
152
|
-
raise "No rightsMetadata for \"#{druid}\"" if !@rights_metadata || @rights_metadata.children.empty?
|
153
|
-
@rights_metadata
|
154
146
|
end
|
155
147
|
|
156
148
|
# the RDF for this DOR object, ultimately from the purl public xml
|
157
149
|
# @return [Nokogiri::XML::Document] the RDF for the DOR object
|
158
150
|
def rdf
|
159
151
|
@rdf ||= benchmark "rdf (#{druid})", level: :debug do
|
160
|
-
harvestdor_client.rdf
|
152
|
+
harvestdor_client.rdf public_xml
|
161
153
|
end
|
162
|
-
raise "No RDF for \"#{druid}\"" if !@rdf || @rdf.children.empty?
|
163
|
-
@rdf
|
164
154
|
end
|
165
155
|
|
166
156
|
def eql?(other)
|
@@ -19,6 +19,8 @@ describe Harvestdor::Indexer::Resource do
|
|
19
19
|
described_class.new(@indexer, @fake_druid)
|
20
20
|
end
|
21
21
|
|
22
|
+
let(:blank_public_xml) { Nokogiri::XML::Document.new }
|
23
|
+
|
22
24
|
subject { resource }
|
23
25
|
|
24
26
|
describe '#items' do
|
@@ -98,14 +100,6 @@ describe Harvestdor::Indexer::Resource do
|
|
98
100
|
expect(px.root.name).to eq('publicObject')
|
99
101
|
expect(px.root.attributes['id'].text).to eq("druid:#{@fake_druid}")
|
100
102
|
end
|
101
|
-
it 'raises exception if public xml for the druid is empty' do
|
102
|
-
expect(@hdor_client).to receive(:public_xml).with(@fake_druid).and_return(Nokogiri::XML('<publicObject/>'))
|
103
|
-
expect { resource.public_xml }.to raise_error(RuntimeError, Regexp.new("^Empty public xml for #{@fake_druid}: <"))
|
104
|
-
end
|
105
|
-
it 'raises error if there is no public_xml page for the druid' do
|
106
|
-
expect(@hdor_client).to receive(:public_xml).with(@fake_druid).and_return(nil)
|
107
|
-
expect { resource.public_xml }.to raise_error(RuntimeError, "No public xml for #{@fake_druid}")
|
108
|
-
end
|
109
103
|
end
|
110
104
|
context '#content_metadata' do
|
111
105
|
it 'returns a Nokogiri::XML::Document derived from the public xml if a druid is passed' do
|
@@ -117,10 +111,6 @@ describe Harvestdor::Indexer::Resource do
|
|
117
111
|
expect(cm.root.attributes['objectId'].text).to eq(@fake_druid)
|
118
112
|
expect(cm.root.text.strip).to eq('foo')
|
119
113
|
end
|
120
|
-
it 'raises RuntimeError if nil is returned by Harvestdor::Client.contentMetadata for the druid' do
|
121
|
-
expect(@hdor_client).to receive(:content_metadata).with(@fake_druid).and_return(nil)
|
122
|
-
expect { resource.content_metadata }.to raise_error(RuntimeError, "No contentMetadata for \"#{@fake_druid}\"")
|
123
|
-
end
|
124
114
|
end
|
125
115
|
context '#identity_metadata' do
|
126
116
|
it 'returns a Nokogiri::XML::Document derived from the public xml if a druid is passed' do
|
@@ -131,10 +121,6 @@ describe Harvestdor::Indexer::Resource do
|
|
131
121
|
expect(im.root.name).to eq('identityMetadata')
|
132
122
|
expect(im.root.text.strip).to eq("druid:#{@fake_druid}")
|
133
123
|
end
|
134
|
-
it 'raises RuntimeError if nil is returned by Harvestdor::Client.identityMetadata for the druid' do
|
135
|
-
expect(@hdor_client).to receive(:identity_metadata).with(@fake_druid).and_return(nil)
|
136
|
-
expect { resource.identity_metadata }.to raise_error(RuntimeError, "No identityMetadata for \"#{@fake_druid}\"")
|
137
|
-
end
|
138
124
|
end
|
139
125
|
context '#rights_metadata' do
|
140
126
|
it 'returns a Nokogiri::XML::Document derived from the public xml if a druid is passed' do
|
@@ -145,10 +131,6 @@ describe Harvestdor::Indexer::Resource do
|
|
145
131
|
expect(im.root.name).to eq('rightsMetadata')
|
146
132
|
expect(im.root.text.strip).to eq('bar')
|
147
133
|
end
|
148
|
-
it 'raises RuntimeError if nil is returned by Harvestdor::Client.rightsMetadata for the druid' do
|
149
|
-
expect(@hdor_client).to receive(:rights_metadata).with(@fake_druid).and_return(nil)
|
150
|
-
expect { resource.rights_metadata }.to raise_error(RuntimeError, "No rightsMetadata for \"#{@fake_druid}\"")
|
151
|
-
end
|
152
134
|
end
|
153
135
|
context '#rdf' do
|
154
136
|
it 'returns a Nokogiri::XML::Document derived from the public xml if a druid is passed' do
|
@@ -159,10 +141,6 @@ describe Harvestdor::Indexer::Resource do
|
|
159
141
|
expect(im.root.name).to eq('RDF')
|
160
142
|
expect(im.root.text.strip).to eq('relationship!')
|
161
143
|
end
|
162
|
-
it 'raises RuntimeError if nil is returned by Harvestdor::Client.rdf for the druid' do
|
163
|
-
expect(@hdor_client).to receive(:rdf).with(@fake_druid).and_return(nil)
|
164
|
-
expect { resource.rdf }.to raise_error(RuntimeError, "No RDF for \"#{@fake_druid}\"")
|
165
|
-
end
|
166
144
|
end
|
167
145
|
|
168
146
|
describe '#public_xml_or_druid' do
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: harvestdor-indexer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.3.
|
4
|
+
version: 2.3.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Naomi Dushay
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-07-
|
13
|
+
date: 2016-07-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rsolr
|