ebsco-eds 1.0.7 → 1.0.8

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: 04ae52bf63d655fd51a4bfdcc2fdbb348e11f4a6
4
- data.tar.gz: e76592a2f496ad46710f3e99b9be940b4131e282
3
+ metadata.gz: cd3df278b8f54b8391e1fab578b2c268c4ba0611
4
+ data.tar.gz: 63aa813ab6adcfb15f21c70392d6127841ec440b
5
5
  SHA512:
6
- metadata.gz: ced20aafdae50f01ae80047cc2975818498e1539cfd8347c3e75c82751adf331f0526039a1a194488ce4ac67bba1ef8c542f15e6ebe8982dcc46d5f352e20761
7
- data.tar.gz: 564aff455ec90a31bfc0218e257ca5268e260126aacd0900b28d42661ae351e85345aa8857ac7951f90eaa55653aa4ac571deb0e143e710d5af477ab6f5d5050
6
+ metadata.gz: e534bf012f442328a9cd6df94a7a22d32cd3d63e33199ddb9c238f826add23e739d0192ad887ff5144944bf965960d5d654b65a708a30bbd54ecf405e50f9465
7
+ data.tar.gz: f94b92153adfb5c485ecb1edfe65696085da2bb656fe81b77df96f1431c3ea87a22e19b2b748a1937e22863f3695c6ef11b4041b5e9bfc6f944db84835cf5862
data/CHANGELOG.md CHANGED
@@ -4,6 +4,11 @@ All notable changes to this project will be documented in this file.
4
4
  The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/)
5
5
  and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [1.0.8] - 2019-08-12
8
+ ### Fixed
9
+ - Throws error when query fails with a 200 status code and html error message (query = `the meaning of life or 4=2`), see #90.
10
+ - Raises a specific "record not found" error instead of a generic "bad request" error when a record cannot be retrieved, see #88.
11
+
7
12
  ## [1.0.7] - 2018-12-05
8
13
  ### Changed
9
14
  - logger dependency removed since it's been part of the standard library.
@@ -92,6 +97,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.
92
97
  ### Added
93
98
  - Adds KW (keywords) and SH (subject heading) to solr search fields
94
99
 
100
+ [1.0.8]: https://github.com/ebsco/edsapi-ruby/compare/1.0.7...1.0.8
95
101
  [1.0.7]: https://github.com/ebsco/edsapi-ruby/compare/1.0.6...1.0.7
96
102
  [1.0.6]: https://github.com/ebsco/edsapi-ruby/compare/1.0.5...1.0.6
97
103
  [1.0.5]: https://github.com/ebsco/edsapi-ruby/compare/1.0.4...1.0.5
data/ebsco-eds.gemspec CHANGED
@@ -36,23 +36,24 @@ Gem::Specification.new do |spec|
36
36
  spec.add_dependency 'faraday_middleware', '~> 0.11'
37
37
  spec.add_dependency 'dotenv', '~> 2.2'
38
38
  spec.add_dependency 'climate_control', '~> 0'
39
- spec.add_dependency 'require_all', '~> 1.3'
40
- spec.add_dependency 'bibtex-ruby', '~> 4.0'
39
+ spec.add_dependency 'require_all', '~> 2.0'
40
+ spec.add_dependency 'bibtex-ruby', '~> 5.0', '>= 5.0.0'
41
41
  spec.add_dependency 'citeproc', '>= 1.0.4', '< 2.0'
42
42
  spec.add_dependency 'csl', '~> 1.4'
43
43
  spec.add_dependency 'citeproc-ruby', '~> 1.0', '>= 1.0.2'
44
44
  spec.add_dependency 'csl-styles', '~> 1.0', '>= 1.0.1.5'
45
- spec.add_dependency 'activesupport', '~> 5.0'
46
- spec.add_dependency 'net-http-persistent', '~> 2.9'
47
- spec.add_dependency 'sanitize', '~> 4.5', '>= 4.5.0'
45
+ spec.add_dependency 'activesupport', '~> 5.2'
46
+ spec.add_dependency 'net-http-persistent', '~> 3.1'
47
+ spec.add_dependency 'sanitize', '~> 5.0'
48
+ spec.add_dependency 'public_suffix', '~>4.0'
48
49
 
