blacklight_oai_provider 6.0.0 → 6.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,50 @@
1
+ require 'spec_helper'
2
+
3
+ RSpec.describe BlacklightOaiProvider::SolrDocumentProvider do
4
+ subject(:provider) { described_class.new(controller, options) }
5
+
6
+ let(:options) { {} }
7
+ let(:controller) { CatalogController.new }
8
+
9
+ describe '#initialize' do
10
+ let(:view_context) { instance_double("ViewContext") }
11
+
12
+ before do
13
+ allow(controller).to receive(:view_context).and_return(view_context)
14
+ allow(view_context).to receive(:oai_catalog_url).and_return(:some_path)
15
+ allow(view_context).to receive(:application_name).and_return(:some_name)
16
+ end
17
+
18
+ context 'with no options provided' do
19
+ it 'sets the default repository name and url' do
20
+ expect(provider.url).to eq :some_path
21
+ expect(provider.name).to eq :some_name
22
+ end
23
+ end
24
+
25
+ context 'with options provided' do
26
+ let(:options) { { provider: { repository_url: '/my/custom/path', repository_name: 'My Custom Name' } } }
27
+
28
+ it 'uses the repository name and url set into the options' do
29
+ expect(provider.url).to eq '/my/custom/path'
30
+ expect(provider.name).to eq 'My Custom Name'
31
+ end
32
+ end
33
+
34
+ context 'with Procs provided as option values' do
35
+ let(:options) do
36
+ {
37
+ provider: {
38
+ repository_name: ->(kontroller) { "Hello #{kontroller.__id__}" },
39
+ repository_url: ->(kontroller) { "Hello #{kontroller.view_context.oai_catalog_url}" }
40
+ }
41
+ }
42
+ end
43
+
44
+ it 'call()-s the Proc to set the option value' do
45
+ expect(provider.name).to eq "Hello #{controller.__id__}"
46
+ expect(provider.url).to eq "Hello #{controller.view_context.oai_catalog_url}"
47
+ end
48
+ end
49
+ end
50
+ end
@@ -38,7 +38,7 @@ RSpec.describe BlacklightOaiProvider::SolrDocumentWrapper do
38
38
 
39
39
  describe '#latest' do
40
40
  it 'returns the latest timestamp of all the records' do
41
- expect(wrapper.latest).to eq Time.parse('2014-03-03 18:42:53.056000000 +0000').utc
41
+ expect(wrapper.latest).to eq Time.parse('2015-02-03 18:42:53.056000000 +0000').utc
42
42
  end
43
43
  end
44
44
 
@@ -3,7 +3,7 @@ require 'spec_helper'
3
3
  RSpec.describe BlacklightOaiProvider::SolrSet do
4
4
  let(:controller) { CatalogController.new }
5
5
  let(:fields) do
6
- [{ label: 'language', solr_field: 'language_facet' }]
6
+ [{ label: 'language', solr_field: 'language_ssim' }]
7
7
  end
8
8
 
9
9
  before do
@@ -23,7 +23,7 @@ RSpec.describe BlacklightOaiProvider::SolrSet do
23
23
  context 'with multiple fields' do
24
24
  let(:fields) do
25
25
  [
26
- { label: 'language', solr_field: 'language_facet' },
26
+ { label: 'language', solr_field: 'language_ssim' },
27
27
  { solr_field: 'format' }
28
28
  ]
29
29
  end
@@ -35,7 +35,7 @@ RSpec.describe BlacklightOaiProvider::SolrSet do
35
35
 
36
36
  context 'for a field with no values' do
37
37
  let(:fields) do
38
- [{ label: 'author', solr_field: 'author_display' }]
38
+ [{ label: 'author', solr_field: 'author_ts' }]
39
39
  end
40
40
 
41
41
  it 'returns nil' do
@@ -45,12 +45,12 @@ RSpec.describe BlacklightOaiProvider::SolrSet do
45
45
 
46
46
  context 'for a field with facet config limit' do
47
47
  let(:fields) do
