spotlight-dor-resources 1.1.0 → 2.0.0

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: 182216d0851743e3b7309ddc05271a0ba7c16cea
4
- data.tar.gz: 21bf71fe88cb1e52a766404f60476519eddbe6f9
3
+ metadata.gz: c7c9626527848a815f94b5e897c644439a4130b5
4
+ data.tar.gz: a5bb46bce723dbdb76d9799a06954854a588f351
5
5
  SHA512:
6
- metadata.gz: bd1fd4bfe26544a6e344d0195abb4c74bc8ced7cc8bf70e7a910926c08e48ed8928a90cf1429dab4c7022398d2f149ad6cbf483fad54a0a34681abb0dbd94f6a
7
- data.tar.gz: 4fa9a09684202c7894f99f00cfb5bb2c10c7db5475c8adf3b19a257ce1e1d442228db2ea753d2746af52b50cb580f1961939376b5ec6218210802f8de702c7bd
6
+ metadata.gz: e4f617b75c4659fb64a368eddf055168af6fcac6e9a8053aa3cd0d1c8d421ddf1e6083a3ce4f313dc453b246e9d59af9e1b90667325965d5566c40ce841a5e21
7
+ data.tar.gz: 8aae9489098370a7ce5982813ded06b216ecc29d1b8f9d33909041a9f6dc82abcf2de25e975b6a07468acfc63b47764d7fc685df1de635095107e6289111796d
data/.gitignore CHANGED
@@ -2,7 +2,6 @@
2
2
  *.sassc
3
3
  .sass-cache
4
4
  capybara-*.html
5
- .rspec
6
5
  .rvmrc
7
6
  .ruby-version
8
7
  /.bundle
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --require spec_helper
@@ -11,8 +11,6 @@ AllCops:
11
11
  - '.internal_test_app/**/*'
12
12
  - 'spec/test_app_templates/**/*'
13
13
  - 'spec/spec_helper.rb'
14
- - 'spec/teaspoon_env.rb'
15
- - 'vendor/**/*'
16
14
  TargetRubyVersion: 2.2
17
15
 
18
16
  Rails:
@@ -1,7 +1,7 @@
1
1
  module Spotlight::Resources
2
- # Base Resource indexer for objects in DOR
2
+ # Base Resource harvester for objects in DOR
3
3
  class DorHarvester < Spotlight::Resource
4
- include ActiveSupport::Benchmarkable
4
+ self.document_builder_class = Spotlight::Resources::DorSolrDocumentBuilder
5
5
 
6
6
  store :data, accessors: [:druid_list]
7
7
 
@@ -11,25 +11,6 @@ module Spotlight::Resources
11
11
  end
12
12
  end
13
13
 
14
- ##
15
- # Generate solr documents for the DOR resources identified by this object
16
- #
17
- # @return [Enumerator] an enumerator of solr document hashes for indexing
18
- def to_solr
19
- return to_enum(:to_solr) { size } unless block_given?
20
-
21
- benchmark "Indexing resource #{inspect} (est. #{size} items)" do
22
- base_doc = super
23
-
24
- indexable_resources.each_with_index do |res, idx|
25
- benchmark "Indexing item #{res.druid} in resource #{id} (#{idx} / #{size})" do
26
- doc = to_solr_document(res)
27
- yield base_doc.merge(doc) if doc
28
- end
29
- end
30
- end
31
- end
32
-
33
14
  def resources
34
15
  @resources ||= druids.map do |d|
35
16
  Spotlight::Dor::Resources.indexer.resource d
@@ -37,11 +18,9 @@ module Spotlight::Resources
37
18
  end
38
19
 
39
20
  def druids
40
- @druids ||= druid_list.split("\n").map(&:strip)
21
+ @druids ||= druid_list.split(/\s+/).reject(&:blank?)
41
22
  end
42
23
 
43
- private
44
-
45
24
  ##
46
25
  # Enumerate the resource, and any collection members, that should be indexed
47
26
  # into this exhibit
@@ -58,32 +37,5 @@ module Spotlight::Resources
58
37
  end