49
50
  spec.add_development_dependency 'bundler', '~> 1.13'
50
- spec.add_development_dependency 'rake', '~> 12.0'
51
+ spec.add_development_dependency 'rake', '~> 12.3'
51
52
  spec.add_development_dependency 'minitest', '~> 5.0'
52
- spec.add_development_dependency 'simplecov', '~> 0'
53
+ spec.add_development_dependency 'simplecov', '~> 0.17.0'
53
54
  spec.add_development_dependency 'codecov', '~> 0.1'
54
- spec.add_development_dependency 'vcr', '~> 2.8'
55
- spec.add_development_dependency 'minitest-vcr', '~> 0.1.1'
56
- spec.add_development_dependency 'webmock', '~> 1.17'
55
+ spec.add_development_dependency 'vcr', '~> 5.0', '>= 5.0.0'
56
+ spec.add_development_dependency 'minitest-vcr', '~> 1.4', '>= 1.4.0'
57
+ spec.add_development_dependency 'webmock', '~> 3.6'
57
58
 
58
59
  end
@@ -961,7 +961,12 @@ module EBSCO
961
961
  html = html.gsub(/\\n /, '')
962
962
  end
963
963
 
964
- Sanitize.fragment(html, sanitize_config)
964
+ sanitized_html = Sanitize.fragment(html, sanitize_config)
965
+ # sanitize 5.0 fails to restore element case after doing lowercase
966
+ sanitized_html = sanitized_html.gsub(/<searchlink/, '<searchLink')
967
+ sanitized_html = sanitized_html.gsub(/<\/searchlink>/, '</searchLink>')
968
+ sanitized_html
969
+
965
970
  end
966
971
 
967
972
  # dynamically add item metadata as 'eds_extra_ItemNameOrLabel'
@@ -32,73 +32,81 @@ module EBSCO
32
32
  def initialize(search_results, eds_config = {}, additional_limiters = {}, options = {})
33
33
 
34
34
  @results = search_results
35
- @limiters = additional_limiters
36
- @raw_options = options
37
-
38
- # titleize facets?
39
- (ENV.has_key? 'EDS_TITLEIZE_FACETS') ?
40
- if %w(y Y yes Yes true True).include?(ENV['EDS_TITLEIZE_FACETS'])
41
- @titleize_facets_on = true
42
- else
43
- @titleize_facets_on = false
44
- end :
45
- @titleize_facets_on = eds_config[:titleize_facets]
46
-
47
- # convert all results to a list of records
48
- @records = []
49
- if @results['SearchResult']['Data']['Records']
50
- @results['SearchResult']['Data']['Records'].each { |record|
51
-
52
- @records.push(EBSCO::EDS::Record.new(record, eds_config))
53
-
54
- # # records hidden in guest mode
55
- # if record['Header']['AccessLevel']
56
- # if record['Header']['AccessLevel'].to_i > 1
57
- # @records.push(EBSCO::EDS::Record.new(record))
58
- # else
59
- # @records.push(EBSCO::EDS::Record.new(record))
60
- # end
61
- # else
62
- # @records.push(EBSCO::EDS::Record.new(record))
63
- # end
64
35
 
65
- }
66
- end
36
+ if @results.is_a?(Hash)
37
+
38
+ @limiters = additional_limiters
39
+ @raw_options = options
40
+
41
+ # titleize facets?
42
+ (ENV.has_key? 'EDS_TITLEIZE_FACETS') ?
43
+ if %w(y Y yes Yes true True).include?(ENV['EDS_TITLEIZE_FACETS'])
44
+ @titleize_facets_on = true
45
+ else
46
+ @titleize_facets_on = false
47
+ end :
48
+ @titleize_facets_on = eds_config[:titleize_facets]
49
+
50
+ # convert all results to a list of records
51
+ @records = []
52
+ if @results['SearchResult']['Data']['Records']
53
+ @results['SearchResult']['Data']['Records'].each { |record|
54
+
55
+ @records.push(EBSCO::EDS::Record.new(record, eds_config))
56
+
57
+ # # records hidden in guest mode
58
+ # if record['Header']['AccessLevel']
59
+ # if record['Header']['AccessLevel'].to_i > 1
60
+ # @records.push(EBSCO::EDS::Record.new(record))
61
+ # else
62
+ # @records.push(EBSCO::EDS::Record.new(record))
63
+ # end
64
+ # else
65
+ # @records.push(EBSCO::EDS::Record.new(record))
66
+ # end
67
+
68
+ }
69
+ end
67
70
 
