ebsco-eds 0.1.0.pre → 0.1.2.pre

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8bf7451cbf86071a743681b657692b002f44f390
4
- data.tar.gz: 0730b334a687c1af3da7452405e882324475c03c
3
+ metadata.gz: 6eeda3d3770ecc3ee937791ed356de3e9add67a2
4
+ data.tar.gz: 0ece96451193882edb73c6fccbb3729145417062
5
5
  SHA512:
6
- metadata.gz: eeed69e878b466f93c3d1ea562a826f77fef9305a0e9b10f1925342e5ab9917725ea140e50db7b5d2231ab84f409186267d23ee114485a1c2978246ca62f28a5
7
- data.tar.gz: cf5033d8a83440de5aab54af4b5a440c438d0ddd68cc3a7a4653670257b18a30281d23de14d4d8f1fd15c2f3d330acc52c242bd631eb05fa9e7cd58b629f9a2b
6
+ metadata.gz: ac1e31542ec79fc475ac929a9dedf458a82c01d36fe025291fe97b1aee91e4be091071783ebee2764b9925736a6f51e6fb670712746c8c5e2ff557dd2fe01996
7
+ data.tar.gz: 8cac0ad690067315702fe09e8bad1137912c6b366be732500176e637cc2b7265cd4494e86edbd0e915171e5b1e7011b3a787fa61ec71ff19d5cf892c906aab45
data/.env.test CHANGED
@@ -1,6 +1,7 @@
1
- EDS_PROFILE=edsapi
2
- EDS_USER=user
3
- EDS_PASS=secret
1
+ EDS_PROFILE=eds-api
2
+ EDS_USER=billmckinn
3
+ EDS_PASS=4n~r1me86y
4
4
  EDS_AUTH=user
5
5
  EDS_GUEST=n
6
- EDS_ORG=none
6
+ EDS_ORG=none
7
+ CODECOV_TOKEN=d72eb958-f826-40eb-8112-e77a965dc94e
data/README.md CHANGED
@@ -10,7 +10,7 @@ A Ruby interface to the EBSCO Discovery Services API.
10
10
 
11
11
  ## Dependencies
12
12
 
13
- * Ruby 2.1+
13
+ * Ruby 2.2+
14
14
 
15
15
  ## Installation
16
16
 
@@ -50,5 +50,8 @@ Gem::Specification.new do |spec|
50
50
  spec.add_development_dependency 'minitest', '~> 5.0'
51
51
  spec.add_development_dependency 'simplecov', '~> 0'
52
52
  spec.add_development_dependency 'codecov', '~> 0.1'
53
+ spec.add_development_dependency 'vcr', '~> 2.8'
54
+ spec.add_development_dependency 'minitest-vcr', '~> 0.1.1'
55
+ spec.add_development_dependency 'webmock', '~> 1.17'
53
56
 
54
57
  end
@@ -255,11 +255,25 @@ module EBSCO
255
255
  # facets
256
256
  # ====================================================================================
257
257
  when :include_facets
258
- @IncludeFacets = value ? 'y' : 'n'
258
+ @IncludeFacets = value ? 'y' : 'n'
259
259
 
260
260
  when :facet_filters
261
261
  @FacetFilters = value
262
262
 
263
+ # # handle solr facets without causing the page to reset to 1 again?
264
+ # when 'f'
265
+ #
266
+ # if value.has_key?('content_provider_facet')
267
+ # f_filter = {'FilterId' => 1, 'FacetValues' => []}
268
+ # flist = value['content_provider_facet']
269
+ # flist.each do |item|
270
+ # item = eds_sanitize item
271
+ # f_filter['FacetValues'].push({'Id' => 'ContentProvider', 'Value' => item})
272
+ # end
273
+ # @FacetFilters.push f_filter
274
+ # puts 'FACET FILTERS: ' + @FacetFilters.inspect
275
+ # end
276
+
263
277
  # ====================================================================================
264
278
  # sort
265
279
  # ====================================================================================
@@ -390,7 +404,7 @@ module EBSCO
390
404
  # ====================================================================================
391
405
  # results per page
392
406
  # ====================================================================================
393
- when :results_per_page, 'rows', 'per_page'
407
+ when :results_per_page, 'results_per_page', 'rows', 'per_page'
394
408
  if value.to_i > info.max_results_per_page
395
409
  @ResultsPerPage = info.max_results_per_page
396
410
  else
@@ -400,7 +414,7 @@ module EBSCO
400
414
  # ====================================================================================
401
415
  # page number
402
416
  # ====================================================================================
403
- when :page_number, 'page'
417
+ when :page_number, 'page_number', 'page'
404
418
  @PageNumber = value.to_i
405
419
  # solr starts at page 0
406
420
  when 'start'
@@ -65,6 +65,7 @@ module EBSCO
65
65
  @session_token = ''
