harvestdor-indexer 2.3.2 → 2.3.3

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: 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