68
- # create a special list of research starter records
69
- @research_starters = []
70
- _related_records = @results.fetch('SearchResult',{}).fetch('RelatedContent',{}).fetch('RelatedRecords',{})
71
- if _related_records.count > 0
72
- _related_records.each do |related_item|
73
- if related_item['Type'] == 'rs'
74
- rs_entries = related_item.fetch('Records',{})
75
- if rs_entries.count > 0
76
- rs_entries.each do |rs_record|
77
- @research_starters.push(EBSCO::EDS::Record.new(rs_record, eds_config))
71
+ # create a special list of research starter records
72
+ @research_starters = []
73
+ _related_records = @results.fetch('SearchResult',{}).fetch('RelatedContent',{}).fetch('RelatedRecords',{})
74
+ if _related_records.count > 0
75
+ _related_records.each do |related_item|
76
+ if related_item['Type'] == 'rs'
77
+ rs_entries = related_item.fetch('Records',{})
78
+ if rs_entries.count > 0
79
+ rs_entries.each do |rs_record|
80
+ @research_starters.push(EBSCO::EDS::Record.new(rs_record, eds_config))
81
+ end
78
82
  end
79
83
  end
80
84
  end
81
85
  end
82
- end
83
86
 
84
- # create a special list of exact match publications
85
- @publication_match = []
86
- _related_publications = @results.fetch('SearchResult',{}).fetch('RelatedContent',{}).fetch('RelatedPublications',{})
87
- if _related_publications.count > 0
88
- _related_publications.each do |related_item|
89
- if related_item['Type'] == 'emp'
90
- _publication_matches = related_item.fetch('PublicationRecords',{})
91
- if _publication_matches.count > 0
92
- _publication_matches.each do |publication_record|
93
- @publication_match.push(EBSCO::EDS::Record.new(publication_record, eds_config))
87
+ # create a special list of exact match publications
88
+ @publication_match = []
89
+ _related_publications = @results.fetch('SearchResult',{}).fetch('RelatedContent',{}).fetch('RelatedPublications',{})
90
+ if _related_publications.count > 0
91
+ _related_publications.each do |related_item|
92
+ if related_item['Type'] == 'emp'
93
+ _publication_matches = related_item.fetch('PublicationRecords',{})
94
+ if _publication_matches.count > 0
95
+ _publication_matches.each do |publication_record|
96
+ @publication_match.push(EBSCO::EDS::Record.new(publication_record, eds_config))
97
+ end
94
98
  end
95
99
  end
96
100
  end
97
101
  end
98
- end
99
102
 
100
- # titleize facets
101
- @titleize_facets = %w[Language Journal SubjectEDS SubjectGeographic Publisher]
103
+ # titleize facets
104
+ @titleize_facets = %w[Language Journal SubjectEDS SubjectGeographic Publisher]
105
+
106
+ else
107
+ # response isn't a hash (eg, html error page)
108
+ raise EBSCO::EDS::ApiError, 'EBSCO API error: Query failed.'
109
+ end
102
110
 
103
111
  end
104
112
 
@@ -340,21 +340,24 @@ module EBSCO
340
340
  citation_exports_params = "?an=#{an}&dbid=#{dbid}&format=#{format}"
341
341
  citation_exports_response = do_request(:get, path: @config[:citation_exports_url] + citation_exports_params)
