ebsco-eds 0.3.4.pre → 0.3.5.pre
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/ebsco/eds/options.rb +1 -1
- data/lib/ebsco/eds/results.rb +18 -1
- data/lib/ebsco/eds/session.rb +25 -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: b01d52fab1ebf5ad7dff691dc253ae50fef72e97
|
4
|
+
data.tar.gz: ce5af9c7d9ad9a251964b555518a170d8319f226
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 79d7be540a8d86ad94311655d3dd132cd4d39cc34f98241cc9a0284725f4ba0c38681ab5fe062be3bd059c721dad704ef896fa214502ed2bfe385b29c7c22b07
|
7
|
+
data.tar.gz: c21bddfbcca4af8ee6e7a1b4f914fdca7cf1f201454d145d74693baf81006a6f19114521c75ac9fb1c55ff2878875d685004496e6cfb8bf81ca6d1989a817aa6
|
data/lib/ebsco/eds/options.rb
CHANGED
data/lib/ebsco/eds/results.rb
CHANGED
@@ -23,6 +23,9 @@ module EBSCO
|
|
23
23
|
|
24
24
|
attr_reader :raw_options
|
25
25
|
|
26
|
+
attr_accessor :temp_format_facet_results
|
27
|
+
attr_accessor :temp_content_provider_facet_results
|
28
|
+
|
26
29
|
# Creates search results from the \EDS API search response. It includes information about the results and a list
|
27
30
|
# of Record items.
|
28
31
|
def initialize(search_results, additional_limiters = {}, options = {})
|
@@ -472,7 +475,13 @@ module EBSCO
|
|
472
475
|
# ]
|
473
476
|
def facets (facet_provided_id = 'all')
|
474
477
|
facets_hash = []
|
475
|
-
|
478
|
+
|
479
|
+
if temp_format_facet_results.nil?
|
480
|
+
available_facets = @results.fetch('SearchResult',{}).fetch('AvailableFacets',{})
|
481
|
+
else
|
482
|
+
available_facets = temp_format_facet_results.results.fetch('SearchResult',{}).fetch('AvailableFacets',{})
|
483
|
+
end
|
484
|
+
|
476
485
|
available_facets.each do |available_facet|
|
477
486
|
if available_facet['Id'] == facet_provided_id || facet_provided_id == 'all'
|
478
487
|
facet_label = available_facet['Label']
|
@@ -493,6 +502,14 @@ module EBSCO
|
|
493
502
|
def solr_facets (facet_provided_id = 'all')
|
494
503
|
facet_values = []
|
495
504
|
available_facets = @results.fetch('SearchResult',{}).fetch('AvailableFacets',{})
|
505
|
+
|
506
|
+
if facet_provided_id == 'SourceType' && !temp_format_facet_results.nil?
|
507
|
+
available_facets = temp_format_facet_results.results.fetch('SearchResult',{}).fetch('AvailableFacets',{})
|
508
|
+
end
|
509
|
+
if facet_provided_id == 'ContentProvider' && !temp_content_provider_facet_results.nil?
|
510
|
+
available_facets = temp_content_provider_facet_results.results.fetch('SearchResult',{}).fetch('AvailableFacets',{})
|
511
|
+
end
|
512
|
+
|
496
513
|
available_facets.each do |available_facet|
|
497
514
|
if available_facet['Id'] == facet_provided_id || facet_provided_id == 'all'
|
498
515
|
available_facet['AvailableFacetValues'].each do |available_facet_value|
|
data/lib/ebsco/eds/session.rb
CHANGED
@@ -211,8 +211,32 @@ module EBSCO
|
|
211
211
|
if @search_options.nil? || !add_actions
|
212
212
|
@search_options = EBSCO::EDS::Options.new(options, @info)
|
213
213
|
end
|
214
|
+
|
214
215
|
_response = do_request(:post, path: '/edsapi/rest/Search', payload: @search_options)
|
215
216
|
@search_results = EBSCO::EDS::Results.new(_response, @info.available_limiters, options)
|
217
|
+
|
218
|
+
# create temp format facet results if needed
|
219
|
+
if options['f']
|
220
|
+
if options['f'].key?('eds_publication_type_facet')
|
221
|
+
format_options = options
|
222
|
+
format_options['f'] = options['f'].except('eds_publication_type_facet')
|
223
|
+
format_search_options = EBSCO::EDS::Options.new(format_options, @info)
|
224
|
+
_format_response = do_request(:post, path: '/edsapi/rest/Search', payload: format_search_options)
|
225
|
+
@search_results.temp_format_facet_results = EBSCO::EDS::Results.new(_format_response, @info.available_limiters, format_options)
|
226
|
+
end
|
227
|
+
end
|
228
|
+
|
229
|
+
# create temp content provider facet results if needed
|
230
|
+
if options['f']
|
231
|
+
if options['f'].key?('eds_content_provider_facet')
|
232
|
+
content_options = options
|
233
|
+
content_options['f'] = options['f'].except('eds_content_provider_facet')
|
234
|
+
content_search_options = EBSCO::EDS::Options.new(content_options, @info)
|
235
|
+
_content_response = do_request(:post, path: '/edsapi/rest/Search', payload: content_search_options)
|
236
|
+
@search_results.temp_content_provider_facet_results = EBSCO::EDS::Results.new(_content_response, @info.available_limiters, content_options)
|
237
|
+
end
|
238
|
+
end
|
239
|
+
|
216
240
|
if increment_page
|
217
241
|
@current_page = @search_results.page_number
|
218
242
|
end
|
@@ -866,7 +890,7 @@ module EBSCO
|
|
866
890
|
end
|
867
891
|
|
868
892
|
def eds_sanitize(str)
|
869
|
-
pattern = /(\'|\"
|
893
|
+
pattern = /(\'|\"|\*|\/|\\|\)|\$|\+|\(|\^|\?|\!|\~|\`|\:)/
|
870
894
|
str = str.gsub(pattern){ |match| '\\' + match }
|
871
895
|
str
|
872
896
|
end
|
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.3.
|
4
|
+
version: 0.3.5.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-08-
|
12
|
+
date: 2017-08-28 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: faraday
|