bento_search 1.5.0 → 2.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
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