blacklight_range_limit 9.0.0.beta2 → 9.0.0
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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4e201cd7f8b701d21bf9e6b97410f4559b10a727ac170941acbafbf30ca42d2b
|
4
|
+
data.tar.gz: eacc2e3ec1f19a84436f36b0ae5379ad8af4a1c0895c7f4bf0aabe743301407c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ebe7cd1f8b4aff796900985f5f5b2ef1d38191ef2682d331963a18f715191d266ca41de8f3b6882ebd0de5556ed6a4bf0c0486bd1229eb80890b06cf50898b2a
|
7
|
+
data.tar.gz: e678a32a7854cb0310e834ece0f4d82577829288a03eb7944665f1f799dfb4178bae51ddb36c90a8550064d0162edc19b25d9465641b6004d3ce1eb63853210a
|
data/Rakefile
CHANGED
@@ -32,10 +32,11 @@ task :guard_version_match do
|
|
32
32
|
|
33
33
|
# 9.0.0.beta1 in gem becomes 9.0.0-beta1 in npm
|
34
34
|
gem_version_parts = gem_version.split(".")
|
35
|
+
|
35
36
|
npm_version_required = [
|
36
37
|
gem_version_parts.slice(0, 3).join("."),
|
37
38
|
gem_version_parts.slice(3, gem_version_parts.length).join(".")
|
38
|
-
].join("-")
|
39
|
+
].collect {|s| s if s && !s.empty? }.compact.join("-")
|
39
40
|
|
40
41
|
if npm_version != npm_version_required
|
41
42
|
raise <<~EOS
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
9.0.0
|
1
|
+
9.0.0
|
@@ -48,6 +48,12 @@ module BlacklightRangeLimit
|
|
48
48
|
# range_field, range_start, range_end
|
49
49
|
def fetch_specific_range_limit(solr_params)
|
50
50
|
field_key = blacklight_params[:range_field] # what field to fetch for
|
51
|
+
|
52
|
+
unless blacklight_params[:range_start].present? && blacklight_params[:range_start].kind_of?(String) &&
|
53
|
+
blacklight_params[:range_end].present? && blacklight_params[:range_end].kind_of?(String)
|
54
|
+
raise BlacklightRangeLimit::InvalidRange
|
55
|
+
end
|
56
|
+
|
51
57
|
start = blacklight_params[:range_start].to_i
|
52
58
|
finish = blacklight_params[:range_end].to_i
|
53
59
|
|
@@ -61,6 +67,9 @@ module BlacklightRangeLimit
|
|
61
67
|
solr_params[:rows] = 0
|
62
68
|
|
63
69
|
return solr_params
|
70
|
+
rescue BlacklightRangeLimit::InvalidRange
|
71
|
+
# This will make Rails return a 400
|
72
|
+
raise ActionController::BadRequest, "invalid range_start (#{blacklight_params[:range_start]}) or range_end (#{blacklight_params[:range_end]})"
|
64
73
|
end
|
65
74
|
|
66
75
|
# hacky polyfill for new Blacklight behavior we need, if we don't have it yet
|
data/package.json
CHANGED
@@ -0,0 +1,61 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
RSpec.describe CatalogController, type: :controller do
|
4
|
+
# Note that ActionController::BadRequest is caught by rails and turned into a 400
|
5
|
+
# response, and ActionController::RoutingError is caught by raisl and turned into 404
|
6
|
+
describe "bad params" do
|
7
|
+
let (:facet_field) { "pub_date_si" }
|
8
|
+
|
9
|
+
it "without start param present raise BadRequest " do
|
10
|
+
expect {
|
11
|
+
get :range_limit, params: {
|
12
|
+
"range_field"=> facet_field,
|
13
|
+
"range_start"=>"1931"
|
14
|
+
}
|
15
|
+
}.to raise_error(ActionController::BadRequest)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "without end param raise BadRequest " do
|
19
|
+
expect {
|
20
|
+
get :range_limit, params: {
|
21
|
+
"range_field"=> facet_field,
|
22
|
+
"range_start"=>"1931"
|
23
|
+
}
|
24
|
+
}.to raise_error(ActionController::BadRequest)
|
25
|
+
end
|
26
|
+
|
27
|
+
it "without either boundary raise BadRequest" do
|
28
|
+
expect {
|
29
|
+
get :range_limit, params: {
|
30
|
+
"range_field"=> facet_field,
|
31
|
+
}
|
32
|
+
}.to raise_error(ActionController::BadRequest)
|
33
|
+
end
|
34
|
+
|
35
|
+
it "without a range_field raise RoutingError" do
|
36
|
+
expect {
|
37
|
+
get :range_limit, params: {}
|
38
|
+
}.to raise_error(ActionController::RoutingError)
|
39
|
+
end
|
40
|
+
|
41
|
+
it "with params out of order raise BadRequest" do
|
42
|
+
expect {
|
43
|
+
get :range_limit, params: {
|
44
|
+
"range_field"=> facet_field,
|
45
|
+
"range_start"=>"1940",
|
46
|
+
"range_end"=>"1930"
|
47
|
+
}
|
48
|
+
}.to raise_error(ActionController::BadRequest)
|
49
|
+
end
|
50
|
+
|
51
|
+
it "with one of the params is an array raise BadRequest" do
|
52
|
+
expect {
|
53
|
+
get :range_limit, params: {
|
54
|
+
"range_field"=> facet_field,
|
55
|
+
"range_start"=>"1931",
|
56
|
+
"range_end"=>["1940"]
|
57
|
+
}
|
58
|
+
}.to raise_error(ActionController::BadRequest)
|
59
|
+
end
|
60
|
+
end
|
61
|
+
end
|
@@ -13,9 +13,13 @@ class TestAppGenerator < Rails::Generators::Base
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def run_bl8_jsbundling_fixup
|
16
|
-
#
|
17
|
-
#
|
18
|
-
|
16
|
+
# BL 8.7.0 doesn't seem to need anything, but BL8 before that the automatic BL
|
17
|
+
# install process doesn't do everything we need.
|
18
|
+
#
|
19
|
+
# By manually triggering the BL8 assets:propshaft generator, we can get what we need
|
20
|
+
# for jsbundling, even though it's named confusingly for that, it works in these
|
21
|
+
# versions.
|
22
|
+
if File.exist?("package.json") && Gem::Requirement.create("~> 8.0", "< 8.7.0").satisfied_by?(Gem::Version.new(Blacklight::VERSION))
|
19
23
|
generate "blacklight:assets:propshaft"
|
20
24
|
end
|
21
25
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: blacklight_range_limit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 9.0.0
|
4
|
+
version: 9.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Rochkind
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2025-01-07 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: blacklight
|
@@ -250,6 +250,7 @@ files:
|
|
250
250
|
- spec/components/range_facet_component_spec.rb
|
251
251
|
- spec/components/range_form_component_spec.rb
|
252
252
|
- spec/components/range_segments_component_spec.rb
|
253
|
+
- spec/controllers/range_limit_action_method_spec.rb
|
253
254
|
- spec/features/blacklight_range_limit_spec.rb
|
254
255
|
- spec/features/run_through_spec.rb
|
255
256
|
- spec/fixtures/solr_documents/unknown_year.yml
|
@@ -290,6 +291,7 @@ test_files:
|
|
290
291
|
- spec/components/range_facet_component_spec.rb
|
291
292
|
- spec/components/range_form_component_spec.rb
|
292
293
|
- spec/components/range_segments_component_spec.rb
|
294
|
+
- spec/controllers/range_limit_action_method_spec.rb
|
293
295
|
- spec/features/blacklight_range_limit_spec.rb
|
294
296
|
- spec/features/run_through_spec.rb
|
295
297
|
- spec/fixtures/solr_documents/unknown_year.yml
|