342
342
  EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: citation_exports_response, eds_config: @config)
343
- rescue EBSCO::EDS::BadRequest => e
344
- custom_error_message = JSON.parse e.message.gsub('=>', ':')
345
- # ErrorNumber 112 - Invalid Argument Value
346
- # ErrorNumber 132 - Record not found
347
- if custom_error_message['ErrorNumber'] == '112'
348
- unknown_export_format = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>"Invalid citation export format"}
349
- EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: unknown_export_format, eds_config: @config)
350
- elsif custom_error_message['ErrorNumber'] == '132'
351
- record_not_found = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>"Record not found"}
352
- EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: record_not_found, eds_config: @config)
353
- else
354
- unknown_error = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>custom_error_message['ErrorDescription']}
355
- EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: unknown_error, eds_config: @config)
343
+ rescue EBSCO::EDS::NotFound => e
344
+ custom_error_message = JSON.parse e.message.gsub('=>', ':')
345
+ # ErrorNumber 132 - Record not found
346
+ if custom_error_message['ErrorNumber'] == '132'
347
+ record_not_found = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>"Record not found"}
348
+ EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: record_not_found, eds_config: @config)
349
+ end
350
+ rescue EBSCO::EDS::BadRequest => e
351
+ custom_error_message = JSON.parse e.message.gsub('=>', ':')
352
+ # ErrorNumber 112 - Invalid Argument Value
353
+ if custom_error_message['ErrorNumber'] == '112'
354
+ unknown_export_format = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>"Invalid citation export format"}
355
+ EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: unknown_export_format, eds_config: @config)
356
+ else
357
+ unknown_error = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>custom_error_message['ErrorDescription']}
358
+ EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: unknown_error, eds_config: @config)
359
+ end
356
360
  end
357
- end
358
361
  end
359
362
 
360
363
  # fetch the citation from the citation rest endpoint
@@ -363,6 +366,13 @@ module EBSCO
363
366
  citation_styles_params = "?an=#{an}&dbid=#{dbid}&styles=#{format}"
364
367
  citation_styles_response = do_request(:get, path: @config[:citation_styles_url] + citation_styles_params)
365
368
  EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: citation_styles_response, eds_config: @config)
369
+ rescue EBSCO::EDS::NotFound => e
370
+ custom_error_message = JSON.parse e.message.gsub('=>', ':')
371
+ # ErrorNumber 132 - Record not found
372
+ if custom_error_message['ErrorNumber'] == '132'
373
+ record_not_found = {"Format"=>format, "Label"=>"", "Data"=>"", "Error"=>"Record not found"}
374
+ EBSCO::EDS::Citations.new(dbid: dbid, an: an, citation_result: record_not_found, eds_config: @config)
375
+ end
366
376
  rescue EBSCO::EDS::BadRequest => e
367
377
  custom_error_message = JSON.parse e.message.gsub('=>', ':')
368
378
  unknown_error = {"Id"=>format, "Label"=>"", "Data"=>"", "Error"=>custom_error_message['ErrorDescription']}
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '1.0.7'
3
+ VERSION = '1.0.8'
4
4
  end
5
5
  end
@@ -14,15 +14,19 @@ module Faraday
14
14
  case response.status
15
15
  when 200
16
16
  when 400
17
- raise EBSCO::EDS::BadRequest.new(error_message(response))
18
- # when 401
19
- # raise EBSCO::EDS::Unauthorized.new
20
- # when 403
21
- # raise EBSCO::EDS::Forbidden.new
22
- # when 404
23
- # raise EBSCO::EDS::NotFound.new
24
- # when 429
25
- # raise EBSCO::EDS::TooManyRequests.new
17
+ if response.body['ErrorNumber'] == '132'
18
+ raise EBSCO::EDS::NotFound.new(error_message(response))
19
+ else
20
+ raise EBSCO::EDS::BadRequest.new(error_message(response))
21
+ end
22
+ # when 401
23
+ # raise EBSCO::EDS::Unauthorized.new
24
+ # when 403
25
+ # raise EBSCO::EDS::Forbidden.new
26
+ # when 404
27
+ # raise EBSCO::EDS::NotFound.new
28
+ # when 429
29
+ # raise EBSCO::EDS::TooManyRequests.new
26
30
  when 500