48
- [{ label: 'lc_alpha', solr_field: 'lc_alpha_facet' }]
48
+ [{ label: 'lc_alpha', solr_field: 'lc_alpha_ssim' }]
49
49
  end
50
50
 
51
51
  before do
52
52
  CatalogController.configure_blacklight do |config|
53
- config.add_facet_field 'lc_alpha_facet', label: 'lc_alpha', limit: 2
53
+ config.add_facet_field 'lc_alpha_ssim', label: 'lc_alpha', limit: 2
54
54
  end
55
55
  end
56
56
 
@@ -65,7 +65,7 @@ RSpec.describe BlacklightOaiProvider::SolrSet do
65
65
  let(:spec) { 'language:Hebrew' }
66
66
 
67
67
  it 'returns the filter query' do
68
- expect(described_class.from_spec(spec)).to eq 'language_facet:"Hebrew"'
68
+ expect(described_class.from_spec(spec)).to eq 'language_ssim:"Hebrew"'
69
69
  end
70
70
  end
71
71
 
@@ -94,7 +94,7 @@ RSpec.describe BlacklightOaiProvider::SolrSet do
94
94
  end
95
95
 
96
96
  it 'gets solr field' do
97
- expect(set.solr_field).to eql 'language_facet'
97
+ expect(set.solr_field).to eql 'language_ssim'
98
98
  end
99
99
  end
100
100
  end
@@ -18,7 +18,7 @@ describe 'OIA-PMH ListIdentifiers Request' do
18
18
  end
19
19
 
20
20
  it 'contains resumptionToken' do
21
- expect(xml.at_xpath('//xmlns:resumptionToken').text).to eql 'oai_dc.f(2014-02-03T18:42:53Z).u(2014-03-03T18:42:53Z).t(30):25'
21
+ expect(xml.at_xpath('//xmlns:resumptionToken').text).to eql 'oai_dc.f(2014-02-03T18:42:53Z).u(2015-02-03T18:42:53Z).t(30):25'
22
22
  end
23
23
  end
24
24
 
@@ -27,8 +27,8 @@ describe 'OIA-PMH ListIdentifiers Request' do
27
27
  get '/catalog/oai?verb=ListIdentifiers&resumptionToken=oai_dc.f(2014-02-03T18:42:53Z).u(2014-03-03T18:42:53Z).t(30):25'
28
28
  end
29
29
 
30
- it 'returns 5 records' do
31
- expect(xml.xpath('//xmlns:ListIdentifiers/xmlns:header').count).to be 5
30
+ it 'returns 4 records' do
31
+ expect(xml.xpath('//xmlns:ListIdentifiers/xmlns:header').count).to be 4
32
32
  end
33
33
 
34
34
  it 'first record has identifier and timestamp' do
@@ -57,7 +57,7 @@ describe 'OIA-PMH ListIdentifiers Request' do
57
57
 
58
58
  context 'with different timestamp_field' do
59
59
  before :all do
60
- SolrDocument.timestamp_key = "record_creation_dt"
60
+ SolrDocument.timestamp_key = "record_creation_dtsi"
61
61
  end
62
62
 
63
63
  before do
@@ -24,7 +24,7 @@ describe 'OIA-PMH ListRecords Request' do
24
24
  end
25
25
 
26
26
  it 'contains resumptionToken' do
27
- expect(xml.at_xpath('//xmlns:resumptionToken').text).to eql 'oai_dc.f(2014-02-03T18:42:53Z).u(2014-03-03T18:42:53Z).t(30):25'
27
+ expect(xml.at_xpath('//xmlns:resumptionToken').text).to eql 'oai_dc.f(2014-02-03T18:42:53Z).u(2015-02-03T18:42:53Z).t(30):25'
28
28
  end
29
29
 
30
30
  context 'for record' do
@@ -73,8 +73,8 @@ describe 'OIA-PMH ListRecords Request' do
73
73
  get '/catalog/oai?verb=ListRecords&resumptionToken=oai_dc.f(2014-02-03T18:42:53Z).u(2014-02-03T18:42:53Z).t(29):25'
74
74
  end
75
75
 