59
38
  end
60
39
  end
61
-
62
- ##
63
- # Estimate the number of documents this resource will create
64
- def size
65
- indexable_resources.size
66
- end
67
-
68
- ##
69
- # Generate the solr document hash for a given resource by applying the current
70
- # indexer steps.
71
- #
72
- # @return [Hash]
73
- def to_solr_document(resource)
74
- Spotlight::Dor::Resources.indexer.solr_document(resource)
75
- rescue RuntimeError => e
76
- logger.error("Error processing #{resource.druid}: #{e}")
77
- nil
78
- rescue => e
79
- logger.error("Error processing #{resource.druid}: #{e}")
80
- raise e
81
- end
82
-
83
- ##
84
- # Write any logs (or benchmarking information) from this class to the gdor logs
85
- def logger
86
- Spotlight::Dor::Resources.indexer.logger
87
- end
88
40
  end
89
41
  end
@@ -0,0 +1,62 @@
1
+ module Spotlight
2
+ module Resources
3
+ # Base Resource indexer for objects in DOR
4
+ class DorSolrDocumentBuilder < Spotlight::SolrDocumentBuilder
5
+ include ActiveSupport::Benchmarkable
6
+
7
+ delegate :indexable_resources, to: :resource
8
+
9
+ ##
10
+ # Generate solr documents for the DOR resources identified by this object
11
+ #
12
+ # @return [Enumerator] an enumerator of solr document hashes for indexing
13
+ def to_solr
14
+ return to_enum(:to_solr) { size } unless block_given?
15
+
16
+ benchmark "Indexing resource #{inspect} (est. #{size} items)" do
17
+ base_doc = super
18
+
19
+ indexable_resources.each_with_index do |res, idx|
20
+ benchmark "Indexing item #{res.druid} in resource #{resource_id} (#{idx} / #{size})" do
21
+ doc = to_solr_document(res)
22
+ yield base_doc.merge(doc) if doc
23
+ end
24
+ end
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def resource_id
31
+ resource.id
32
+ end
33
+
34
+ ##
35
+ # Estimate the number of documents this resource will create
36
+ def size
37
+ indexable_resources.size
38
+ end
39
+
40
+ ##
41
+ # Generate the solr document hash for a given resource by applying the current
42
+ # indexer steps.
43
+ #
44
+ # @return [Hash]
45
+ def to_solr_document(resource)
46
+ Spotlight::Dor::Resources.indexer.solr_document(resource)
47
+ rescue RuntimeError => e
48
+ logger.error("Error processing #{resource.druid}: #{e}")
49
+ nil
50
+ rescue => e
51
+ logger.error("Error processing #{resource.druid}: #{e}")
52
+ raise e
53
+ end
54
+
55
+ ##
56
+ # Write any logs (or benchmarking information) from this class to the gdor logs
57
+ def logger
58
+ Spotlight::Dor::Resources.indexer.logger
59
+ end
60
+ end
61
+ end
62
+ end
@@ -2,7 +2,7 @@ module Spotlight
2
2
  module Dor
3
3
  # :nodoc:
4
4
  module Resources
5
- VERSION = '1.1.0'.freeze
5
+ VERSION = '2.0.0'.freeze
6
6
  end
7
7
  end
8
8
  end
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  RSpec.describe Spotlight::Resources::DorHarvesterController, type: :controller do
4
2
  routes { Spotlight::Dor::Resources::Engine.routes }
5
3
  let(:resource) { double }
@@ -10,14 +8,11 @@ RSpec.describe Spotlight::Resources::DorHarvesterController, type: :controller d
10
8
  before do
11
9
  sign_in user
12
10
  allow(Spotlight::Resources::DorHarvester).to receive(:instance).and_return(resource)
11
+ expect(resource).to receive(:update).with(attributes)
12
+ allow(resource).to receive(:save_and_index).and_return(save_status)
13
13
  end
14
14
 
15
15
  describe '#create' do
16
- before do
17
- expect(resource).to receive(:update).with(attributes)
18
- allow(resource).to receive(:save_and_index).and_return(save_status)
19
- end
20
-
21
16
  context 'when save is successful' do
