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: 0bd4c79cdbea501ef4549633064ea37f6de7b913
4
- data.tar.gz: 5296b05a6bb874a4484d7b3bd4e2f4096c893727
3
+ metadata.gz: b4450922f3ca88b01fa640e422b3034573d8ffcd
4
+ data.tar.gz: 982f4537396650e5df6b180335bd8243dc7d8212
5
5
  SHA512:
6
- metadata.gz: 4f158a525f96570befbd08eb07dd66d768603babcb13c8c57e9dbcee07bdfc710c61877c6a5d3459984a82f624b118c5ac26d4448ada51c446e71af10b2f3faf
7
- data.tar.gz: 2e5cdfe81ad7341eabb4bf8c8f1378f0989ff56d146c64739d833cff2144aee16e4f73f2554cb75ebddd6ff16ce56070c632bc8e85707f55463cc244973406c5
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
- ng_doc = harvestdor_client.public_xml bare_druid
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 public_xml_or_druid
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 public_xml_or_druid
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 public_xml_or_druid
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 public_xml_or_druid
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)
@@ -1,6 +1,6 @@
1
1
  module Harvestdor
2
2
  class Indexer
3
3
  # this is the Ruby Gem version
4
- VERSION = '2.3.2'.freeze
4
+ VERSION = '2.3.3'.freeze
5
5
  end
6
6
  end
@@ -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.2
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-25 00:00:00.000000000 Z
13
+ date: 2016-07-26 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rsolr