76
- it 'returns 4 records' do
77
- expect(xml.xpath('//xmlns:ListRecords/xmlns:record/xmlns:header').count).to be 4
76
+ it 'returns 3 records' do
77
+ expect(xml.xpath('//xmlns:ListRecords/xmlns:record/xmlns:header').count).to be 3
78
78
  end
79
79
 
80
80
  it 'first record has oai_dc metadata element' do
@@ -119,7 +119,7 @@ describe 'OIA-PMH ListRecords Request' do
119
119
 
120
120
  context 'throws noRecordsMatch error' do
121
121
  before do
122
- get '/catalog/oai?verb=ListRecords&metadataPrefix=oai_dc&from=2015-01-01'
122
+ get '/catalog/oai?verb=ListRecords&metadataPrefix=oai_dc&from=2016-01-01'
123
123
  end
124
124
 
125
125
  it 'returns no records error' do
@@ -57,7 +57,7 @@ RSpec.describe 'OAI-PMH ListSets Request' do
57
57
  {
58
58
  document: {
59
59
  set_fields: [
60
- { label: 'subject', solr_field: 'subject_topic_facet',
60
+ { label: 'subject', solr_field: 'subject_ssim',
61
61
  description: "Subject topic set using FAST subjects" }
62
62
  ]
63
63
  }
@@ -6,18 +6,9 @@ EngineCart.load_application!
6
6
  require 'rspec/rails'
7
7
  require 'capybara/rspec'
8
8
  require 'selenium-webdriver'
9
+ require 'webdrivers'
9
10
 
10
- Capybara.javascript_driver = :headless_chrome
11
-
12
- Capybara.register_driver :headless_chrome do |app|
13
- capabilities = Selenium::WebDriver::Remote::Capabilities.chrome(
14
- chromeOptions: { args: %w[headless disable-gpu] }
15
- )
16
-
17
- Capybara::Selenium::Driver.new(app,
18
- browser: :chrome,
19
- desired_capabilities: capabilities)
20
- end
11
+ Capybara.javascript_driver = :selenium_chrome_headless
21
12
 
22
13
  RSpec.configure do |config|
23
14
  config.infer_spec_type_from_file_location!
@@ -45,6 +45,10 @@ class TestAppGenerator < Rails::Generators::Base
45
45
  end
46
46
  end
47
47
 
48
+ def overwrite_catalog_controller
49
+ copy_file "templates/catalog_controller.rb", "app/controllers/catalog_controller.rb", force: true
50
+ end
51
+
48
52
  def install_engine
49
53
  say_status("warning", "GENERATING BL OAI PLUGIN", :yellow)
50
54
 
@@ -82,7 +86,7 @@ class TestAppGenerator < Rails::Generators::Base
82
86
  },
83
87
  document: {
84
88
  set_fields: [
85
- { label: 'language', solr_field: 'language_facet' }
89
+ { label: 'language', solr_field: 'language_ssim' }
86
90
  ],
87
91
  limit: 25
88
92
  }
@@ -93,12 +97,12 @@ class TestAppGenerator < Rails::Generators::Base
93
97
  insert_into_file "app/models/solr_document.rb", after: "include BlacklightOaiProvider::SolrDocument\n" do
94
98
  <<-CONFIG
95
99
  field_semantics.merge!(
96
- title: "title_display",
97
- creator: "author_display",
98
- date: "pub_date",
99
- subject: "subject_topic_facet",
100
+ title: "title_tsim",
101
+ date: "pub_date_ssim",
102
+ subject: "subject_ssim",
103
+ creator: "author_tsim",
100
104
  format: "format",
101
- language: "language_facet"
105
+ language: "language_ssim",
102
106
  )
103
107
  CONFIG
104
108
  end
@@ -0,0 +1,196 @@
1
+ # frozen_string_literal: true
2
+
3
+ class CatalogController < ApplicationController
4
+ include Blacklight::Catalog
5
+ include BlacklightOaiProvider::Controller
6
+
7
+ configure_blacklight do |config|
8
+ ## Class for sending and receiving requests from a search index
9
+ # config.repository_class = Blacklight::Solr::Repository
10
+ #
11
+ ## Class for converting Blacklight's url parameters to into request parameters for the search index
12
+ # config.search_builder_class = ::SearchBuilder
13
+ #
14
+ ## Model that maps search index responses to the blacklight response model
15
+ # config.response_model = Blacklight::Solr::Response
16
+
17
+ ## Default parameters to send to solr for all search-like requests. See also SearchBuilder#processed_parameters
18
+ config.default_solr_params = {
19
+ rows: 10
20
+ }
21
+
22
+ # solr path which will be added to solr base url before the other solr params.
23
+ # config.solr_path = 'select'
24
+
25
+ # items to show per page, each number in the array represent another option to choose from.
26
+ # config.per_page = [10,20,50,100]
27
+
28
+ ## Default parameters to send on single-document requests to Solr. These settings are the Blackligt defaults (see SearchHelper#solr_doc_params) or
29
+ ## parameters included in the Blacklight-jetty document requestHandler.
30
+ #
31
+ # config.default_document_solr_params = {
32
+ # qt: 'document',
33
+ # ## These are hard-coded in the blacklight 'document' requestHandler
34
+ # # fl: '*',
35
+ # # rows: 1,
36
+ # # q: '{!term f=id v=$id}'
37
+ # }
38
+
39
+ # solr field configuration for search results/index views
40
+ config.index.title_field = 'title_tsim'
41
+ config.index.display_type_field = 'format'
42
+ # config.index.thumbnail_field = 'thumbnail_path_ss'
43
+
44
+ # solr field configuration for document/show views
45
+ # config.show.title_field = 'title_ssim'
46
+ # config.show.display_type_field = 'format'
47
+ # config.show.thumbnail_field = 'thumbnail_path_ss'
48
+
49
+ # solr fields that will be treated as facets by the blacklight application
50
+ # The ordering of the field names is the order of the display
51
+ #
52
+ # Setting a limit will trigger Blacklight's 'more' facet values link.
53
+ # * If left unset, then all facet values returned by solr will be displayed.
54
+ # * If set to an integer, then "f.somefield.facet.limit" will be added to
55
+ # solr request, with actual solr request being +1 your configured limit --
56
+ # you configure the number of items you actually want _ssimed_ in a page.
57
+ # * If set to 'true', then no additional parameters will be sent to solr,
58
+ # but any 'sniffed' request limit parameters will be used for paging, with
59
+ # paging at requested limit -1. Can sniff from facet.limit or
60
+ # f.specific_field.facet.limit solr request params. This 'true' config
61
+ # can be used if you set limits in :default_solr_params, or as defaults
62
+ # on the solr side in the request handler itself. Request handler defaults
63
+ # sniffing requires solr requests to be made with "echoParams=all", for
64
+ # app code to actually have it echo'd back to see it.
65
+ #
66
+ # :show may be set to false if you don't want the facet to be drawn in the
67
+ # facet bar
68
+ #
69
+ # set :index_range to true if you want the facet pagination view to have facet prefix-based navigation
70
+ # (useful when user clicks "more" on a large facet and wants to navigate alphabetically across a large set of results)
71
+ # :index_range can be an array or range of prefixes that will be used to create the navigation (note: It is case sensitive when searching values)
72
+
73
+ config.add_facet_field 'format', label: 'Format'
74
+ config.add_facet_field 'pub_date_ssim', label: 'Publication Year', single: true
75
+ config.add_facet_field 'subject_tsim', label: 'Topic', limit: 20, index_range: 'A'..'Z'
76
+ config.add_facet_field 'language_ssim', label: 'Language', limit: true
77
+ config.add_facet_field 'lc_1letter_ssim', label: 'Call Number'
78
+ config.add_facet_field 'subject_geo_ssim', label: 'Region'
79
+ config.add_facet_field 'subject_era_ssim', label: 'Era'
80
+
81
+ config.add_facet_field 'example_pivot_field', label: 'Pivot Field', pivot: %w[format language_ssim]
82
+
83
+ config.add_facet_field 'example_query_facet_field', label: 'Publish Date', query: {
84
+ years_5: { label: 'within 5 Years', fq: "pub_date_ssim:[#{Time.zone.now.year - 5} TO *]" },
85
+ years_10: { label: 'within 10 Years', fq: "pub_date_ssim:[#{Time.zone.now.year - 10} TO *]" },
86
+ years_25: { label: 'within 25 Years', fq: "pub_date_ssim:[#{Time.zone.now.year - 25} TO *]" }
87
+ }
88
+
89
+ # Have BL send all facet field names to Solr, which has been the default
90
+ # previously. Simply remove these lines if you'd rather use Solr request
91
+ # handler defaults, or have no facets.
92
+ config.add_facet_fields_to_solr_request!
93
+
94
+ # solr fields to be displayed in the index (search results) view
95
+ # The ordering of the field names is the order of the display
96
+ config.add_index_field 'title_tsim', label: 'Title'
97
+ config.add_index_field 'title_vern_tsim', label: 'Title'
98
+ config.add_index_field 'author_tsim', label: 'Author'
99
+ config.add_index_field 'author_vern_tsim', label: 'Author'
100
+ config.add_index_field 'format', label: 'Format'
101
+ config.add_index_field 'language_ssim', label: 'Language'
102
+ config.add_index_field 'published_ssim', label: 'Published'
103
+ config.add_index_field 'published_vern_ssim', label: 'Published'
104
+ config.add_index_field 'lc_callnum_ssim', label: 'Call number'
105
+
106
+ # solr fields to be displayed in the show (single result) view
107
+ # The ordering of the field names is the order of the display
108
+ config.add_show_field 'title_ssim', label: 'Title'
109
+ config.add_show_field 'title_vern_ssim', label: 'Title'
110
+ config.add_show_field 'subtitle_tsim', label: 'Subtitle'
111
+ config.add_show_field 'subtitle_vern_tsim', label: 'Subtitle'
112
+ config.add_show_field 'author_tsim', label: 'Author'
113
+ config.add_show_field 'author_vern_tsim', label: 'Author'
114
+ config.add_show_field 'format', label: 'Format'
115
+ config.add_show_field 'url_fulltext_ssim', label: 'URL'
116
+ config.add_show_field 'url_suppl_ssim', label: 'More Information'
117
+ config.add_show_field 'language_ssim', label: 'Language'
118
+ config.add_show_field 'published_ssim', label: 'Published'
119
+ config.add_show_field 'published_vern_ssim', label: 'Published'
120
+ config.add_show_field 'lc_callnum_ssim', label: 'Call number'
121
+ config.add_show_field 'isbn_ssim', label: 'ISBN'
122
+
123
+ # "fielded" search configuration. Used by pulldown among other places.
124
+ # For supported keys in hash, see rdoc for Blacklight::SearchFields
125
+ #
126
+ # Search fields will inherit the :qt solr request handler from
127
+ # config[:default_solr_parameters], OR can specify a different one
128
+ # with a :qt key/value. Below examples inherit, except for subject
129
+ # that specifies the same :qt as default for our own internal
130
+ # testing purposes.
131
+ #
132
+ # The :key is what will be used to identify this BL search field internally,
133
+ # as well as in URLs -- so changing it after deployment may break bookmarked
134
+ # urls. A display label will be automatically calculated from the :key,
135
+ # or can be specified manually to be different.
136
+
137
+ # This one uses all the defaults set by the solr request handler. Which
138
+ # solr request handler? The one set in config[:default_solr_parameters][:qt],
139
+ # since we aren't specifying it otherwise.
140
+
141
+ config.add_search_field 'all_fields', label: 'All Fields'
142
+
143
+ # Now we see how to over-ride Solr request handler defaults, in this
144
+ # case for a BL "search field", which is really a dismax aggregate
145
+ # of Solr search fields.
146
+
147
+ config.add_search_field('title') do |field|
148
+ # solr_parameters hash are sent to Solr as ordinary url query params.
149
+ field.solr_parameters = {
150
+ 'spellcheck.dictionary': 'title',
151
+ qf: '${title_qf}',
152
+ pf: '${title_pf}'
153
+ }
154
+ end
155
+
156
+ config.add_search_field('author') do |field|
157
+ field.solr_parameters = {
158
+ 'spellcheck.dictionary': 'author',
159
+ qf: '${author_qf}',
160
+ pf: '${author_pf}'
161
+ }
162
+ end
163
+
164
+ # Specifying a :qt only to show it's possible, and so our internal automated
165
+ # tests can test it. In this case it's the same as
166
+ # config[:default_solr_parameters][:qt], so isn't actually neccesary.
167
+ config.add_search_field('subject') do |field|
168
+ field.qt = 'search'
169
+ field.solr_parameters = {
170
+ 'spellcheck.dictionary': 'subject',
171
+ qf: '${subject_qf}',
172
+ pf: '${subject_pf}'
173
+ }
174
+ end
175
+
176
+ # "sort results by" select (pulldown)
177
+ # label in pulldown is followed by the name of the SOLR field to sort by and
178
+ # whether the sort is ascending or descending (it must be asc or desc
179
+ # except in the relevancy case).
180
+ config.add_sort_field 'score desc, pub_date_ssim desc, title_si asc', label: 'relevance'
181
+ config.add_sort_field 'pub_date_ssim desc, title_si asc', label: 'year'
182
+ config.add_sort_field 'author_si asc, title_si asc', label: 'author'
183
+ config.add_sort_field 'title_si asc, pub_date_ssim desc', label: 'title'
184
+
185
+ # If there are more than this many search results, no spelling ("did you
186
+ # mean") suggestion is offered.
187
+ config.spell_max = 5
188
+
189
+ # Configuration for autocomplete suggestor
190
+ config.autocomplete_enabled = true
191
+ config.autocomplete_path = 'suggest'
192
+ # if the name of the solr.SuggestComponent provided in your solrcongig.xml is not the
193
+ # default 'mySuggester', uncomment and provide it below
194
+ # config.autocomplete_suggester = 'mySuggester'
195
+ end
196
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: blacklight_oai_provider
3
3
  version: !ruby/object:Gem::Version
4
- version: 6.0.0
4
+ version: 6.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Chris Beer
@@ -9,28 +9,8 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2018-02-09 00:00:00.000000000 Z
12
+ date: 2021-01-14 00:00:00.000000000 Z
13
13
  dependencies:
14
- - !ruby/object:Gem::Dependency
15
- name: rails
16
- requirement: !ruby/object:Gem::Requirement
17
- requirements:
18
- - - ">="
19
- - !ruby/object:Gem::Version
20
- version: '4.2'
21
- - - "<"
22
- - !ruby/object:Gem::Version
23
- version: '6'
24
- type: :runtime
25
- prerelease: false
26
- version_requirements: !ruby/object:Gem::Requirement
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- version: '4.2'
31
- - - "<"
32
- - !ruby/object:Gem::Version
33
- version: '6'
34
14
  - !ruby/object:Gem::Dependency
35
15
  name: blacklight
36
16
  requirement: !ruby/object:Gem::Requirement
@@ -51,28 +31,28 @@ dependencies:
51
31
  requirements:
52
32
  - - "~>"
53
33
  - !ruby/object:Gem::Version
54
- version: '0.4'
34
+ version: '1.0'
55
35
  type: :runtime
56
36
  prerelease: false
57
37
  version_requirements: !ruby/object:Gem::Requirement
58
38
  requirements:
59
39
  - - "~>"
60
40
  - !ruby/object:Gem::Version
61
- version: '0.4'
41
+ version: '1.0'
62
42
  - !ruby/object:Gem::Dependency
63
43
  name: rspec-rails
64
44
  requirement: !ruby/object:Gem::Requirement
65
45
  requirements:
66
- - - "~>"
46
+ - - ">="
67
47
  - !ruby/object:Gem::Version
68
- version: '3.0'
48
+ version: '0'
69
49
  type: :development
70
50
  prerelease: false
71
51
  version_requirements: !ruby/object:Gem::Requirement
72
52
  requirements:
73
- - - "~>"
53
+ - - ">="
74
54
  - !ruby/object:Gem::Version
75
- version: '3.0'
55
+ version: '0'
76
56
  - !ruby/object:Gem::Dependency
77
57
  name: capybara
78
58
  requirement: !ruby/object:Gem::Requirement
@@ -116,33 +96,33 @@ dependencies:
116
96
  - !ruby/object:Gem::Version
117
97
  version: '0'
118
98
  - !ruby/object:Gem::Dependency
119
- name: chromedriver-helper
99
+ name: webdrivers
120
100
  requirement: !ruby/object:Gem::Requirement
121
101
  requirements:
122
- - - ">="
102
+ - - "~>"
123
103
  - !ruby/object:Gem::Version
124
- version: '0'
104
+ version: '3.0'
125
105
  type: :development
126
106
  prerelease: false
127
107
  version_requirements: !ruby/object:Gem::Requirement
128
108
  requirements:
129
- - - ">="
109
+ - - "~>"
130
110
  - !ruby/object:Gem::Version
131
- version: '0'
111
+ version: '3.0'
132
112
  - !ruby/object:Gem::Dependency
133
113
  name: selenium-webdriver
134
114
  requirement: !ruby/object:Gem::Requirement
135
115
  requirements:
136
116
  - - ">="
137
117
  - !ruby/object:Gem::Version
138
- version: '0'
118
+ version: 3.13.1
139
119
  type: :development
140
120
  prerelease: false
141
121
  version_requirements: !ruby/object:Gem::Requirement
142
122
  requirements:
143
123
  - - ">="
144
124
  - !ruby/object:Gem::Version
145
- version: '0'
125
+ version: 3.13.1
146
126
  - !ruby/object:Gem::Dependency
147
127
  name: byebug
148
128
  requirement: !ruby/object:Gem::Requirement
@@ -240,6 +220,7 @@ files:
240
220
  - solr/sample_solr_documents.yml
241
221
  - spec/controllers/catalog_controller_spec.rb
242
222
  - spec/features/html_rendering_spec.rb
223
+ - spec/lib/blacklight_oai_provider/solr_document_provider_spec.rb
243
224
  - spec/lib/blacklight_oai_provider/solr_document_wrapper_spec.rb
244
225
  - spec/lib/blacklight_oai_provider/solr_set_spec.rb
245
226
  - spec/models/solr_document_spec.rb
@@ -252,6 +233,7 @@ files:
252
233
  - spec/spec_helper.rb
253
234
  - spec/test_app_templates/config/solr.yml
254
235
  - spec/test_app_templates/lib/generators/test_app_generator.rb
236
+ - spec/test_app_templates/templates/catalog_controller.rb
255
237
  homepage: http://projectblacklight.org/
256
238
  licenses: []
257
239
  metadata: {}
@@ -270,23 +252,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
270
252
  - !ruby/object:Gem::Version
271
253
  version: '0'
272
254
  requirements: []
273
- rubyforge_project: blacklight
274
- rubygems_version: 2.5.2
255
+ rubygems_version: 3.1.4
275
256
  signing_key:
276
257
  specification_version: 4
277
258
  summary: Blacklight Oai Provider plugin
278
- test_files:
279
- - spec/controllers/catalog_controller_spec.rb
280
- - spec/features/html_rendering_spec.rb
281
- - spec/lib/blacklight_oai_provider/solr_document_wrapper_spec.rb
282
- - spec/lib/blacklight_oai_provider/solr_set_spec.rb
283
- - spec/models/solr_document_spec.rb
284
- - spec/requests/get_record_spec.rb
285
- - spec/requests/identify_spec.rb
286
- - spec/requests/list_identifiers_spec.rb
287
- - spec/requests/list_metadata_formats_spec.rb
288
- - spec/requests/list_records_spec.rb
289
- - spec/requests/list_sets_spec.rb
290
- - spec/spec_helper.rb
291
- - spec/test_app_templates/config/solr.yml
292
- - spec/test_app_templates/lib/generators/test_app_generator.rb
259
+ test_files: []