ebsco-eds 0.3.4.pre → 0.3.5.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/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
|