bento_search 1.5.0 → 2.0.0.rc1

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.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +27 -24
  3. data/Rakefile +30 -11
  4. data/app/assets/javascripts/bento_search/ajax_load.js +54 -22
  5. data/app/controllers/bento_search/search_controller.rb +31 -30
  6. data/app/helpers/bento_search_helper.rb +72 -74
  7. data/app/models/bento_search/concurrent_searcher.rb +136 -0
  8. data/app/models/bento_search/result_item.rb +15 -12
  9. data/app/models/bento_search/results/serialization.rb +22 -13
  10. data/app/models/bento_search/search_engine.rb +170 -140
  11. data/app/search_engines/bento_search/doaj_articles_engine.rb +20 -20
  12. data/app/search_engines/bento_search/ebsco_host_engine.rb +3 -3
  13. data/app/search_engines/bento_search/eds_engine.rb +326 -206
  14. data/app/search_engines/bento_search/google_books_engine.rb +2 -2
  15. data/app/search_engines/bento_search/scopus_engine.rb +87 -87
  16. data/app/search_engines/bento_search/summon_engine.rb +1 -1
  17. data/app/views/bento_search/_ajax_loading.html.erb +17 -0
  18. data/app/views/bento_search/_item_title.html.erb +2 -4
  19. data/app/views/bento_search/_link.html.erb +3 -3
  20. data/lib/bento_search.rb +24 -9
  21. data/lib/bento_search/engine.rb +2 -0
  22. data/lib/bento_search/version.rb +1 -1
  23. data/lib/generators/bento_search/install/ajax_load_js_generator.rb +15 -0
  24. data/test/decorator/standard_decorator_test.rb +30 -30
  25. data/test/dummy/app/assets/config/manifest.js +4 -0
  26. data/test/dummy/config/application.rb +7 -0
  27. data/test/dummy/config/boot.rb +4 -9
  28. data/test/dummy/config/environments/development.rb +2 -0
  29. data/test/dummy/config/environments/production.rb +7 -1
  30. data/test/dummy/config/environments/test.rb +10 -3
  31. data/test/functional/bento_search/search_controller_test.rb +68 -58
  32. data/test/helper/bento_search_helper_test.rb +103 -103
  33. data/test/search_engines/doaj_articles_engine_test.rb +9 -9
  34. data/test/search_engines/eds_engine_test.rb +91 -59
  35. data/test/search_engines/google_site_search_test.rb +48 -48
  36. data/test/search_engines/scopus_engine_test.rb +51 -51
  37. data/test/search_engines/search_engine_base_test.rb +108 -86
  38. data/test/search_engines/search_engine_test.rb +68 -56
  39. data/test/support/atom.xsd.xml +3 -3
  40. data/test/support/xml.xsd +117 -0
  41. data/test/test_helper.rb +23 -12
  42. data/test/unit/concurrent_searcher_test.rb +75 -0
  43. data/test/unit/pagination_test.rb +12 -12
  44. data/test/vcr_cassettes/eds/FullText_CustomLink.yml +198 -0
  45. data/test/vcr_cassettes/eds/basic_search_smoke_test.yml +1036 -1729
  46. data/test/vcr_cassettes/eds/catalog_ebook_query.yml +218 -0
  47. data/test/vcr_cassettes/eds/catalog_query.yml +255 -0
  48. data/test/vcr_cassettes/eds/get_auth_token.yml +11 -44
  49. data/test/vcr_cassettes/eds/get_auth_token_failure.yml +10 -7
  50. data/test/vcr_cassettes/eds/get_with_auth.yml +144 -153
  51. data/test/vcr_cassettes/eds/get_with_auth_recovers_from_bad_auth.yml +167 -223
  52. data/test/view/atom_results_test.rb +94 -94
  53. metadata +36 -46
  54. data/app/assets/javascripts/bento_search.js +0 -3
  55. data/app/item_decorators/bento_search/ebscohost/conditional_openurl_main_link.rb +0 -36
  56. data/app/item_decorators/bento_search/only_premade_openurl.rb +0 -20
  57. data/app/item_decorators/bento_search/openurl_add_other_link.rb +0 -39
  58. data/app/item_decorators/bento_search/openurl_main_link.rb +0 -34
  59. data/app/models/bento_search/multi_searcher.rb +0 -131
  60. data/test/dummy/config/initializers/secret_token.rb +0 -8
  61. data/test/unit/multi_searcher_test.rb +0 -49