22
17
  let(:save_status) { true }
23
18
 
@@ -40,11 +35,6 @@ RSpec.describe Spotlight::Resources::DorHarvesterController, type: :controller d
40
35
  end
41
36
 
42
37
  describe '#update' do
43
- before do
44
- expect(resource).to receive(:update).with(attributes)
45
- allow(resource).to receive(:save_and_index).and_return(save_status)
46
- end
47
-
48
38
  context 'when save is successful' do
49
39
  let(:save_status) { true }
50
40
 
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe 'gdor indexing integration test', :vcr do
4
2
  let :exhibit do
5
3
  double(solr_data: {}, blacklight_config: Blacklight::Configuration.new)
@@ -9,7 +7,7 @@ describe 'gdor indexing integration test', :vcr do
9
7
  r = Spotlight::Resources::DorHarvester.new(druid_list: 'xf680rd3068')
10
8
  allow(r).to receive(:to_global_id).and_return('x')
11
9
  allow(r).to receive(:exhibit).and_return(exhibit)
12
- r.to_solr.first
10
+ r.document_builder.to_solr.first
13
11
  end
14
12
 
15
13
  it 'has a doc id' do
@@ -1,5 +1,3 @@
1
- require 'spec_helper'
2
-
3
1
  describe Spotlight::Dor::Indexer do
4
2
  subject { described_class.new }
5
3
 
@@ -24,8 +24,28 @@ describe Spotlight::Resources::DorHarvester do
24
24
  end
25
25
 
26
26
  describe '#druids' do
27
- it 'extracts an array of DRUIDs from the list of druids' do
28
- expect(subject.druids).to match_array 'xf680rd3068'
27
+ context 'with a single item' do
28
+ subject { described_class.new druid_list: 'xf680rd3068' }
29
+
30
+ it 'extracts an array of DRUIDs from the list of druids' do
31
+ expect(subject.druids).to match_array 'xf680rd3068'
32
+ end
33
+ end
34
+
35
+ context 'with multiple items' do
36
+ subject { described_class.new druid_list: "xf680rd3068\nxf680rd3069" }
37
+
38
+ it 'extracts an array of DRUIDs from the list of druids' do
39
+ expect(subject.druids).to match_array %w(xf680rd3068 xf680rd3069)
40
+ end
41
+ end
42
+
43
+ context 'with crazy whitespace' do
44
+ subject { described_class.new druid_list: "\t xf680rd3068\t\r\nxf680rd3067\t\t" }
45
+
46
+ it 'extracts an array of DRUIDs from the list of druids' do
47
+ expect(subject.druids).to match_array %w(xf680rd3068 xf680rd3067)
48
+ end
29
49
  end
30
50
  end
31
51
 
@@ -61,53 +81,4 @@ describe Spotlight::Resources::DorHarvester do
61
81
  subject.reindex
62
82
  end
63
83
  end
64
-
65
- describe '#to_solr' do
66
- before do
67
- allow(Spotlight::Dor::Resources.indexer).to receive(:solr_document)
68
- end
69
-
70
- context 'with a collection' do
71
- before do
72
- allow(resource).to receive(:collection?).and_return(true)
73
- end
74
-
75
- it 'provides a solr document for the collection' do
76
- allow(resource).to receive(:items).and_return([])
77
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(upstream: true)
78
- expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
79
- end
80
-
81
- it 'provides a solr document for the items too' do
82
- item = double(druid: 'xyz')
83
- allow(resource).to receive(:items).and_return([item])
84
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(collection: true)
85
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(item).and_return(item: true)
86
- solr_doc = subject.to_solr.to_a
87
- expect(solr_doc.first).to include :collection
88
- expect(solr_doc.last).to include :item
89
- end
90
-
91
- it 'traps indexing errors' do
92
- allow(resource).to receive(:items).and_return([])
93
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).and_raise(RuntimeError.new)
94
- expect { subject.to_solr.to_a }.not_to raise_error
95
- end
96
-
97
- it 'log and raises other types of errors errors' do
98
- allow(resource).to receive(:items).and_return([])
99
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).and_raise(StandardError.new)
100
- expect(subject.send(:logger)).to receive(:error).with(/Error processing xf680rd3068/)
101
- expect { subject.to_solr.to_a }.to raise_error StandardError
102
- end
103
- end
104
-
105
- context 'with a single item' do
106
- it 'provides a solr document for the resource' do
107
- allow(resource).to receive(:collection?).and_return(false)
108
- expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(upstream: true)
109
- expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
110
- end
111
- end
112
- end
113
84
  end
