ebsco-eds 0.2.1.pre → 0.2.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: 25a25ab8a3564b039177b6e8e31643b8c493c848
4
- data.tar.gz: 52f896544dbe0b8a99ca7510d08f9af73dc35330
3
+ metadata.gz: 97b036a83e87b1af85d6424ed5aaef1781aba884
4
+ data.tar.gz: b3b3b67d66a6a2f1e8c154e5c0a0cd290531306c
5
5
  SHA512:
6
- metadata.gz: baead98ec09d3201c15268a022d85e6a24ca540d4423983a1ffcebff4cc26c1dc003e428d16fd667ca0b2f555bacc160c69c59231f68215114b5a54eb49935a6
7
- data.tar.gz: 90c110da70bada5e6c91d78b4171733755ef25e834579a7f2b97cb53fecbdd2f8729e1325422042418a85bbf341fa2cc81ee234d0efe3e9870883c17296aad3a
6
+ metadata.gz: 2cd3f042e79b6f5f047a3863f667f3905230d46d05b05fba79045f5d4af4b37946929617184492db5abb9e448159bd2cbe0fa6fcc04606527621f9b6b94d21be
7
+ data.tar.gz: 77dcc0ba8ae3bba625908b424d0da343373e10e7e6ba0fda6aa2b055cb1a314954d7913e1426ecad73a862acad9262fa98a378a960719b0fbb511bbabb93f068
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
+ EDS_DEBUG=false
@@ -79,6 +79,10 @@ module EBSCO
79
79
  @available_search_criteria.fetch('AvailableLimiters',{}).select{|item| item['DefaultOn'] == 'y'}.map{|hash| hash['Id']}
80
80
  end
81
81
 
82
+ def default_limiter_labels
83
+ @available_search_criteria.fetch('AvailableLimiters',{}).select{|item| item['DefaultOn'] == 'y'}.map{|hash| hash['Label']}
84
+ end
85
+
82
86
  def available_limiters (id = 'all')
83
87
  if id == 'all'
84
88
  @available_search_criteria.fetch('AvailableLimiters',{})
@@ -87,6 +91,10 @@ module EBSCO
87
91
  end
88
92
  end
89
93
 
94
+ def available_limiter_labels
95
+ @available_search_criteria.fetch('AvailableLimiters',{}).map{|hash| hash['Label']}
96
+ end
97
+
90
98
  # get an array of limiter values for a Type=multiselectvalue limiter
91
99
  def available_limiter_values (id)
92
100
  _limiter = @available_search_criteria.fetch('AvailableLimiters',{}).find{|item| item['Id'] == id}
@@ -95,6 +103,10 @@ module EBSCO
95
103
  end
96
104
  end
97
105
 
106
+ def get_limiter_by_label (label)
107
+ @available_search_criteria.fetch('AvailableLimiters',{}).find{|item| item['Label'] == label}
108
+ end
109
+
98
110
  # ====================================================================================
99
111
  # RELATED CONTENT
100
112
  # ====================================================================================
@@ -15,6 +15,13 @@ module EBSCO
15
15
 
16
16
  @Actions = []
17
17
 
18
+ # add DefaultOn=y Type=select limiters
19
+ # info.available_limiters.each do |limiter|
20
+ # if limiter['DefaultOn'] == 'n' and limiter['Type'] == 'select'
21
+ # @Actions.push "addLimiter(#{limiter['Id']}:y)"
22
+ # end
23
+ # end
24
+
18
25
  options.each do |key, value|
19
26
 
20
27
  case key
@@ -111,18 +118,16 @@ module EBSCO
111
118
  end
112
119
  end
113
120
 
121
+ # translate solr search limiters into EDS API addLimiter calls
122
+ # matches are determined by the limiter labels passed in by solr
123
+ _search_limiter_list = []
114
124
  if value.has_key?('eds_search_limiters_facet')
115
- _list = value['eds_search_limiters_facet']
116
- _list.each do |item|
117
- if item == 'Full Text'
118
- @Actions.push "addlimiter(FT:y)"
119
- end
120
- if item == 'Peer Reviewed'
121
- @Actions.push "addlimiter(RV:y)"
122
- end
123
- if item == 'Available in Library Collection'
124
- @Actions.push "addlimiter(FT1:y)"
125
- end
125
+ _search_limiter_list = value['eds_search_limiters_facet']
126
+ end
127
+ info.available_limiters.each do |limiter|
128
+ # only handle 'select' limiters (ones with values of 'y' or 'n')
129
+ if _search_limiter_list.include? limiter['Label'] and limiter['Type'] == 'select'
130
+ @Actions.push "addLimiter(#{limiter['Id']}:y)"
126
131
  end
127
132
  end
128
133
 
@@ -237,12 +237,22 @@ module EBSCO
237
237
  search_limiters = []
238
238
  if stat_total_hits.to_i > 0
239
239
  if @limiters.any?
240
- # _ft_limiter = @limiters.find{|item| item['Id'] == 'FT'}
241
- # _rv_limiter = @limiters.find{|item| item['Id'] == 'RV'}
242
- # _ft1_limiter = @limiters.find{|item| item['Id'] == 'FT1'}
243
- search_limiters.push('Full Text').push('')
244
- search_limiters.push('Peer Reviewed').push('')
245
- search_limiters.push('Available in Library Collection').push('')
240
+ _ft_limiter = @limiters.find{|item| item['Id'] == 'FT'}
241
+ unless _ft_limiter.nil?
242
+ search_limiters.push(_ft_limiter['Label']).push('')
243
+ end
244
+ _rv_limiter = @limiters.find{|item| item['Id'] == 'RV'}
245
+ unless _rv_limiter.nil?
246
+ search_limiters.push(_rv_limiter['Label']).push('')
247
+ end
248
+ _ft1_limiter = @limiters.find{|item| item['Id'] == 'FT1'}
249
+ unless _ft1_limiter.nil?
250
+ search_limiters.push(_ft1_limiter['Label']).push('')
251
+ end
252
+ _fr_limiter = @limiters.find{|item| item['Id'] == 'FR'}
253
+ unless _fr_limiter.nil?
254
+ search_limiters.push(_fr_limiter['Label']).push('')
255
+ end
246
256
  end
247
257
  end
248
258
  search_limiters
@@ -256,7 +256,7 @@ module EBSCO
256
256
  record
257
257
  end
258
258
 
259
- # Create a result set with just the record before and after then index item
259
+ # Create a result set with just the record before and after the current detailed record
260
260
  def solr_retrieve_previous_next(options = {})
261
261
  records = []
262
262
  hits = search(options).stat_total_hits
@@ -1,5 +1,5 @@
1
1
  module EBSCO
2
2
  module EDS
3
- VERSION = '0.2.1.pre'
3
+ VERSION = '0.2.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.2.1.pre
4
+ version: 0.2.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-07-09 00:00:00.000000000 Z
12
+ date: 2017-07-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday