ebsco-eds 0.2.1.pre → 0.2.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 +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
|