@@ -4,7 +4,7 @@ require 'nokogiri'
4
4
 
5
5
  class AtomResultsTest < ActionView::TestCase
6
6
  include ActionView::Helpers::UrlHelper
7
-
7
+
8
8
  @@namespaces = {
9
9
  "atom" => "http://www.w3.org/2005/Atom",
10
10
  "opensearch" => "http://a9.com/-/spec/opensearch/1.1/",
@@ -12,7 +12,7 @@ class AtomResultsTest < ActionView::TestCase
12
12
  "dcterms" => "http://purl.org/dc/terms/",
13
13
  "bibo" => "http://purl.org/ontology/bibo/"
14
14
  }
15
-
15
+
16
16
  # Instead of using assert_select, we do it ourselves with nokogiri
17
17
  # for better namespace control.
18
18
  #
@@ -21,26 +21,26 @@ class AtomResultsTest < ActionView::TestCase
21
21
  # assert matched_node.first["attribute"] == "foo"
22
22
  # end
23
23
  def assert_node(xml, xpath, options = {})
24
- result = xml.xpath(xpath, @@namespaces)
25
-
24
+ result = xml.xpath(xpath, @@namespaces)
25
+
26
26
  assert result.length > 0, "Expected xpath '#{xpath}' to match in #{xml.to_s[0..200]}..."
27
-
27
+
28
28
  if options[:text]
29
29
  assert_equal options[:text], result.text.strip, "Expected #{options[:text]} as content of #{result.to_s[0..200]}"
30
30
  end
31
-
31
+
32
32
  yield result if block_given?
33
33
  end
34
-
34
+
35
35
  def setup
36
36
  @total_items = 1000
37
37
  @start = 6
38
38
  @per_page = 15
39
-
40
-
41
- @engine = BentoSearch::MockEngine.new(:total_items => @total_items)
39
+
40
+
41
+ @engine = BentoSearch::MockEngine.new(:total_items => @total_items)
42
42
  @results = @engine.search("some query", :start => @start, :per_page => @per_page)
43
-
43
+
44
44
  # but fill the first result elements with some non-blank data to test