27
31
  raise EBSCO::EDS::InternalServerError.new
28
32
  when 503
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ebsco-eds
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bill McKinney
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: exe
11
11
  cert_chain: []
12
- date: 2018-12-05 00:00:00.000000000 Z
12
+ date: 2019-10-31 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -87,28 +87,34 @@ dependencies:
87
87
  requirements:
88
88
  - - "~>"
89
89
  - !ruby/object:Gem::Version
90
- version: '1.3'
90
+ version: '2.0'
91
91
  type: :runtime
92
92
  prerelease: false
93
93
  version_requirements: !ruby/object:Gem::Requirement
94
94
  requirements:
95
95
  - - "~>"
96
96
  - !ruby/object:Gem::Version
97
- version: '1.3'
97
+ version: '2.0'
98
98
  - !ruby/object:Gem::Dependency
99
99
  name: bibtex-ruby
100
100
  requirement: !ruby/object:Gem::Requirement
101
101
  requirements:
102
102
  - - "~>"
103
103
  - !ruby/object:Gem::Version
104
- version: '4.0'
104
+ version: '5.0'
105
+ - - ">="
106
+ - !ruby/object:Gem::Version
107
+ version: 5.0.0
105
108
  type: :runtime
106
109
  prerelease: false
107
110
  version_requirements: !ruby/object:Gem::Requirement
108
111
  requirements:
109
112
  - - "~>"
110
113
  - !ruby/object:Gem::Version
111
- version: '4.0'
114
+ version: '5.0'
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 5.0.0
112
118
  - !ruby/object:Gem::Dependency
113
119
  name: citeproc
114
120
  requirement: !ruby/object:Gem::Requirement
@@ -189,48 +195,56 @@ dependencies:
189
195
  requirements:
190
196
  - - "~>"
191
197
  - !ruby/object:Gem::Version
192
- version: '5.0'
198
+ version: '5.2'
193
199
  type: :runtime
194
200
  prerelease: false
195
201
  version_requirements: !ruby/object:Gem::Requirement
196
202
  requirements:
197
203
  - - "~>"
198
204
  - !ruby/object:Gem::Version
199
- version: '5.0'
205
+ version: '5.2'
200
206
  - !ruby/object:Gem::Dependency
201
207
  name: net-http-persistent
202
208
  requirement: !ruby/object:Gem::Requirement
203
209
  requirements:
204
210
  - - "~>"
205
211
  - !ruby/object:Gem::Version
206
- version: '2.9'
212
+ version: '3.1'
207
213
  type: :runtime
208
214
  prerelease: false
209
215
  version_requirements: !ruby/object:Gem::Requirement
210
216
  requirements:
211
217
  - - "~>"
212
218
  - !ruby/object:Gem::Version
213
- version: '2.9'
219
+ version: '3.1'
214
220
  - !ruby/object:Gem::Dependency
215
221
  name: sanitize
216
222
  requirement: !ruby/object:Gem::Requirement
217
223
  requirements:
218
224
  - - "~>"
219
225
  - !ruby/object:Gem::Version
220
- version: '4.5'
221
- - - ">="
222
- - !ruby/object:Gem::Version
223
- version: 4.5.0
226
+ version: '5.0'
224
227
  type: :runtime
225
228
  prerelease: false
226
229
  version_requirements: !ruby/object:Gem::Requirement
227
230
  requirements:
228
231
  - - "~>"
229
232
  - !ruby/object:Gem::Version
230
- version: '4.5'
231
- - - ">="
233
+ version: '5.0'
234
+ - !ruby/object:Gem::Dependency
235
+ name: public_suffix
236
+ requirement: !ruby/object:Gem::Requirement
237
+ requirements:
238
+ - - "~>"
232
239
  - !ruby/object:Gem::Version