66
66
  @auth_token = ''
67
67
  @config = {}
68
+ @guest = true
68
69
 
69
70
  eds_config = EBSCO::EDS::Configuration.new
70
71
  if options[:config]
@@ -97,8 +98,16 @@ module EBSCO
97
98
 
98
99
  # these config options can be overridden by environment vars
99
100
  @auth_type = (ENV.has_key? 'EDS_AUTH') ? ENV['EDS_AUTH'] : @config[:auth]
100
- @guest = (ENV.has_key? 'EDS_GUEST') ? ENV['EDS_GUEST'] : @config[:guest]
101
101
  @org = (ENV.has_key? 'EDS_ORG') ? ENV['EDS_ORG'] : @config[:org]
102
+ if ENV.has_key? 'EDS_GUEST'
103
+ if ['n', 'N', 'no', 'No'].include?(ENV['EDS_GUEST'])
104
+ @guest = false
105
+ else
106
+ @guest = true
107
+ end
108
+ else
109
+ @guest = @config[:guest]
110
+ end
102
111
 
103
112
  # use cache for auth token and info calls?
104
113
  if @config[:use_cache]
@@ -229,6 +238,24 @@ module EBSCO
229
238
  record
230
239
  end
231
240
 
241
+ # Create a result set with just the record before and after then index item
242
+ def solr_retrieve_previous_next(options = {})
243
+ records = []
244
+ hits = search(options).stat_total_hits
245
+ options.update(:results_per_page => 1,
246
+ :page_number => (options['previous-next-index'].to_i) - 1,
247
+ 'page' => (options['previous-next-index'].to_i) - 1)
248
+ records.push search(options).records.first
249
+ options.update(:results_per_page => 1,
250
+ :page_number => (options['previous-next-index'].to_i) + 1,
251
+ 'page' => (options['previous-next-index'].to_i) + 1)
252
+ records.push search(options).records.first
253
+ r = empty_results(hits)
254
+ results = EBSCO::EDS::Results.new(r)
255
+ results.records = records
256
+ results.to_solr
257
+ end
258
+
232
259
  def solr_retrieve_list(list: [], highlight: nil)
233
260
  records = []
234
261
  if list.any?
@@ -672,8 +699,9 @@ module EBSCO
672
699
  end
673
700
 
674
701
  def create_session_token
702
+ guest_string = @guest ? 'y' : 'n'
675
703
  resp = do_request(:get, path: @config[:create_session_url] +
676
- '?profile=' + @profile + '&guest=' + @guest +
704
+ '?profile=' + @profile + '&guest=' + guest_string +
677
705
  '&displaydatabasename=y')
678
706
  @session_token = resp['SessionToken']
679
707
  end
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '0.1.0.pre'
3
+ VERSION = '0.1.2.pre'
4
4
  end
5
5
  end
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: 0.1.0.pre
4
+ version: 0.1.2.pre
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: 2017-04-13 00:00:00.000000000 Z
12
+ date: 2017-04-19 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
@@ -281,6 +281,48 @@ dependencies:
281
281
  - - "~>"
282
282
  - !ruby/object:Gem::Version
283
283
  version: '0.1'
284
+ - !ruby/object:Gem::Dependency
285
+ name: vcr
286
+ requirement: !ruby/object:Gem::Requirement
287
+ requirements:
288
+ - - "~>"
289
+ - !ruby/object:Gem::Version
290
+ version: '2.8'
291
+ type: :development
292
+ prerelease: false
293
+ version_requirements: !ruby/object:Gem::Requirement
294
+ requirements:
295
+ - - "~>"
296
+ - !ruby/object:Gem::Version
297
+ version: '2.8'
298
+ - !ruby/object:Gem::Dependency
299
+ name: minitest-vcr
300
+ requirement: !ruby/object:Gem::Requirement
301
+ requirements:
302
+ - - "~>"
303
+ - !ruby/object:Gem::Version
304
+ version: 0.1.1
305
+ type: :development
306
+ prerelease: false
307
+ version_requirements: !ruby/object:Gem::Requirement
308
+ requirements:
309
+ - - "~>"
310
+ - !ruby/object:Gem::Version
311
+ version: 0.1.1
312
+ - !ruby/object:Gem::Dependency
313
+ name: webmock
314
+ requirement: !ruby/object:Gem::Requirement
315
+ requirements:
316
+ - - "~>"
317
+ - !ruby/object:Gem::Version
318
+ version: '1.17'
319
+ type: :development
320
+ prerelease: false
321
+ version_requirements: !ruby/object:Gem::Requirement
322
+ requirements:
323
+ - - "~>"
324
+ - !ruby/object:Gem::Version
325
+ version: '1.17'
284
326
  description: 'Description: EBSCO EDS API'
285
327
  email:
286
328
  - bmckinney@ebsco.com, efrierson@ebsco.com