@@ -0,0 +1,74 @@
1
+ require 'spec_helper'
2
+
3
+ describe Spotlight::Resources::DorSolrDocumentBuilder do
4
+ let(:exhibit) { FactoryGirl.create(:exhibit) }
5
+
6
+ let :blacklight_solr do
7
+ double
8
+ end
9
+
10
+ subject { described_class.new harvester }
11
+ let(:harvester) { Spotlight::Resources::DorHarvester.new druid_list: 'xf680rd3068', exhibit: exhibit }
12
+
13
+ before do
14
+ allow(harvester).to receive(:blacklight_solr).and_return(blacklight_solr)
15
+ allow(harvester).to receive(:to_global_id).and_return('x')
16
+ end
17
+
18
+ let(:resource) { harvester.resources.first }
19
+
20
+ describe '#to_solr' do
21
+ before do
22
+ allow(Spotlight::Dor::Resources.indexer).to receive(:solr_document)
23
+ end
24
+
25
+ context 'with a collection' do
26
+ before do
27
+ allow(resource).to receive(:collection?).and_return(true)
28
+ end
29
+
30
+ it 'provides a solr document for the collection' do
31
+ allow(resource).to receive(:items).and_return([])
32
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(upstream: true)
33
+ expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
34
+ end
35
+
36
+ context 'with items' do
37
+ let(:item) { instance_double('Harvestdor::Indexer::Resource', druid: 'xyz') }
38
+
39
+ before do
40
+ allow(resource).to receive(:items).and_return([item])
41
+ end
42
+
43
+ it 'provides a solr document for the items too' do
44
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(collection: true)
45
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(item).and_return(item: true)
46
+ solr_doc = subject.to_solr.to_a
47
+ expect(solr_doc.first).to include :collection
48
+ expect(solr_doc.last).to include :item
49
+ end
50
+ end
51
+
52
+ it 'traps indexing errors' do
53
+ allow(resource).to receive(:items).and_return([])
54
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).and_raise(RuntimeError.new)
55
+ expect { subject.to_solr.to_a }.not_to raise_error
56
+ end
57
+
58
+ it 'log and raises other types of errors errors' do
59
+ allow(resource).to receive(:items).and_return([])
60
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).and_raise(StandardError.new)
61
+ expect(subject.send(:logger)).to receive(:error).with(/Error processing xf680rd3068/)
62
+ expect { subject.to_solr.to_a }.to raise_error StandardError
63
+ end
64
+ end
65
+
66
+ context 'with a single item' do
67
+ it 'provides a solr document for the resource' do
68
+ allow(resource).to receive(:collection?).and_return(false)
69
+ expect(Spotlight::Dor::Resources.indexer).to receive(:solr_document).with(resource).and_return(upstream: true)
70
+ expect(subject.to_solr.first).to include :upstream, :spotlight_resource_id_ssim, :spotlight_resource_type_ssim
71
+ end
72
+ end
73
+ end
74
+ end
@@ -30,7 +30,6 @@ FactoryGirl.find_definitions
30
30
  require 'database_cleaner'
31
31
  require 'spotlight'
32
32
 
33
-
34
33
  Dir["./spec/support/**/*.rb"].sort.each {|f| require f}
35
34
 
36
35
  VCR.configure do |config|
@@ -56,8 +55,13 @@ RSpec.configure do |config|
56
55
  DatabaseCleaner.clean
57
56
  end
58
57
 
