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 +4 -4
- data/.env.test +5 -4
- data/lib/ebsco/eds/info.rb +12 -0
- data/lib/ebsco/eds/options.rb +16 -11
- data/lib/ebsco/eds/results.rb +16 -6
- data/lib/ebsco/eds/session.rb +1 -1
- data/lib/ebsco/eds/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 97b036a83e87b1af85d6424ed5aaef1781aba884
|
4
|
+
data.tar.gz: b3b3b67d66a6a2f1e8c154e5c0a0cd290531306c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cd3f042e79b6f5f047a3863f667f3905230d46d05b05fba79045f5d4af4b37946929617184492db5abb9e448159bd2cbe0fa6fcc04606527621f9b6b94d21be
|
7
|
+
data.tar.gz: 77dcc0ba8ae3bba625908b424d0da343373e10e7e6ba0fda6aa2b055cb1a314954d7913e1426ecad73a862acad9262fa98a378a960719b0fbb511bbabb93f068
|
data/.env.test
CHANGED
data/lib/ebsco/eds/info.rb
CHANGED
@@ -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
|
# ====================================================================================
|
data/lib/ebsco/eds/options.rb
CHANGED
@@ -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
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
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
|
|
data/lib/ebsco/eds/results.rb
CHANGED
@@ -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
|
-
|
241
|
-
|
242
|
-
|
243
|
-
|
244
|
-
|
245
|
-
|
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
|
data/lib/ebsco/eds/session.rb
CHANGED
@@ -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
|
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
|
data/lib/ebsco/eds/version.rb
CHANGED
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.
|
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-
|
12
|
+
date: 2017-07-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|