45
45
  @article = BentoSearch::ResultItem.new(
46
46
  :title => "An Article", #
@@ -66,7 +66,7 @@ class AtomResultsTest < ActionView::TestCase
66
66
  BentoSearch::Link.new(:url => "http://example.org/bare_link"),
67
67
  BentoSearch::Link.new(
68
68
  :url => "http://example.org/label_and_type",
69
- :label => "A link somewhere",
69
+ :label => "A link somewhere",
70
70
  :type => "application/pdf"
71
71
  ),
72
72
  BentoSearch::Link.new(
@@ -93,189 +93,189 @@ class AtomResultsTest < ActionView::TestCase
93
93
  :oclcnum => "12124345",
94
94
  :year => "2004"
95
95
  )
96
-
97
-
98
-
96
+
97
+
98
+
99
99
  @results[0] = @article
100
100
  @results[1] = @article_with_html_abstract
101
101
  @results[3] = @article_with_full_date
102
- @results[4] = @book
102
+ @results[4] = @book
103
103
  end
104
-
104
+
105
105
  def test_smoke_atom_validate
106
106
  # Validate under Atom schema. Should we validate under prism and dc schemas
107
107
  # too? Not sure if it makes sense, or if there's even a relevant schema
108
- # for how we're using em. So of just basic 'smoke' value.
108
+ # for how we're using em. So of just basic 'smoke' value.
109
109
  render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
110
110
  xml_response = Nokogiri::XML( rendered ) { |config| config.strict }
111
-
111
+
112
112
  atom_xsd_filepath = File.expand_path("../../support/atom.xsd.xml", __FILE__)
113
- schema_xml = Nokogiri::XML(File.read(atom_xsd_filepath))
113
+ schema_xml = Nokogiri::XML(File.open(atom_xsd_filepath))
114
114
  # modify to add processContents lax so it'll let us include elements from
115
- # external namespaces.
115
+ # external namespaces.
116
116
  schema_xml.xpath("//xs:any[@namespace='##other']", {"xs" => "http://www.w3.org/2001/XMLSchema"}).each do |node|
117
117
  node["processContents"] = "lax"
118
- end
119
-
118
+ end
119
+
120
120
  schema = Nokogiri::XML::Schema.from_document( schema_xml )
121
-
122
- assert_empty schema.validate(xml_response), "Validates with atom XSD schema"
121
+
122
+ assert_empty schema.validate(xml_response), "Validates with atom XSD schema"
123
123
  end
124
-
125
-
124
+
125
+
126
126
  def test_feed_metadata
127
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
128
- xml_response = Nokogiri::XML( rendered )
129
-
130
- assert_node(xml_response, "atom:feed") do |feed|
127
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
128
+ xml_response = Nokogiri::XML( rendered )
129
+
130
+ assert_node(xml_response, "atom:feed") do |feed|
131
131
  assert_node(feed, "atom:title")
132
132
  assert_node(feed, "atom:author")
133
133
  assert_node(feed, "atom:updated")
134
-
134
+
135
135
  assert_node(feed, "opensearch:totalResults", :text => @total_items.to_s)
136
136
  assert_node(feed, "opensearch:startIndex", :text => @start.to_s)
137
137
  assert_node(feed, "opensearch:itemsPerPage", :text => @per_page.to_s)
138
138
  end
139
-
139
+
140
140
  end
141
-
141
+
142
142
  def test_article_entry_example
143
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
144
- xml_response = Nokogiri::XML( rendered )
145
-
143
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
144
+ xml_response = Nokogiri::XML( rendered )
145
+
146
146
  assert_node(xml_response, "./atom:feed/atom:entry[1]") do |article|
147
- assert_node(article, "atom:title", :text => @article.title)
147
+ assert_node(article, "atom:title", :text => @article.title)
148
148
  assert_node(article, "prism:coverDate", :text => @article.year)
149
-
149
+
150
150
  assert_node(article, "prism:issn", :text => @article.issn)
151
151
  assert_node(article, "prism:doi", :text => @article.doi)
152
-
152
+
153
153
  assert_node(article, "prism:volume", :text => @article.volume)
154
154
  assert_node(article, "prism:number", :text => @article.issue)
155
-
155
+
156
156
  assert_node(article, "prism:startingPage", :text => @article.start_page)
157
157
  assert_node(article, "prism:endingPage", :text => @article.end_page)
158
-
158
+
159
159
  assert_node(article, "prism:publicationName", :text => @article.source_title)
160
-
160
+
161
161
  abstract = article.at_xpath("atom:summary", @@namespaces)
162
162
  assert_present abstract, "Has an abstract"
163
163
  assert_equal "text", abstract["type"], "Abstract type text"
164
164
  assert_equal @article.abstract, abstract.text
165
-
165
+
166
166
  assert_node(article, "dcterms:language[@vocabulary='http://dbpedia.org/resource/ISO_639-1']", :text => @article.language_iso_639_1)
167
167
  assert_node(article, "dcterms:language[@vocabulary='http://dbpedia.org/resource/ISO_639-3']", :text => @article.language_iso_639_3)
168
- assert_node(article, "dcterms:language[not(@vocabulary)]", :text => @article.language_str)
169
-
168
+ assert_node(article, "dcterms:language[not(@vocabulary)]", :text => @article.language_str)
169
+
170
170
  assert_node(article, "dcterms:type[not(@vocabulary)]", :text => @article.format_str)
171
-
171
+
172
172
  assert_node(article, "dcterms:type[@vocabulary='http://schema.org/']", :text => @article.schema_org_type_url)
173
173
  assert_node(article, "dcterms:type[@vocabulary='http://purl.org/NET/bento_search/ontology']", :text => @article.format)
174
-
175
- # Just make sure right number of author elements, with right structure.
174
+
175
+ # Just make sure right number of author elements, with right structure.
176
176
  assert_node(article, "atom:author/atom:name") do |authors|
177
177
  assert_equal @article.authors.length, authors.length, "right number of author elements"
178
178
  end
179
-
179
+
180
180
  # Links. Main link is just rel=alternate
181
- assert_node(article,
181
+ assert_node(article,
182
182
  "atom:link[@rel='alternate'][@href='#{@article.link}']")
183
-
183
+
184
184
  # other links also there, default rel=related
185
- assert_node(article,
185
+ assert_node(article,
186
186
  "atom:link[@rel='related'][@type='application/pdf'][@title='A link somewhere'][@href='http://example.org/label_and_type']")
187
187
  assert_node(article,
188
- "atom:link[@rel='something'][@href='http://example.org/rel']")
189
- end
190
-
188
+ "atom:link[@rel='something'][@href='http://example.org/rel']")
189
+ end
190
+
191
191
  end
192
-
193
-
192
+
193
+
194
194
  def test_with_unique_id
195
- @results = @engine.search("find")
195
+ @results = @engine.search("find")
196
196
  @results[0] = BentoSearch::ResultItem.new(
197
- :title => "Something",
197
+ :title => "Something",
198
198
  :unique_id => "a000:/01",
199
199
  :engine_id => "some_engine"
200
200
  )
201
-
202
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
201
+
202
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
203
203
  xml_response = Nokogiri::XML( rendered )
204
-
204
+
205
205
  with_unique_id = xml_response.xpath("./atom:feed/atom:entry", @@namespaces)[0]
206
-
206
+
207
207
  assert_node(with_unique_id, "atom:id") do |id|
208
208
  # based off of engine_id and unique_id
209
209
  assert_includes id.text, "some_engine"
210
210
  assert_includes id.text, "a000%3A%2F01"
211
- end
211
+ end
212
212
  end
213
-
213
+
214
214
  def test_with_html_abstract
215
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
215
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
216
216
  xml_response = Nokogiri::XML( rendered )
217
-
217
+
218
218
  with_html_abstract = xml_response.xpath("./atom:feed/atom:entry", @@namespaces)[1]
219
-
220
- assert_node(with_html_abstract, "atom:summary[@type='html']", :text => @article_with_html_abstract.abstract.to_s)
219
+
220
+ assert_node(with_html_abstract, "atom:summary[@type='html']", :text => @article_with_html_abstract.abstract.to_s)
221
221
  end
222
-
222
+
223
223
  def test_book
224
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
224
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
225
225
  xml_response = Nokogiri::XML( rendered )
226
-
226
+
227
227
  book = xml_response.xpath("./atom:feed/atom:entry", @@namespaces)[4]
228
-
228
+
229
229
  assert_node(book, "dcterms:type[@vocabulary='http://purl.org/NET/bento_search/ontology']", :text => "Book")
230
230
  assert_node(book, "dcterms:type[@vocabulary='http://schema.org/']", :text => "http://schema.org/Book")
231
-
231
+
232
232
  assert_node(book, "dcterms:publisher", :text => @book.publisher)
233
-
233
+
234
234
  assert_node(book, "prism:isbn", :text => @book.isbn)
235
-
235
+
236
236
  assert_node(book, "bibo:oclcnum", :text => @book.oclcnum)
237
237
  end
238
-
238
+
239
239
  def test_with_full_date
240
- render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
240
+ render :template => "bento_search/atom_results", :locals => {:atom_results => @results}
241
241
  xml_response = Nokogiri::XML( rendered )
242
-
242
+
243
243
  with_full_date = xml_response.at_xpath("./atom:feed/atom:entry[4]", @@namespaces)
244
-
245
- assert_node(with_full_date, "prism:coverDate", :text => "2011-05-06")
244
+
245
+ assert_node(with_full_date, "prism:coverDate", :text => "2011-05-06")
246
246
  end
247
247
 
248
248
  def test_nil_results
249
249
  # should render a more or less empty atom response for
250
250
  # nil results, convenient to not raise on nil
251
- render :template => "bento_search/atom_results", :locals => {:atom_results => nil}
251
+ render :template => "bento_search/atom_results", :locals => {:atom_results => nil}
252
252
  end
253
-
253
+
254
254
  def test_locals_for_feed_name_and_author
255
- render( :template => "bento_search/atom_results",
256
- :locals => {:atom_results => @results,
255
+ render( :template => "bento_search/atom_results",
256
+ :locals => {:atom_results => @results,
257
257
  :feed_name => "My Feed",
258
258
  :feed_author_name => "ACME Seed And Feed Products"}
259
259
  )
260
-
260
+
261
261
  xml_response = Nokogiri::XML( rendered )
262
-
262
+
263
263
  assert_node(xml_response, "./atom:feed/atom:title", :text => "My Feed")
264
264
  assert_node(xml_response, "./atom:feed/atom:author/atom:name", :text => "ACME Seed And Feed Products")
265
265
  end
266
-
266
+
267
267
  def test_html_in_title_stripped
268
268
  results = BentoSearch::Results.new
269
269
  results << BentoSearch::ResultItem.new(
270
270
  :title => "html <b>title</b>".html_safe
271
271
  )
272
-
272
+
273
273
  render(:template => "bento_search/atom_results", :locals => {:atom_results => results})
274
274
  xml_response = Nokogiri::XML( rendered )
275
-
275
+
276
276
  assert_node(xml_response, "./atom:feed/atom:entry[1]/atom:title", :text => "html title")
277
-
277
+
278
278
  end
279
-
280
-
279
+
280
+
281
281
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bento_search
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.0
4
+ version: 2.0.0.rc1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonathan Rochkind
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-09-23 00:00:00.000000000 Z
11
+ date: 2021-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -16,20 +16,20 @@ dependencies:
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: 3.2.3
19
+ version: '5.2'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '5'
22
+ version: '7'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
26
26
  requirements:
27
27
  - - ">="
28
28
  - !ruby/object:Gem::Version
29
- version: 3.2.3
29
+ version: '5.2'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '5'
32
+ version: '7'
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: confstruct
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -166,44 +166,30 @@ dependencies:
166
166
  requirements:
167
167
  - - "~>"
168
168
  - !ruby/object:Gem::Version
169
- version: '2.4'
169
+ version: '6.0'
170
170
  type: :development
171
171
  prerelease: false
172
172
  version_requirements: !ruby/object:Gem::Requirement
173
173
  requirements:
174
174
  - - "~>"
175
175
  - !ruby/object:Gem::Version
176
- version: '2.4'
176
+ version: '6.0'
177
177
  - !ruby/object:Gem::Dependency
178
178
  name: webmock
179
179
  requirement: !ruby/object:Gem::Requirement
180
180
  requirements:
181
181
  - - "~>"
182
182
  - !ruby/object:Gem::Version
183
- version: 1.11.0
183
+ version: '3.0'
184
184
  type: :development
185
185
  prerelease: false
186
186
  version_requirements: !ruby/object:Gem::Requirement
187
187
  requirements:
188
188
  - - "~>"
189
189
  - !ruby/object:Gem::Version
190
- version: 1.11.0
191
- - !ruby/object:Gem::Dependency
192
- name: celluloid
193
- requirement: !ruby/object:Gem::Requirement
194
- requirements:
195
- - - ">="
196
- - !ruby/object:Gem::Version
197
- version: '0'
198
- type: :development
199
- prerelease: false
200
- version_requirements: !ruby/object:Gem::Requirement
201
- requirements:
202
- - - ">="
203
- - !ruby/object:Gem::Version
204
- version: '0'
205
- description:
206
- email:
190
+ version: '3.0'
191
+ description:
192
+ email:
207
193
  executables: []
208
194
  extensions: []
209
195
  extra_rdoc_files: []
@@ -212,22 +198,17 @@ files:
212
198
  - README.md
213
199
  - Rakefile
214
200
  - app/assets/images/bento_search/large_loader.gif
215
- - app/assets/javascripts/bento_search.js
216
201
  - app/assets/javascripts/bento_search/ajax_load.js
217
202
  - app/assets/stylesheets/bento_search/suggested_styles.css
218
203
  - app/controllers/bento_search/bento_search_controller.rb
219
204
  - app/controllers/bento_search/search_controller.rb
220
205
  - app/helpers/bento_search_helper.rb
221
206
  - app/item_decorators/bento_search/decorator_base.rb
222
- - app/item_decorators/bento_search/ebscohost/conditional_openurl_main_link.rb
223
207
  - app/item_decorators/bento_search/no_links.rb
224
- - app/item_decorators/bento_search/only_premade_openurl.rb
225
- - app/item_decorators/bento_search/openurl_add_other_link.rb
226
- - app/item_decorators/bento_search/openurl_main_link.rb
227
208
  - app/item_decorators/bento_search/standard_decorator.rb
228
209
  - app/models/bento_search/author.rb
210
+ - app/models/bento_search/concurrent_searcher.rb
229
211
  - app/models/bento_search/link.rb
230
- - app/models/bento_search/multi_searcher.rb
231
212
  - app/models/bento_search/openurl_creator.rb
232
213
  - app/models/bento_search/registrar.rb
233
214
  - app/models/bento_search/result_item.rb
@@ -249,6 +230,7 @@ files:
249
230
  - app/search_engines/bento_search/summon_engine.rb
250
231
  - app/search_engines/bento_search/worldcat_sru_dc_engine.rb
251
232
  - app/search_engines/bento_search/xerxes_engine.rb
233
+ - app/views/bento_search/_ajax_loading.html.erb
252
234
  - app/views/bento_search/_atom_item.atom.builder
253
235
  - app/views/bento_search/_item_title.html.erb
254
236
  - app/views/bento_search/_link.html.erb
@@ -264,6 +246,7 @@ files:
264
246
  - lib/bento_search/routes.rb
265
247
  - lib/bento_search/util.rb
266
248
  - lib/bento_search/version.rb
249
+ - lib/generators/bento_search/install/ajax_load_js_generator.rb
267
250
  - lib/generators/bento_search/pull_ebsco_dbs_generator.rb
268
251
  - lib/generators/bento_search/templates/ebsco_global_var.erb
269
252
  - lib/http_client_patch/include_client.rb
@@ -272,6 +255,7 @@ files:
272
255
  - test/decorator/standard_decorator_test.rb
273
256
  - test/dummy/README.rdoc
274
257
  - test/dummy/Rakefile
258
+ - test/dummy/app/assets/config/manifest.js
275
259
  - test/dummy/app/assets/javascripts/application.js
276
260
  - test/dummy/app/assets/stylesheets/application.css
277
261
  - test/dummy/app/controllers/application_controller.rb
@@ -289,7 +273,6 @@ files:
289
273
  - test/dummy/config/initializers/backtrace_silencers.rb
290
274
  - test/dummy/config/initializers/inflections.rb
291
275
  - test/dummy/config/initializers/mime_types.rb
292
- - test/dummy/config/initializers/secret_token.rb
293
276
  - test/dummy/config/initializers/session_store.rb
294
277
  - test/dummy/config/initializers/wrap_parameters.rb
295
278
  - test/dummy/config/locales/en.yml
@@ -317,10 +300,11 @@ files:
317
300
  - test/search_engines/xerxes_engine_test.rb
318
301
  - test/support/atom.xsd.xml
319
302
  - test/support/test_with_cassette.rb
303
+ - test/support/xml.xsd
320
304
  - test/test_helper.rb
305
+ - test/unit/concurrent_searcher_test.rb
321
306
  - test/unit/handle_highlight_tags_test.rb
322
307
  - test/unit/item_decorators_test.rb
323
- - test/unit/multi_searcher_test.rb
324
308
  - test/unit/openurl_creator_test.rb
325
309
  - test/unit/pagination_test.rb
326
310
  - test/unit/register_engine_test.rb
@@ -352,7 +336,10 @@ files:
352
336
  - test/vcr_cassettes/ebscohost/live_search_smoke_test.yml
353
337
  - test/vcr_cassettes/ebscohost/multi-field_author_title.yml
354
338
  - test/vcr_cassettes/ebscohost/multi-field_citation_numbers.yml
339
+ - test/vcr_cassettes/eds/FullText_CustomLink.yml
355
340
  - test/vcr_cassettes/eds/basic_search_smoke_test.yml
341
+ - test/vcr_cassettes/eds/catalog_ebook_query.yml
342
+ - test/vcr_cassettes/eds/catalog_query.yml
356
343
  - test/vcr_cassettes/eds/get_auth_token.yml
357
344
  - test/vcr_cassettes/eds/get_auth_token_failure.yml
358
345
  - test/vcr_cassettes/eds/get_with_auth.yml
@@ -403,7 +390,7 @@ files:
403
390
  homepage: http://github.com/jrochkind/bento_search
404
391
  licenses: []
405
392
  metadata: {}
406
- post_install_message:
393
+ post_install_message:
407
394
  rdoc_options: []
408
395
  require_paths:
409
396
  - lib
@@ -414,19 +401,21 @@ required_ruby_version: !ruby/object:Gem::Requirement
414
401
  version: '0'
415
402
  required_rubygems_version: !ruby/object:Gem::Requirement
416
403
  requirements:
417
- - - ">="
404
+ - - ">"
418
405
  - !ruby/object:Gem::Version
419
- version: '0'
406
+ version: 1.3.1
420
407
  requirements: []
421
- rubyforge_project:
422
- rubygems_version: 2.4.5
423
- signing_key:
408
+ rubygems_version: 3.2.22
409
+ signing_key:
424
410
  specification_version: 4
425
411
  summary: An abstraction/normalization layer for querying and displaying results for
426
412
  external search engines, in Ruby on Rails.
427
413
  test_files:
428
414
  - test/decorator/decorator_base_test.rb
429
415
  - test/decorator/standard_decorator_test.rb
416
+ - test/dummy/README.rdoc
417
+ - test/dummy/Rakefile
418
+ - test/dummy/app/assets/config/manifest.js
430
419
  - test/dummy/app/assets/javascripts/application.js
431
420
  - test/dummy/app/assets/stylesheets/application.css
432
421
  - test/dummy/app/controllers/application_controller.rb
@@ -443,7 +432,6 @@ test_files:
443
432
  - test/dummy/config/initializers/backtrace_silencers.rb
444
433
  - test/dummy/config/initializers/inflections.rb
445
434
  - test/dummy/config/initializers/mime_types.rb
446
- - test/dummy/config/initializers/secret_token.rb
447
435
  - test/dummy/config/initializers/session_store.rb
448
436
  - test/dummy/config/initializers/wrap_parameters.rb
449
437
  - test/dummy/config/locales/en.yml
@@ -453,8 +441,6 @@ test_files:
453
441
  - test/dummy/public/422.html
454
442
  - test/dummy/public/500.html
455
443
  - test/dummy/public/favicon.ico
456
- - test/dummy/Rakefile
457
- - test/dummy/README.rdoc
458
444
  - test/dummy/script/rails
459
445
  - test/functional/bento_search/search_controller_test.rb
460
446
  - test/helper/bento_search_helper_test.rb
@@ -474,10 +460,11 @@ test_files:
474
460
  - test/search_engines/xerxes_engine_test.rb
475
461
  - test/support/atom.xsd.xml
476
462
  - test/support/test_with_cassette.rb
463
+ - test/support/xml.xsd
477
464
  - test/test_helper.rb
465
+ - test/unit/concurrent_searcher_test.rb
478
466
  - test/unit/handle_highlight_tags_test.rb
479
467
  - test/unit/item_decorators_test.rb
480
- - test/unit/multi_searcher_test.rb
481
468
  - test/unit/openurl_creator_test.rb
482
469
  - test/unit/pagination_test.rb
483
470
  - test/unit/register_engine_test.rb
@@ -491,6 +478,7 @@ test_files:
491
478
  - test/vcr_cassettes/doaj_articles/live_get_identifier__raises_on_no_results.yml
492
479
  - test/vcr_cassettes/doaj_articles/multifield_author-title.yml
493
480
  - test/vcr_cassettes/doaj_articles/pagination.yml
481
+ - test/vcr_cassettes/ebscohost/RILM_record_with_ISSN_in__jid__element.yml
494
482
  - test/vcr_cassettes/ebscohost/affiliation_search.yml
495
483
  - test/vcr_cassettes/ebscohost/another_dissertation.yml
496
484
  - test/vcr_cassettes/ebscohost/dissertation_example.yml
@@ -508,8 +496,10 @@ test_files:
508
496
  - test/vcr_cassettes/ebscohost/live_search_smoke_test.yml
509
497
  - test/vcr_cassettes/ebscohost/multi-field_author_title.yml
510
498
  - test/vcr_cassettes/ebscohost/multi-field_citation_numbers.yml
511
- - test/vcr_cassettes/ebscohost/RILM_record_with_ISSN_in__jid__element.yml
499
+ - test/vcr_cassettes/eds/FullText_CustomLink.yml
512
500
  - test/vcr_cassettes/eds/basic_search_smoke_test.yml
501
+ - test/vcr_cassettes/eds/catalog_ebook_query.yml
502
+ - test/vcr_cassettes/eds/catalog_query.yml
513
503
  - test/vcr_cassettes/eds/get_auth_token.yml
514
504
  - test/vcr_cassettes/eds/get_auth_token_failure.yml
515
505
  - test/vcr_cassettes/eds/get_with_auth.yml