59
- config.include Devise::TestHelpers, type: :controller
60
- config.include Devise::TestHelpers, type: :view
58
+ if defined? Devise::Test::ControllerHelpers
59
+ config.include Devise::Test::ControllerHelpers, type: :controller
60
+ config.include Devise::Test::ControllerHelpers, type: :view
61
+ else
62
+ config.include Devise::TestHelpers, type: :controller
63
+ config.include Devise::TestHelpers, type: :view
64
+ end
61
65
  config.include Warden::Test::Helpers, type: :feature
62
66
  config.after(:each, type: :feature) { Warden.test_reset! }
63
67
  config.include Capybara::DSL
@@ -36,7 +36,11 @@ class TestAppGenerator < Rails::Generators::Base
36
36
  def configure_gdor
37
37
  copy_file 'gdor.yml', 'config/gdor.yml', force: true
38
38
  end
39
-
39
+
40
+ def configure_papertrail
41
+ copy_file 'paper_trail.rb', 'config/initializers/paper_trail.rb'
42
+ end
43
+
40
44
  def run_spotlight_dor_resources_generator
41
45
  generate 'spotlight:dor:resources:install'
42
46
  end
@@ -0,0 +1 @@
1
+ PaperTrail.config.track_associations = false
@@ -24,9 +24,9 @@ Gem::Specification.new do |spec|
24
24
  spec.add_dependency 'solrizer'
25
25
  spec.add_dependency 'gdor-indexer', '>=0.5.0' # for new pub date methods
26
26
  # newer versions of harvestdor-indexer have performance improvements for collections
27
- spec.add_dependency 'harvestdor-indexer', '~> 2.3'
27
+ spec.add_dependency 'harvestdor-indexer', '~> 2.3', '>= 2.3.2'
28
28
  spec.add_dependency 'rails'
29
- spec.add_dependency 'blacklight-spotlight', '~> 0.18'
29
+ spec.add_dependency 'blacklight-spotlight', '~> 0.19'
30
30
  spec.add_dependency 'parallel'
31
31
  spec.add_dependency 'stanford-mods', '~> 2.1'
32
32
  spec.add_development_dependency 'bundler', '~> 1.5'
@@ -42,10 +42,11 @@ Gem::Specification.new do |spec|
42
42
  spec.add_development_dependency 'exhibits_solr_conf', '~> 0.1'
43
43
  spec.add_development_dependency 'factory_girl_rails'
44
44
  spec.add_development_dependency 'rubocop', '~> 0.36'
45
+ spec.add_development_dependency 'riiif', '~> 0.4.0' # optional dependency in production
45
46
 
46
47
  # FIXME: we shouldn't need explicit sitemap_generator dependency here as it should come with spotlight
47
48
  # but travis fails without it (though tests run fine locally)
48
- # cbeer: "we're injecting the dependency into the host app. maybe we're just
49
- # missing a `bundle install` somewhere to fix that up"
49
+ # cbeer: "we're injecting the dependency into the host app.
50
+ # maybe we're just missing a `bundle install` somewhere to fix that up"
50
51
  spec.add_development_dependency 'sitemap_generator'
51
52
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spotlight-dor-resources
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-08 00:00:00.000000000 Z
11
+ date: 2016-07-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: faraday
@@ -59,6 +59,9 @@ dependencies:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '2.3'
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 2.3.2
62
65
  type: :runtime
63
66
  prerelease: false
64
67
  version_requirements: !ruby/object:Gem::Requirement
@@ -66,6 +69,9 @@ dependencies:
66
69
  - - "~>"
67
70
  - !ruby/object:Gem::Version
68
71
  version: '2.3'
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 2.3.2
69
75
  - !ruby/object:Gem::Dependency
70
76
  name: rails
71
77
  requirement: !ruby/object:Gem::Requirement
@@ -86,14 +92,14 @@ dependencies:
86
92
  requirements:
87
93
  - - "~>"
88
94
  - !ruby/object:Gem::Version
89
- version: '0.18'
95
+ version: '0.19'
90
96
  type: :runtime
91
97
  prerelease: false
