ebsco-eds 0.1.0.pre → 0.1.2.pre

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: 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