233
- version: 4.5.0
240
+ version: '4.0'
241
+ type: :runtime
242
+ prerelease: false
243
+ version_requirements: !ruby/object:Gem::Requirement
244
+ requirements:
245
+ - - "~>"
246
+ - !ruby/object:Gem::Version
247
+ version: '4.0'
234
248
  - !ruby/object:Gem::Dependency
235
249
  name: bundler
236
250
  requirement: !ruby/object:Gem::Requirement
@@ -251,14 +265,14 @@ dependencies:
251
265
  requirements:
252
266
  - - "~>"
253
267
  - !ruby/object:Gem::Version
254
- version: '12.0'
268
+ version: '12.3'
255
269
  type: :development
256
270
  prerelease: false
257
271
  version_requirements: !ruby/object:Gem::Requirement
258
272
  requirements:
259
273
  - - "~>"
260
274
  - !ruby/object:Gem::Version
261
- version: '12.0'
275
+ version: '12.3'
262
276
  - !ruby/object:Gem::Dependency
263
277
  name: minitest
264
278
  requirement: !ruby/object:Gem::Requirement
@@ -279,14 +293,14 @@ dependencies:
279
293
  requirements:
280
294
  - - "~>"
281
295
  - !ruby/object:Gem::Version
282
- version: '0'
296
+ version: 0.17.0
283
297
  type: :development
284
298
  prerelease: false
285
299
  version_requirements: !ruby/object:Gem::Requirement
286
300
  requirements:
287
301
  - - "~>"
288
302
  - !ruby/object:Gem::Version
289
- version: '0'
303
+ version: 0.17.0
290
304
  - !ruby/object:Gem::Dependency
291
305
  name: codecov
292
306
  requirement: !ruby/object:Gem::Requirement
@@ -307,42 +321,54 @@ dependencies:
307
321
  requirements:
308
322
  - - "~>"
309
323
  - !ruby/object:Gem::Version
310
- version: '2.8'
324
+ version: '5.0'
325
+ - - ">="
326
+ - !ruby/object:Gem::Version
327
+ version: 5.0.0
311
328
  type: :development
312
329
  prerelease: false
313
330
  version_requirements: !ruby/object:Gem::Requirement
314
331
  requirements:
315
332
  - - "~>"
316
333
  - !ruby/object:Gem::Version
317
- version: '2.8'
334
+ version: '5.0'
335
+ - - ">="
336
+ - !ruby/object:Gem::Version
337
+ version: 5.0.0
318
338
  - !ruby/object:Gem::Dependency
319
339
  name: minitest-vcr
320
340
  requirement: !ruby/object:Gem::Requirement
321
341
  requirements:
322
342
  - - "~>"
323
343
  - !ruby/object:Gem::Version
324
- version: 0.1.1
344
+ version: '1.4'
345
+ - - ">="
346
+ - !ruby/object:Gem::Version
347
+ version: 1.4.0
325
348
  type: :development
326
349
  prerelease: false
327
350
  version_requirements: !ruby/object:Gem::Requirement
328
351
  requirements:
329
352
  - - "~>"
330
353
  - !ruby/object:Gem::Version
331
- version: 0.1.1
354
+ version: '1.4'
355
+ - - ">="
356
+ - !ruby/object:Gem::Version
357
+ version: 1.4.0
332
358
  - !ruby/object:Gem::Dependency
333
359
  name: webmock
334
360
  requirement: !ruby/object:Gem::Requirement
335
361
  requirements:
336
362
  - - "~>"
337
363
  - !ruby/object:Gem::Version
338
- version: '1.17'
364
+ version: '3.6'
339
365
  type: :development
340
366
  prerelease: false
341
367
  version_requirements: !ruby/object:Gem::Requirement
342
368
  requirements:
343
369
  - - "~>"
344
370
  - !ruby/object:Gem::Version
345
- version: '1.17'
371
+ version: '3.6'
346
372
  description: 'Description: EBSCO EDS API'
347
373
  email:
348
374
  - bmckinney@ebsco.com, efrierson@ebsco.com