92
98
  version_requirements: !ruby/object:Gem::Requirement
93
99
  requirements:
94
100
  - - "~>"
95
101
  - !ruby/object:Gem::Version
96
- version: '0.18'
102
+ version: '0.19'
97
103
  - !ruby/object:Gem::Dependency
98
104
  name: parallel
99
105
  requirement: !ruby/object:Gem::Requirement
@@ -304,6 +310,20 @@ dependencies:
304
310
  - - "~>"
305
311
  - !ruby/object:Gem::Version
306
312
  version: '0.36'
313
+ - !ruby/object:Gem::Dependency
314
+ name: riiif
315
+ requirement: !ruby/object:Gem::Requirement
316
+ requirements:
317
+ - - "~>"
318
+ - !ruby/object:Gem::Version
319
+ version: 0.4.0
320
+ type: :development
321
+ prerelease: false
322
+ version_requirements: !ruby/object:Gem::Requirement
323
+ requirements:
324
+ - - "~>"
325
+ - !ruby/object:Gem::Version
326
+ version: 0.4.0
307
327
  - !ruby/object:Gem::Dependency
308
328
  name: sitemap_generator
309
329
  requirement: !ruby/object:Gem::Requirement
@@ -327,6 +347,7 @@ extra_rdoc_files: []
327
347
  files:
328
348
  - ".gitignore"
329
349
  - ".hound.yml"
350
+ - ".rspec"
330
351
  - ".rubocop.yml"
331
352
  - ".rubocop_todo.yml"
332
353
  - ".travis.yml"
@@ -336,6 +357,7 @@ files:
336
357
  - Rakefile
337
358
  - app/controllers/spotlight/resources/dor_harvester_controller.rb
338
359
  - app/models/spotlight/resources/dor_harvester.rb
360
+ - app/services/spotlight/resources/dor_solr_document_builder.rb
339
361
  - app/views/spotlight/resources/dor_harvester/_form.html.erb
340
362
  - config/locales/spotlight-dor-resources.en.yml
341
363
  - config/routes.rb
@@ -348,10 +370,12 @@ files:
348
370
  - spec/integration/gdor_integration_spec.rb
349
371
  - spec/lib/spotlight/dor/indexer_spec.rb
350
372
  - spec/models/spotlight/resources/dor_harvester_spec.rb
373
+ - spec/services/spotlight/resources/dor_solr_document_builder_spec.rb
351
374
  - spec/spec_helper.rb
352
375
  - spec/test_app_templates/catalog_controller.rb
353
376
  - spec/test_app_templates/gdor.yml
354
377
  - spec/test_app_templates/lib/generators/test_app_generator.rb
378
+ - spec/test_app_templates/paper_trail.rb
355
379
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_a_doc_id.yml
356
380
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_exhibit-specific_indexing.yml
357
381
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_spotlight_data.yml
@@ -377,7 +401,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
377
401
  version: '0'
378
402
  requirements: []
379
403
  rubyforge_project:
380
- rubygems_version: 2.5.1
404
+ rubygems_version: 2.6.4
381
405
  signing_key:
382
406
  specification_version: 4
383
407
  summary: Spotlight resource indexer for DOR resources.
@@ -386,10 +410,12 @@ test_files:
386
410
  - spec/integration/gdor_integration_spec.rb
387
411
  - spec/lib/spotlight/dor/indexer_spec.rb
388
412
  - spec/models/spotlight/resources/dor_harvester_spec.rb
413
+ - spec/services/spotlight/resources/dor_solr_document_builder_spec.rb
389
414
  - spec/spec_helper.rb
390
415
  - spec/test_app_templates/catalog_controller.rb
391
416
  - spec/test_app_templates/gdor.yml
392
417
  - spec/test_app_templates/lib/generators/test_app_generator.rb
418
+ - spec/test_app_templates/paper_trail.rb
393
419
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_a_doc_id.yml
394
420
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_exhibit-specific_indexing.yml
395
421
  - spec/vcr_cassettes/gdor_indexing_integration_test/has_spotlight_data.yml