blacklight 6.7.3 → 6.8.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 +4 -4
- data/.rubocop_todo.yml +66 -43
- data/.travis.yml +9 -8
- data/Gemfile +1 -0
- data/VERSION +1 -1
- data/app/assets/stylesheets/blacklight/_header.scss +9 -1
- data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +2 -1
- data/app/controllers/concerns/blacklight/catalog.rb +1 -1
- data/app/controllers/concerns/blacklight/controller.rb +6 -1
- data/app/controllers/concerns/blacklight/facet.rb +5 -5
- data/app/controllers/concerns/blacklight/request_builders.rb +2 -2
- data/app/controllers/concerns/blacklight/token_based_user.rb +12 -1
- data/app/helpers/blacklight/deprecated_url_helper_behavior.rb +7 -7
- data/app/helpers/blacklight/facets_helper_behavior.rb +1 -1
- data/app/helpers/blacklight/render_constraints_helper_behavior.rb +1 -1
- data/app/presenters/blacklight/rendering/pipeline.rb +6 -1
- data/app/views/catalog/_facet_limit.html.erb +2 -2
- data/lib/blacklight/configuration.rb +3 -13
- data/lib/blacklight/search_state.rb +6 -2
- data/lib/blacklight/solr/response.rb +1 -1
- data/lib/blacklight/solr/search_builder_behavior.rb +6 -6
- data/lib/generators/blacklight/templates/catalog_controller.rb +2 -0
- data/spec/controllers/blacklight/search_helper_spec.rb +14 -0
- data/spec/controllers/catalog_controller_spec.rb +18 -0
- data/spec/helpers/deprecated_url_helper_behavior_spec.rb +1 -0
- data/spec/helpers/render_constraints_helper_spec.rb +1 -0
- data/spec/models/blacklight/solr/search_builder_spec.rb +46 -0
- data/spec/presenters/pipeline_spec.rb +9 -0
- 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: 7659ba5e00f78c03a1a4f10c0b3aa010290f3101
|
|
4
|
+
data.tar.gz: eff65628374ba2a260ce76c62a8e6fbcc7eea314
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e6fc2330aa0cd95b868358e8d4761a88a0eca3bbcc7bf3513b843983ff894f87539f289d453c55fa95122f4a0943860d8c8522969f85ea0ccd50cbeda82513cf
|
|
7
|
+
data.tar.gz: c176bbe0a6cbaf3c5eea74a13d644a113e7daf87750be9782303ab36081d15da334d23dff1ca6dc2a8e3885c58efd0dac1ddc419f73db63d3b7fbbec6a443ce2
|
data/.rubocop_todo.yml
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# This configuration was generated by
|
|
2
2
|
# `rubocop --auto-gen-config`
|
|
3
|
-
# on
|
|
3
|
+
# on 2017-03-03 12:59:32 -0800 using RuboCop version 0.47.1.
|
|
4
4
|
# The point is for the user to remove these configuration records
|
|
5
5
|
# one by one as the offenses are removed from the code base.
|
|
6
6
|
# Note that changes in the inspected code, or installation of new
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
|
|
9
9
|
# Offense count: 19
|
|
10
10
|
# Cop supports --auto-correct.
|
|
11
|
-
# Configuration parameters:
|
|
12
|
-
#
|
|
11
|
+
# Configuration parameters: EnforcedStyleAlignWith, SupportedStylesAlignWith, AutoCorrect.
|
|
12
|
+
# SupportedStylesAlignWith: keyword, variable, start_of_line
|
|
13
13
|
Lint/EndAlignment:
|
|
14
14
|
Exclude:
|
|
15
15
|
- 'app/controllers/concerns/blacklight/token_based_user.rb'
|
|
@@ -25,7 +25,7 @@ Lint/EndAlignment:
|
|
|
25
25
|
- 'lib/blacklight/solr/response/facets.rb'
|
|
26
26
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
27
27
|
|
|
28
|
-
# Offense count:
|
|
28
|
+
# Offense count: 26
|
|
29
29
|
# Cop supports --auto-correct.
|
|
30
30
|
# Configuration parameters: IgnoreEmptyBlocks, AllowUnusedKeywordArguments.
|
|
31
31
|
Lint/UnusedBlockArgument:
|
|
@@ -33,7 +33,6 @@ Lint/UnusedBlockArgument:
|
|
|
33
33
|
- 'app/controllers/concerns/blacklight/search_context.rb'
|
|
34
34
|
- 'app/helpers/blacklight/configuration_helper_behavior.rb'
|
|
35
35
|
- 'app/models/concerns/blacklight/document/dublin_core.rb'
|
|
36
|
-
- 'lib/blacklight/configuration.rb'
|
|
37
36
|
- 'lib/blacklight/configuration/fields.rb'
|
|
38
37
|
- 'lib/blacklight/engine.rb'
|
|
39
38
|
- 'lib/blacklight/parameters.rb'
|
|
@@ -42,12 +41,11 @@ Lint/UnusedBlockArgument:
|
|
|
42
41
|
- 'lib/railties/blacklight.rake'
|
|
43
42
|
- 'tasks/blacklight.rake'
|
|
44
43
|
|
|
45
|
-
# Offense count:
|
|
44
|
+
# Offense count: 19
|
|
46
45
|
# Cop supports --auto-correct.
|
|
47
46
|
# Configuration parameters: AllowUnusedKeywordArguments, IgnoreEmptyMethods.
|
|
48
47
|
Lint/UnusedMethodArgument:
|
|
49
48
|
Exclude:
|
|
50
|
-
- 'app/controllers/concerns/blacklight/default_component_configuration.rb'
|
|
51
49
|
- 'app/helpers/blacklight/blacklight_helper_behavior.rb'
|
|
52
50
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
53
51
|
- 'app/helpers/blacklight/component_helper_behavior.rb'
|
|
@@ -74,24 +72,30 @@ Lint/UselessAssignment:
|
|
|
74
72
|
- 'lib/blacklight/solr/response/spelling.rb'
|
|
75
73
|
- 'lib/railties/blacklight.rake'
|
|
76
74
|
|
|
77
|
-
# Offense count:
|
|
75
|
+
# Offense count: 62
|
|
78
76
|
Metrics/AbcSize:
|
|
79
77
|
Max: 53
|
|
80
78
|
|
|
79
|
+
# Offense count: 4
|
|
80
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
|
81
|
+
Metrics/BlockLength:
|
|
82
|
+
Max: 94
|
|
83
|
+
|
|
81
84
|
# Offense count: 1
|
|
85
|
+
# Configuration parameters: CountBlocks.
|
|
82
86
|
Metrics/BlockNesting:
|
|
83
87
|
Max: 4
|
|
84
88
|
|
|
85
89
|
# Offense count: 2
|
|
86
90
|
# Configuration parameters: CountComments.
|
|
87
91
|
Metrics/ClassLength:
|
|
88
|
-
Max:
|
|
92
|
+
Max: 186
|
|
89
93
|
|
|
90
94
|
# Offense count: 20
|
|
91
95
|
Metrics/CyclomaticComplexity:
|
|
92
96
|
Max: 12
|
|
93
97
|
|
|
94
|
-
# Offense count:
|
|
98
|
+
# Offense count: 53
|
|
95
99
|
# Configuration parameters: CountComments.
|
|
96
100
|
Metrics/MethodLength:
|
|
97
101
|
Max: 52
|
|
@@ -99,7 +103,7 @@ Metrics/MethodLength:
|
|
|
99
103
|
# Offense count: 9
|
|
100
104
|
# Configuration parameters: CountComments.
|
|
101
105
|
Metrics/ModuleLength:
|
|
102
|
-
Max:
|
|
106
|
+
Max: 208
|
|
103
107
|
|
|
104
108
|
# Offense count: 1
|
|
105
109
|
# Configuration parameters: CountKeywordArgs.
|
|
@@ -110,6 +114,25 @@ Metrics/ParameterLists:
|
|
|
110
114
|
Metrics/PerceivedComplexity:
|
|
111
115
|
Max: 14
|
|
112
116
|
|
|
117
|
+
# Offense count: 2
|
|
118
|
+
Rails/FilePath:
|
|
119
|
+
Exclude:
|
|
120
|
+
- 'app/controllers/concerns/blacklight/catalog.rb'
|
|
121
|
+
|
|
122
|
+
# Offense count: 1
|
|
123
|
+
# Configuration parameters: Blacklist.
|
|
124
|
+
# Blacklist: decrement!, decrement_counter, increment!, increment_counter, toggle!, touch, update_all, update_attribute, update_column, update_columns, update_counters
|
|
125
|
+
Rails/SkipsModelValidations:
|
|
126
|
+
Exclude:
|
|
127
|
+
- 'app/controllers/concerns/blacklight/saved_searches.rb'
|
|
128
|
+
|
|
129
|
+
# Offense count: 2
|
|
130
|
+
# Cop supports --auto-correct.
|
|
131
|
+
Security/YAMLLoad:
|
|
132
|
+
Exclude:
|
|
133
|
+
- 'lib/blacklight.rb'
|
|
134
|
+
- 'lib/railties/blacklight.rake'
|
|
135
|
+
|
|
113
136
|
# Offense count: 2
|
|
114
137
|
# Cop supports --auto-correct.
|
|
115
138
|
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
|
@@ -132,7 +155,7 @@ Style/Alias:
|
|
|
132
155
|
- 'lib/blacklight/solr/response.rb'
|
|
133
156
|
- 'lib/blacklight/solr/response/group_response.rb'
|
|
134
157
|
|
|
135
|
-
# Offense count:
|
|
158
|
+
# Offense count: 6
|
|
136
159
|
# Cop supports --auto-correct.
|
|
137
160
|
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
|
138
161
|
# SupportedStyles: with_first_parameter, with_fixed_indentation
|
|
@@ -143,7 +166,7 @@ Style/AlignParameters:
|
|
|
143
166
|
- 'lib/blacklight/configuration.rb'
|
|
144
167
|
- 'lib/generators/blacklight/solr4_generator.rb'
|
|
145
168
|
|
|
146
|
-
# Offense count:
|
|
169
|
+
# Offense count: 64
|
|
147
170
|
# Cop supports --auto-correct.
|
|
148
171
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
149
172
|
# SupportedStyles: always, conditionals
|
|
@@ -162,7 +185,7 @@ Style/BracesAroundHashParameters:
|
|
|
162
185
|
|
|
163
186
|
# Offense count: 13
|
|
164
187
|
# Cop supports --auto-correct.
|
|
165
|
-
# Configuration parameters:
|
|
188
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentOneStep, IndentationWidth.
|
|
166
189
|
# SupportedStyles: case, end
|
|
167
190
|
Style/CaseIndentation:
|
|
168
191
|
Exclude:
|
|
@@ -172,7 +195,7 @@ Style/CaseIndentation:
|
|
|
172
195
|
- 'lib/blacklight/configuration/fields.rb'
|
|
173
196
|
- 'lib/blacklight/search_builder.rb'
|
|
174
197
|
|
|
175
|
-
# Offense count:
|
|
198
|
+
# Offense count: 51
|
|
176
199
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
177
200
|
# SupportedStyles: nested, compact
|
|
178
201
|
Style/ClassAndModuleChildren:
|
|
@@ -180,13 +203,13 @@ Style/ClassAndModuleChildren:
|
|
|
180
203
|
|
|
181
204
|
# Offense count: 2
|
|
182
205
|
# Cop supports --auto-correct.
|
|
183
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly.
|
|
206
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, SingleLineConditionsOnly, IncludeTernaryExpressions.
|
|
184
207
|
# SupportedStyles: assign_to_condition, assign_inside_condition
|
|
185
208
|
Style/ConditionalAssignment:
|
|
186
209
|
Exclude:
|
|
187
210
|
- 'lib/blacklight/solr/response/spelling.rb'
|
|
188
211
|
|
|
189
|
-
# Offense count:
|
|
212
|
+
# Offense count: 104
|
|
190
213
|
Style/Documentation:
|
|
191
214
|
Enabled: false
|
|
192
215
|
|
|
@@ -224,10 +247,8 @@ Style/ExtraSpacing:
|
|
|
224
247
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
225
248
|
- 'app/helpers/blacklight/configuration_helper_behavior.rb'
|
|
226
249
|
- 'app/models/concerns/blacklight/document/dublin_core.rb'
|
|
227
|
-
- 'app/models/concerns/blacklight/document/export.rb'
|
|
228
250
|
- 'app/models/record_mailer.rb'
|
|
229
251
|
- 'config/routes.rb'
|
|
230
|
-
- 'lib/blacklight/configuration.rb'
|
|
231
252
|
- 'lib/generators/blacklight/controller_generator.rb'
|
|
232
253
|
- 'lib/generators/blacklight/document_generator.rb'
|
|
233
254
|
- 'lib/generators/blacklight/install_generator.rb'
|
|
@@ -235,7 +256,14 @@ Style/ExtraSpacing:
|
|
|
235
256
|
- 'lib/railties/blacklight.rake'
|
|
236
257
|
- 'tasks/blacklight.rake'
|
|
237
258
|
|
|
238
|
-
# Offense count:
|
|
259
|
+
# Offense count: 2
|
|
260
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
261
|
+
# SupportedStyles: format, sprintf, percent
|
|
262
|
+
Style/FormatString:
|
|
263
|
+
Exclude:
|
|
264
|
+
- 'app/helpers/blacklight/render_partials_helper.rb'
|
|
265
|
+
|
|
266
|
+
# Offense count: 10
|
|
239
267
|
# Configuration parameters: MinBodyLength.
|
|
240
268
|
Style/GuardClause:
|
|
241
269
|
Exclude:
|
|
@@ -246,14 +274,14 @@ Style/GuardClause:
|
|
|
246
274
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
247
275
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
248
276
|
|
|
249
|
-
# Offense count:
|
|
277
|
+
# Offense count: 111
|
|
250
278
|
# Cop supports --auto-correct.
|
|
251
279
|
# Configuration parameters: EnforcedStyle, SupportedStyles, UseHashRocketsWithSymbolValues, PreferHashRocketsForNonAlnumEndingSymbols.
|
|
252
280
|
# SupportedStyles: ruby19, hash_rockets, no_mixed_keys, ruby19_no_mixed_keys
|
|
253
281
|
Style/HashSyntax:
|
|
254
282
|
Enabled: false
|
|
255
283
|
|
|
256
|
-
# Offense count:
|
|
284
|
+
# Offense count: 15
|
|
257
285
|
# Cop supports --auto-correct.
|
|
258
286
|
# Configuration parameters: MaxLineLength.
|
|
259
287
|
Style/IfUnlessModifier:
|
|
@@ -264,7 +292,6 @@ Style/IfUnlessModifier:
|
|
|
264
292
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
265
293
|
- 'app/helpers/blacklight/url_helper_behavior.rb'
|
|
266
294
|
- 'app/models/blacklight/facet_paginator.rb'
|
|
267
|
-
- 'lib/blacklight/configuration.rb'
|
|
268
295
|
- 'lib/blacklight/configuration/fields.rb'
|
|
269
296
|
- 'lib/blacklight/search_state.rb'
|
|
270
297
|
- 'lib/generators/blacklight/install_generator.rb'
|
|
@@ -278,7 +305,7 @@ Style/IndentHash:
|
|
|
278
305
|
Exclude:
|
|
279
306
|
- 'lib/blacklight/configuration.rb'
|
|
280
307
|
|
|
281
|
-
# Offense count:
|
|
308
|
+
# Offense count: 23
|
|
282
309
|
# Cop supports --auto-correct.
|
|
283
310
|
# Configuration parameters: Width.
|
|
284
311
|
Style/IndentationWidth:
|
|
@@ -297,7 +324,7 @@ Style/IndentationWidth:
|
|
|
297
324
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
298
325
|
- 'lib/generators/blacklight/assets_generator.rb'
|
|
299
326
|
|
|
300
|
-
# Offense count:
|
|
327
|
+
# Offense count: 9
|
|
301
328
|
# Cop supports --auto-correct.
|
|
302
329
|
Style/LeadingCommentSpace:
|
|
303
330
|
Exclude:
|
|
@@ -307,7 +334,7 @@ Style/LeadingCommentSpace:
|
|
|
307
334
|
- 'lib/blacklight/configuration.rb'
|
|
308
335
|
- 'lib/blacklight/solr/response/spelling.rb'
|
|
309
336
|
|
|
310
|
-
# Offense count:
|
|
337
|
+
# Offense count: 125
|
|
311
338
|
# Cop supports --auto-correct.
|
|
312
339
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
313
340
|
# SupportedStyles: require_parentheses, require_no_parentheses, require_no_parentheses_except_multiline
|
|
@@ -337,7 +364,7 @@ Style/MultilineMethodCallIndentation:
|
|
|
337
364
|
- 'app/controllers/concerns/blacklight/search_helper.rb'
|
|
338
365
|
- 'lib/blacklight/search_builder.rb'
|
|
339
366
|
|
|
340
|
-
# Offense count:
|
|
367
|
+
# Offense count: 12
|
|
341
368
|
# Cop supports --auto-correct.
|
|
342
369
|
# Configuration parameters: EnforcedStyle, SupportedStyles, IndentationWidth.
|
|
343
370
|
# SupportedStyles: aligned, indented
|
|
@@ -378,7 +405,7 @@ Style/PredicateName:
|
|
|
378
405
|
Style/RedundantSelf:
|
|
379
406
|
Enabled: false
|
|
380
407
|
|
|
381
|
-
# Offense count:
|
|
408
|
+
# Offense count: 17
|
|
382
409
|
# Cop supports --auto-correct.
|
|
383
410
|
Style/SpaceAfterComma:
|
|
384
411
|
Exclude:
|
|
@@ -387,7 +414,6 @@ Style/SpaceAfterComma:
|
|
|
387
414
|
- 'app/helpers/blacklight/facets_helper_behavior.rb'
|
|
388
415
|
- 'app/helpers/blacklight/render_constraints_helper_behavior.rb'
|
|
389
416
|
- 'app/models/concerns/blacklight/document/dublin_core.rb'
|
|
390
|
-
- 'lib/blacklight/configuration.rb'
|
|
391
417
|
- 'lib/blacklight/configuration/fields.rb'
|
|
392
418
|
- 'lib/blacklight/parameters.rb'
|
|
393
419
|
- 'lib/blacklight/solr/response/facets.rb'
|
|
@@ -396,14 +422,14 @@ Style/SpaceAfterComma:
|
|
|
396
422
|
|
|
397
423
|
# Offense count: 3
|
|
398
424
|
# Cop supports --auto-correct.
|
|
399
|
-
# Configuration parameters: EnforcedStyleInsidePipes,
|
|
400
|
-
#
|
|
425
|
+
# Configuration parameters: EnforcedStyleInsidePipes, SupportedStylesInsidePipes.
|
|
426
|
+
# SupportedStylesInsidePipes: space, no_space
|
|
401
427
|
Style/SpaceAroundBlockParameters:
|
|
402
428
|
Exclude:
|
|
403
429
|
- 'app/controllers/concerns/blacklight/catalog.rb'
|
|
404
430
|
- 'app/models/concerns/blacklight/document/extensions.rb'
|
|
405
431
|
|
|
406
|
-
# Offense count:
|
|
432
|
+
# Offense count: 26
|
|
407
433
|
# Cop supports --auto-correct.
|
|
408
434
|
# Configuration parameters: EnforcedStyle, SupportedStyles.
|
|
409
435
|
# SupportedStyles: space, no_space
|
|
@@ -414,7 +440,6 @@ Style/SpaceAroundEqualsInParameterDefault:
|
|
|
414
440
|
- 'app/helpers/blacklight/component_helper_behavior.rb'
|
|
415
441
|
- 'app/helpers/blacklight/configuration_helper_behavior.rb'
|
|
416
442
|
- 'app/helpers/blacklight/facets_helper_behavior.rb'
|
|
417
|
-
- 'app/helpers/blacklight/render_partials_helper.rb'
|
|
418
443
|
- 'app/helpers/blacklight/url_helper_behavior.rb'
|
|
419
444
|
- 'app/models/concerns/blacklight/document.rb'
|
|
420
445
|
- 'app/presenters/blacklight/document_presenter.rb'
|
|
@@ -422,7 +447,7 @@ Style/SpaceAroundEqualsInParameterDefault:
|
|
|
422
447
|
- 'app/presenters/blacklight/show_presenter.rb'
|
|
423
448
|
- 'lib/blacklight/search_state.rb'
|
|
424
449
|
|
|
425
|
-
# Offense count:
|
|
450
|
+
# Offense count: 11
|
|
426
451
|
# Cop supports --auto-correct.
|
|
427
452
|
# Configuration parameters: AllowForAlignment.
|
|
428
453
|
Style/SpaceAroundOperators:
|
|
@@ -432,8 +457,6 @@ Style/SpaceAroundOperators:
|
|
|
432
457
|
- 'app/helpers/blacklight/facets_helper_behavior.rb'
|
|
433
458
|
- 'app/helpers/blacklight/search_history_constraints_helper_behavior.rb'
|
|
434
459
|
- 'app/helpers/blacklight/url_helper_behavior.rb'
|
|
435
|
-
- 'app/models/concerns/blacklight/document/export.rb'
|
|
436
|
-
- 'lib/blacklight/configuration.rb'
|
|
437
460
|
- 'lib/blacklight/solr/repository.rb'
|
|
438
461
|
- 'lib/blacklight/solr/response/spelling.rb'
|
|
439
462
|
- 'tasks/blacklight.rake'
|
|
@@ -468,8 +491,9 @@ Style/SpaceBeforeFirstArg:
|
|
|
468
491
|
|
|
469
492
|
# Offense count: 15
|
|
470
493
|
# Cop supports --auto-correct.
|
|
471
|
-
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SpaceBeforeBlockParameters.
|
|
494
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces, SpaceBeforeBlockParameters.
|
|
472
495
|
# SupportedStyles: space, no_space
|
|
496
|
+
# SupportedStylesForEmptyBraces: space, no_space
|
|
473
497
|
Style/SpaceInsideBlockBraces:
|
|
474
498
|
Exclude:
|
|
475
499
|
- 'app/controllers/concerns/blacklight/bookmarks.rb'
|
|
@@ -488,10 +512,11 @@ Style/SpaceInsideBrackets:
|
|
|
488
512
|
Exclude:
|
|
489
513
|
- 'lib/blacklight/configuration/fields.rb'
|
|
490
514
|
|
|
491
|
-
# Offense count:
|
|
515
|
+
# Offense count: 18
|
|
492
516
|
# Cop supports --auto-correct.
|
|
493
|
-
# Configuration parameters: EnforcedStyle, EnforcedStyleForEmptyBraces,
|
|
517
|
+
# Configuration parameters: EnforcedStyle, SupportedStyles, EnforcedStyleForEmptyBraces, SupportedStylesForEmptyBraces.
|
|
494
518
|
# SupportedStyles: space, no_space, compact
|
|
519
|
+
# SupportedStylesForEmptyBraces: space, no_space
|
|
495
520
|
Style/SpaceInsideHashLiteralBraces:
|
|
496
521
|
Exclude:
|
|
497
522
|
- 'app/controllers/concerns/blacklight/bookmarks.rb'
|
|
@@ -503,14 +528,13 @@ Style/SpaceInsideHashLiteralBraces:
|
|
|
503
528
|
- 'lib/blacklight/configuration.rb'
|
|
504
529
|
- 'lib/blacklight/solr/repository.rb'
|
|
505
530
|
|
|
506
|
-
# Offense count:
|
|
531
|
+
# Offense count: 18
|
|
507
532
|
# Cop supports --auto-correct.
|
|
508
533
|
Style/SpaceInsideParens:
|
|
509
534
|
Exclude:
|
|
510
535
|
- 'app/controllers/concerns/blacklight/search_context.rb'
|
|
511
536
|
- 'app/helpers/blacklight/catalog_helper_behavior.rb'
|
|
512
537
|
- 'app/helpers/blacklight/facets_helper_behavior.rb'
|
|
513
|
-
- 'app/helpers/blacklight/render_constraints_helper_behavior.rb'
|
|
514
538
|
- 'app/helpers/blacklight/search_history_constraints_helper_behavior.rb'
|
|
515
539
|
- 'app/helpers/blacklight/url_helper_behavior.rb'
|
|
516
540
|
- 'app/models/concerns/blacklight/document/dublin_core.rb'
|
|
@@ -519,8 +543,7 @@ Style/SpaceInsideParens:
|
|
|
519
543
|
- 'lib/blacklight/search_state.rb'
|
|
520
544
|
- 'lib/blacklight/solr/search_builder_behavior.rb'
|
|
521
545
|
|
|
522
|
-
# Offense count:
|
|
546
|
+
# Offense count: 199
|
|
523
547
|
# Cop supports --auto-correct.
|
|
524
548
|
Style/TrailingWhitespace:
|
|
525
549
|
Enabled: false
|
|
526
|
-
|
data/.travis.yml
CHANGED
|
@@ -9,21 +9,22 @@ rvm:
|
|
|
9
9
|
|
|
10
10
|
matrix:
|
|
11
11
|
include:
|
|
12
|
-
- rvm: 2.3.
|
|
13
|
-
env: "RAILS_VERSION=4.2.
|
|
14
|
-
- rvm: 2.2.
|
|
15
|
-
env: "RAILS_VERSION=5.0.
|
|
16
|
-
- rvm: jruby-9.
|
|
17
|
-
env: "RAILS_VERSION=
|
|
12
|
+
- rvm: 2.3.3
|
|
13
|
+
env: "RAILS_VERSION=4.2.8"
|
|
14
|
+
- rvm: 2.2.6
|
|
15
|
+
env: "RAILS_VERSION=5.0.2"
|
|
16
|
+
- rvm: jruby-9.1.7.0
|
|
17
|
+
env: "RAILS_VERSION=5.0.2 JRUBY_OPTS=\"-J-Xms512m -J-Xmx1024m\""
|
|
18
18
|
allow_failures:
|
|
19
|
-
- rvm: jruby-9.
|
|
19
|
+
- rvm: jruby-9.1.7.0
|
|
20
20
|
fast_finish: true
|
|
21
21
|
|
|
22
22
|
before_install:
|
|
23
|
+
- gem update --system
|
|
23
24
|
- gem install bundler
|
|
24
25
|
|
|
25
26
|
env:
|
|
26
|
-
- "RAILS_VERSION=5.0.
|
|
27
|
+
- "RAILS_VERSION=5.0.2"
|
|
27
28
|
|
|
28
29
|
notifications:
|
|
29
30
|
irc: "irc.freenode.org#blacklight"
|
data/Gemfile
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
6.
|
|
1
|
+
6.8.0
|
|
@@ -6,7 +6,15 @@
|
|
|
6
6
|
.navbar-brand { /* The main logo image for the Blacklight instance */
|
|
7
7
|
width: 150px;
|
|
8
8
|
height: 50px;
|
|
9
|
-
|
|
9
|
+
@if $logo-image {
|
|
10
|
+
background: transparent $logo-image no-repeat top left;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
@if $logo_image {
|
|
14
|
+
// deprecated
|
|
15
|
+
background: transparent image_url($logo_image) no-repeat top left;
|
|
16
|
+
}
|
|
17
|
+
|
|
10
18
|
display: inline-block;
|
|
11
19
|
text-indent: 100%;
|
|
12
20
|
white-space: nowrap;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/* Warning! If you want to change these, just copy them into your own theme css. But you want to remove the !default, which only will set them if not already set. */
|
|
2
2
|
|
|
3
|
-
$
|
|
3
|
+
$logo-image: image_url('blacklight/logo.png') !default;
|
|
4
|
+
$logo_image: false !default; // deprecated
|
|
4
5
|
|
|
5
6
|
/* label (field names) */
|
|
6
7
|
$field_name_color: $text-muted !default;
|
|
@@ -68,7 +68,7 @@ module Blacklight::Catalog
|
|
|
68
68
|
def facet
|
|
69
69
|
@facet = blacklight_config.facet_fields[params[:id]]
|
|
70
70
|
@response = get_facet_field_response(@facet.key, params)
|
|
71
|
-
@display_facet = @response.aggregations[@facet.
|
|
71
|
+
@display_facet = @response.aggregations[@facet.field]
|
|
72
72
|
@pagination = facet_paginator(@facet, @display_facet)
|
|
73
73
|
respond_to do |format|
|
|
74
74
|
# Draw the facet selector for users who have javascript disabled:
|
|
@@ -26,6 +26,11 @@ module Blacklight::Controller
|
|
|
26
26
|
helper_method :search_action_url, :search_action_path, :search_facet_url, :search_facet_path
|
|
27
27
|
helper_method :search_state
|
|
28
28
|
|
|
29
|
+
# Specify which class to use for the search state. You can subclass SearchState if you
|
|
30
|
+
# want to override any of the methods (e.g. SearchState#url_for_document)
|
|
31
|
+
class_attribute :search_state_class
|
|
32
|
+
self.search_state_class = Blacklight::SearchState
|
|
33
|
+
|
|
29
34
|
# This callback runs when a user first logs in
|
|
30
35
|
|
|
31
36
|
define_callbacks :logging_in_user
|
|
@@ -62,7 +67,7 @@ module Blacklight::Controller
|
|
|
62
67
|
|
|
63
68
|
# @return [Blacklight::SearchState] a memoized instance of the parameter state.
|
|
64
69
|
def search_state
|
|
65
|
-
@search_state ||=
|
|
70
|
+
@search_state ||= search_state_class.new(params, blacklight_config)
|
|
66
71
|
end
|
|
67
72
|
|
|
68
73
|
# Default route to the search action (used e.g. in global partials). Override this method
|
|
@@ -6,12 +6,12 @@ module Blacklight
|
|
|
6
6
|
module Facet
|
|
7
7
|
delegate :facet_configuration_for_field, to: :blacklight_config
|
|
8
8
|
|
|
9
|
-
def facet_paginator(field_config,
|
|
9
|
+
def facet_paginator(field_config, response_data)
|
|
10
10
|
blacklight_config.facet_paginator_class.new(
|
|
11
|
-
|
|
12
|
-
sort:
|
|
13
|
-
offset:
|
|
14
|
-
prefix:
|
|
11
|
+
response_data.items,
|
|
12
|
+
sort: response_data.sort,
|
|
13
|
+
offset: response_data.offset,
|
|
14
|
+
prefix: response_data.prefix,
|
|
15
15
|
limit: facet_limit_for(field_config.key)
|
|
16
16
|
)
|
|
17
17
|
end
|
|
@@ -56,8 +56,8 @@ module Blacklight
|
|
|
56
56
|
facet = blacklight_config.facet_fields[facet_field]
|
|
57
57
|
return if facet.blank?
|
|
58
58
|
|
|
59
|
-
if facet.limit and @response and @response.aggregations[
|
|
60
|
-
limit = @response.aggregations[
|
|
59
|
+
if facet.limit and @response and @response.aggregations[facet.field]
|
|
60
|
+
limit = @response.aggregations[facet.field].limit
|
|
61
61
|
|
|
62
62
|
if limit.nil? # we didn't get or a set a limit, so infer one.
|
|
63
63
|
facet.limit if facet.limit != true
|
|
@@ -42,10 +42,21 @@ module Blacklight::TokenBasedUser
|
|
|
42
42
|
end
|
|
43
43
|
|
|
44
44
|
def export_secret_token
|
|
45
|
-
ActiveSupport::KeyGenerator.new(Rails.application.secrets.secret_key_base).generate_key('encrypted user session key')
|
|
45
|
+
ActiveSupport::KeyGenerator.new(Rails.application.secrets.secret_key_base).generate_key('encrypted user session key')[0..(key_len - 1)]
|
|
46
46
|
end
|
|
47
47
|
|
|
48
48
|
def message_encryptor
|
|
49
49
|
ActiveSupport::MessageEncryptor.new(export_secret_token)
|
|
50
50
|
end
|
|
51
|
+
|
|
52
|
+
private
|
|
53
|
+
|
|
54
|
+
# Ruby 2.4 requires keys of very particular lengths
|
|
55
|
+
def key_len
|
|
56
|
+
if ActiveSupport::MessageEncryptor.respond_to? :key_len
|
|
57
|
+
ActiveSupport::MessageEncryptor.key_len
|
|
58
|
+
else
|
|
59
|
+
0
|
|
60
|
+
end
|
|
61
|
+
end
|
|
51
62
|
end
|
|
@@ -11,8 +11,8 @@ module Blacklight
|
|
|
11
11
|
when 1
|
|
12
12
|
search_state.params_for_search(args.first)
|
|
13
13
|
when 2
|
|
14
|
-
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use
|
|
15
|
-
|
|
14
|
+
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).params_for_search instead')
|
|
15
|
+
controller.search_state_class.new(args.first, blacklight_config).params_for_search(args.last)
|
|
16
16
|
else
|
|
17
17
|
raise ArgumentError, "wrong number of arguments (#{args.length} for 0..2)"
|
|
18
18
|
end
|
|
@@ -25,15 +25,15 @@ module Blacklight
|
|
|
25
25
|
deprecation_deprecate :sanitize_search_params
|
|
26
26
|
|
|
27
27
|
def reset_search_params(source_params)
|
|
28
|
-
|
|
28
|
+
controller.search_state_class.new(source_params, blacklight_config).send(:reset_search_params)
|
|
29
29
|
end
|
|
30
30
|
deprecation_deprecate :reset_search_params
|
|
31
31
|
|
|
32
32
|
def add_facet_params(field, item, source_params = nil)
|
|
33
33
|
if source_params
|
|
34
|
-
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use
|
|
34
|
+
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).add_facet_params instead')
|
|
35
35
|
|
|
36
|
-
|
|
36
|
+
controller.search_state_class.new(source_params, blacklight_config).add_facet_params(field, item)
|
|
37
37
|
else
|
|
38
38
|
search_state.add_facet_params(field, item)
|
|
39
39
|
end
|
|
@@ -42,9 +42,9 @@ module Blacklight
|
|
|
42
42
|
|
|
43
43
|
def remove_facet_params(field, item, source_params = nil)
|
|
44
44
|
if source_params
|
|
45
|
-
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use
|
|
45
|
+
Deprecation.warn(Blacklight::DeprecatedUrlHelperBehavior, 'Use controller.search_state_class.new(source_params).remove_facet_params instead')
|
|
46
46
|
|
|
47
|
-
|
|
47
|
+
controller.search_state_class.new(source_params, blacklight_config).remove_facet_params(field, item)
|
|
48
48
|
else
|
|
49
49
|
search_state.remove_facet_params(field, item)
|
|
50
50
|
end
|
|
@@ -91,7 +91,7 @@ module Blacklight::FacetsHelperBehavior
|
|
|
91
91
|
# @param [Blacklight::Configuration::FacetField] facet_field
|
|
92
92
|
# @return [Boolean]
|
|
93
93
|
def should_collapse_facet? facet_field
|
|
94
|
-
!facet_field_in_params?(facet_field.
|
|
94
|
+
!facet_field_in_params?(facet_field.key) && facet_field.collapse
|
|
95
95
|
end
|
|
96
96
|
|
|
97
97
|
##
|
|
@@ -65,7 +65,7 @@ module Blacklight::RenderConstraintsHelperBehavior
|
|
|
65
65
|
# @return [String]
|
|
66
66
|
def render_constraints_filters(localized_params = params)
|
|
67
67
|
return "".html_safe unless localized_params[:f]
|
|
68
|
-
path =
|
|
68
|
+
path = controller.search_state_class.new(localized_params, blacklight_config)
|
|
69
69
|
content = []
|
|
70
70
|
localized_params[:f].each_pair do |facet,values|
|
|
71
71
|
content << render_filter_element(facet, values, path)
|
|
@@ -2,6 +2,11 @@ module Blacklight
|
|
|
2
2
|
module Rendering
|
|
3
3
|
# The field rendering pipeline
|
|
4
4
|
class Pipeline
|
|
5
|
+
class_attribute :operations
|
|
6
|
+
|
|
7
|
+
# The ordered list of pipeline operations
|
|
8
|
+
self.operations = [HelperMethod, LinkToFacet, Microdata, Join]
|
|
9
|
+
|
|
5
10
|
def initialize(values, config, document, context, options)
|
|
6
11
|
@values = values
|
|
7
12
|
@config = config
|
|
@@ -25,7 +30,7 @@ module Blacklight
|
|
|
25
30
|
|
|
26
31
|
# Ordered list of operations, Terminator must be at the end.
|
|
27
32
|
def stack
|
|
28
|
-
|
|
33
|
+
operations + [Terminator]
|
|
29
34
|
end
|
|
30
35
|
end
|
|
31
36
|
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
<ul class="facet-values list-unstyled">
|
|
2
2
|
<% paginator = facet_paginator(facet_field, display_facet) %>
|
|
3
|
-
<%= render_facet_limit_list paginator,
|
|
3
|
+
<%= render_facet_limit_list paginator, facet_field.key %>
|
|
4
4
|
|
|
5
5
|
<% unless paginator.last_page? || params[:action] == "facet" %>
|
|
6
6
|
<li class="more_facets_link">
|
|
7
7
|
<%= link_to t("more_#{field_name}_html", scope: 'blacklight.search.facets', default: :more_html, field_name: facet_field.label),
|
|
8
|
-
search_facet_path(id:
|
|
8
|
+
search_facet_path(id: facet_field.key), class: "more_facets_link" %>
|
|
9
9
|
</li>
|
|
10
10
|
<% end %>
|
|
11
11
|
</ul>
|
|
@@ -163,18 +163,9 @@ module Blacklight
|
|
|
163
163
|
# solr fields to use for sorting results
|
|
164
164
|
define_field_access :sort_field
|
|
165
165
|
|
|
166
|
-
def initialize(
|
|
167
|
-
super(
|
|
168
|
-
initialize_default_values!
|
|
166
|
+
def initialize(hash = {})
|
|
167
|
+
super(self.class.default_values.deep_dup.merge(hash))
|
|
169
168
|
yield(self) if block_given?
|
|
170
|
-
self
|
|
171
|
-
end
|
|
172
|
-
|
|
173
|
-
# Initialize default values from the class attribute
|
|
174
|
-
def initialize_default_values!
|
|
175
|
-
Marshal.load(Marshal.dump(self.class.default_values)).each do |k, v|
|
|
176
|
-
self[k] ||= v
|
|
177
|
-
end
|
|
178
169
|
end
|
|
179
170
|
|
|
180
171
|
def document_model
|
|
@@ -295,8 +286,7 @@ module Blacklight
|
|
|
295
286
|
end
|
|
296
287
|
end
|
|
297
288
|
|
|
298
|
-
|
|
299
|
-
# Provide a 'deep copy' of Blacklight::Configuration that can be modifyed without affecting
|
|
289
|
+
# Provide a 'deep copy' of Blacklight::Configuration that can be modified without effecting
|
|
300
290
|
# the original Blacklight::Configuration instance.
|
|
301
291
|
#
|
|
302
292
|
# Rails 4.x provides `#deep_dup`, but it aggressively `#dup`'s class names
|
|
@@ -32,9 +32,13 @@ module Blacklight
|
|
|
32
32
|
alias to_h to_hash
|
|
33
33
|
|
|
34
34
|
def reset
|
|
35
|
-
|
|
35
|
+
self.class.new(ActionController::Parameters.new, blacklight_config)
|
|
36
36
|
end
|
|
37
37
|
|
|
38
|
+
##
|
|
39
|
+
# Extension point for downstream applications
|
|
40
|
+
# to provide more interesting routing to
|
|
41
|
+
# documents
|
|
38
42
|
def url_for_document(doc, options = {})
|
|
39
43
|
if respond_to?(:blacklight_config) and
|
|
40
44
|
blacklight_config.show.route and
|
|
@@ -116,7 +120,7 @@ module Blacklight
|
|
|
116
120
|
# @yield [params] The merged parameters hash before being sanitized
|
|
117
121
|
def params_for_search(params_to_merge={}, &block)
|
|
118
122
|
# params hash we'll return
|
|
119
|
-
my_params = params.dup.merge(
|
|
123
|
+
my_params = params.dup.merge(self.class.new(params_to_merge, blacklight_config))
|
|
120
124
|
|
|
121
125
|
if block_given?
|
|
122
126
|
yield my_params
|
|
@@ -93,7 +93,7 @@ class Blacklight::Solr::Response < ActiveSupport::HashWithIndifferentAccess
|
|
|
93
93
|
value.each { |v| force_to_utf8(v) }
|
|
94
94
|
when String
|
|
95
95
|
if value.encoding != Encoding::UTF_8
|
|
96
|
-
|
|
96
|
+
Blacklight.logger.warn "Found a non utf-8 value in Blacklight::Solr::Response. \"#{value}\" Encoding is #{value.encoding}"
|
|
97
97
|
value.dup.force_encoding('UTF-8')
|
|
98
98
|
else
|
|
99
99
|
value
|
|
@@ -182,14 +182,14 @@ module Blacklight::Solr
|
|
|
182
182
|
|
|
183
183
|
# Now override with our specific things for fetching facet values
|
|
184
184
|
facet_ex = facet_config.respond_to?(:ex) ? facet_config.ex : nil
|
|
185
|
-
solr_params[:"facet.field"] = with_ex_local_param(facet_ex,
|
|
185
|
+
solr_params[:"facet.field"] = with_ex_local_param(facet_ex, facet_config.field)
|
|
186
186
|
|
|
187
187
|
limit = if scope.respond_to?(:facet_list_limit)
|
|
188
188
|
scope.facet_list_limit.to_s.to_i
|
|
189
189
|
elsif solr_params["facet.limit"]
|
|
190
190
|
solr_params["facet.limit"].to_i
|
|
191
191
|
else
|
|
192
|
-
20
|
|
192
|
+
facet_config.fetch(:more_limit, 20)
|
|
193
193
|
end
|
|
194
194
|
|
|
195
195
|
page = blacklight_params.fetch(request_keys[:page], 1).to_i
|
|
@@ -200,13 +200,13 @@ module Blacklight::Solr
|
|
|
200
200
|
|
|
201
201
|
# Need to set as f.facet_field.facet.* to make sure we
|
|
202
202
|
# override any field-specific default in the solr request handler.
|
|
203
|
-
solr_params[:"f.#{
|
|
204
|
-
solr_params[:"f.#{
|
|
203
|
+
solr_params[:"f.#{facet_config.field}.facet.limit"] = limit + 1
|
|
204
|
+
solr_params[:"f.#{facet_config.field}.facet.offset"] = offset
|
|
205
205
|
if blacklight_params[request_keys[:sort]]
|
|
206
|
-
solr_params[:"f.#{
|
|
206
|
+
solr_params[:"f.#{facet_config.field}.facet.sort"] = sort
|
|
207
207
|
end
|
|
208
208
|
if blacklight_params[request_keys[:prefix]]
|
|
209
|
-
solr_params[:"f.#{
|
|
209
|
+
solr_params[:"f.#{facet_config.field}.facet.prefix"] = prefix
|
|
210
210
|
end
|
|
211
211
|
solr_params[:rows] = 0
|
|
212
212
|
end
|
|
@@ -38,10 +38,12 @@ class <%= controller_name.classify %>Controller < ApplicationController
|
|
|
38
38
|
# solr field configuration for search results/index views
|
|
39
39
|
config.index.title_field = 'title_display'
|
|
40
40
|
config.index.display_type_field = 'format'
|
|
41
|
+
#config.index.thumbnail_field = 'thumbnail_path_ss'
|
|
41
42
|
|
|
42
43
|
# solr field configuration for document/show views
|
|
43
44
|
#config.show.title_field = 'title_display'
|
|
44
45
|
#config.show.display_type_field = 'format'
|
|
46
|
+
#config.show.thumbnail_field = 'thumbnail_path_ss'
|
|
45
47
|
|
|
46
48
|
# solr fields that will be treated as facets by the blacklight application
|
|
47
49
|
# The ordering of the field names is the order of the display
|
|
@@ -392,6 +392,20 @@ describe Blacklight::SearchHelper do
|
|
|
392
392
|
expect(subject.facet_limit_for("language_facet")).to eq 10
|
|
393
393
|
end
|
|
394
394
|
end
|
|
395
|
+
|
|
396
|
+
context 'for facet fields with a key that is different from the field name' do
|
|
397
|
+
let(:blacklight_config) do
|
|
398
|
+
Blacklight::Configuration.new do |config|
|
|
399
|
+
config.add_facet_field 'some_key', field: 'x', limit: true
|
|
400
|
+
end
|
|
401
|
+
end
|
|
402
|
+
|
|
403
|
+
it 'gets the limit from the facet field in the @response' do
|
|
404
|
+
response = instance_double(Blacklight::Solr::Response, aggregations: { 'x' => double(limit: 16) })
|
|
405
|
+
subject.instance_variable_set(:@response, response)
|
|
406
|
+
expect(subject.facet_limit_for('some_key')).to eq 15
|
|
407
|
+
end
|
|
408
|
+
end
|
|
395
409
|
end
|
|
396
410
|
|
|
397
411
|
# TODO: more complex queries! phrases, offset into search results, non-latin, boosting(?)
|
|
@@ -523,6 +523,24 @@ describe CatalogController do
|
|
|
523
523
|
expect(json["response"]["facets"]["items"].first["value"]).to eq 'Book'
|
|
524
524
|
end
|
|
525
525
|
end
|
|
526
|
+
|
|
527
|
+
context 'for a facet field with a key different from the underlying field name' do
|
|
528
|
+
before do
|
|
529
|
+
controller.blacklight_config.add_facet_field 'params_key', field: 'format'
|
|
530
|
+
end
|
|
531
|
+
|
|
532
|
+
it 'is successful' do
|
|
533
|
+
get :facet, params: { id: 'params_key' }
|
|
534
|
+
|
|
535
|
+
expect(response).to be_successful
|
|
536
|
+
|
|
537
|
+
expect(assigns[:facet]).to be_kind_of Blacklight::Configuration::FacetField
|
|
538
|
+
expect(assigns[:facet].key).to eq 'params_key'
|
|
539
|
+
expect(assigns[:facet].field).to eq 'format'
|
|
540
|
+
|
|
541
|
+
expect(assigns[:pagination].items.first['value']).to eq 'Book'
|
|
542
|
+
end
|
|
543
|
+
end
|
|
526
544
|
end
|
|
527
545
|
|
|
528
546
|
describe "#add_to_search_history" do
|
|
@@ -16,6 +16,7 @@ describe Blacklight::DeprecatedUrlHelperBehavior do
|
|
|
16
16
|
allow(helper).to receive(:search_state).and_return(search_state)
|
|
17
17
|
allow(helper).to receive(:params).and_return(params)
|
|
18
18
|
allow(helper).to receive(:blacklight_config).and_return(blacklight_config)
|
|
19
|
+
allow(controller).to receive(:search_state_class).and_return(Blacklight::SearchState)
|
|
19
20
|
end
|
|
20
21
|
|
|
21
22
|
describe '#params_for_search' do
|
|
@@ -70,6 +70,7 @@ describe RenderConstraintsHelper do
|
|
|
70
70
|
let(:params) { ActionController::Parameters.new f: { 'type' => [''] } }
|
|
71
71
|
before do
|
|
72
72
|
allow(helper).to receive(:blacklight_config).and_return(config)
|
|
73
|
+
allow(controller).to receive(:search_state_class).and_return(Blacklight::SearchState)
|
|
73
74
|
end
|
|
74
75
|
subject { helper.render_constraints_filters(params) }
|
|
75
76
|
|
|
@@ -146,6 +146,21 @@ describe Blacklight::Solr::SearchBuilderBehavior do
|
|
|
146
146
|
end
|
|
147
147
|
end
|
|
148
148
|
|
|
149
|
+
context "facet parameters" do
|
|
150
|
+
let(:blacklight_config) do
|
|
151
|
+
Blacklight::Configuration.new.tap do |config|
|
|
152
|
+
config.add_facet_field key: 'param_key', field: 'solr_field', limit: 50, ex: 'other'
|
|
153
|
+
|
|
154
|
+
config.add_facet_fields_to_solr_request!
|
|
155
|
+
end
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
it "should use the configured solr field name in queries" do
|
|
159
|
+
expect(subject).to include 'f.solr_field.facet.limit': 51,
|
|
160
|
+
'facet.field': ['{!ex=other}solr_field']
|
|
161
|
+
end
|
|
162
|
+
end
|
|
163
|
+
|
|
149
164
|
describe 'for an entirely empty search' do
|
|
150
165
|
|
|
151
166
|
it 'should not have a q param' do
|
|
@@ -564,6 +579,7 @@ describe Blacklight::Solr::SearchBuilderBehavior do
|
|
|
564
579
|
config.add_facet_field 'format'
|
|
565
580
|
config.add_facet_field 'format_ordered', sort: :count
|
|
566
581
|
config.add_facet_field 'format_limited', limit: 5
|
|
582
|
+
config.add_facet_field 'format_more_limited', limit: 5, more_limit: 50
|
|
567
583
|
end
|
|
568
584
|
end
|
|
569
585
|
|
|
@@ -588,6 +604,36 @@ describe Blacklight::Solr::SearchBuilderBehavior do
|
|
|
588
604
|
expect(solr_parameters[:"f.#{facet_field}.facet.offset"]).to eq 20
|
|
589
605
|
end
|
|
590
606
|
end
|
|
607
|
+
|
|
608
|
+
context 'for a field with a configured more_limit' do
|
|
609
|
+
let(:facet_field) { 'format_more_limited' }
|
|
610
|
+
|
|
611
|
+
it 'uses the more_limit configuration' do
|
|
612
|
+
expect(solr_parameters[:"f.#{facet_field}.facet.limit"]).to eq 51
|
|
613
|
+
end
|
|
614
|
+
end
|
|
615
|
+
|
|
616
|
+
context 'for a field with a param key different from the field name' do
|
|
617
|
+
let(:user_params) { { page_key => 2, 'facet.sort': 'index', 'facet.prefix': 'x' } }
|
|
618
|
+
let(:facet_field) { 'param_key' }
|
|
619
|
+
|
|
620
|
+
let(:blacklight_config) do
|
|
621
|
+
Blacklight::Configuration.new.tap do |config|
|
|
622
|
+
config.add_facet_field key: 'param_key', field: 'solr_field', more_limit: 50, ex: 'other'
|
|
623
|
+
|
|
624
|
+
config.add_facet_fields_to_solr_request!
|
|
625
|
+
end
|
|
626
|
+
end
|
|
627
|
+
|
|
628
|
+
it "should use the configured solr field name in queries" do
|
|
629
|
+
expect(solr_parameters).to include 'f.solr_field.facet.limit': 51,
|
|
630
|
+
'f.solr_field.facet.offset': 50,
|
|
631
|
+
'f.solr_field.facet.sort': 'index',
|
|
632
|
+
'f.solr_field.facet.prefix': 'x',
|
|
633
|
+
'facet.field': '{!ex=other}solr_field'
|
|
634
|
+
end
|
|
635
|
+
end
|
|
636
|
+
|
|
591
637
|
it 'defaults limit to 20' do
|
|
592
638
|
expect(solr_parameters[:"f.#{facet_field}.facet.limit"]).to eq 21
|
|
593
639
|
end
|
|
@@ -6,6 +6,7 @@ describe Blacklight::Rendering::Pipeline do
|
|
|
6
6
|
let(:context) { double }
|
|
7
7
|
let(:options) { double }
|
|
8
8
|
let(:presenter) { described_class.new(values, field_config, document, context, options) }
|
|
9
|
+
|
|
9
10
|
describe "render" do
|
|
10
11
|
subject { presenter.render }
|
|
11
12
|
let(:values) { ['a', 'b'] }
|
|
@@ -24,4 +25,12 @@ describe Blacklight::Rendering::Pipeline do
|
|
|
24
25
|
it { is_expected.to have_selector("span[@itemprop='some-prop']", :text => "a") }
|
|
25
26
|
end
|
|
26
27
|
end
|
|
28
|
+
|
|
29
|
+
describe "#operations" do
|
|
30
|
+
subject { described_class.operations }
|
|
31
|
+
it { is_expected.to eq [Blacklight::Rendering::HelperMethod,
|
|
32
|
+
Blacklight::Rendering::LinkToFacet,
|
|
33
|
+
Blacklight::Rendering::Microdata,
|
|
34
|
+
Blacklight::Rendering::Join] }
|
|
35
|
+
end
|
|
27
36
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: blacklight
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.
|
|
4
|
+
version: 6.8.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jonathan Rochkind
|
|
@@ -17,7 +17,7 @@ authors:
|
|
|
17
17
|
autorequire:
|
|
18
18
|
bindir: exe
|
|
19
19
|
cert_chain: []
|
|
20
|
-
date: 2017-
|
|
20
|
+
date: 2017-03-03 00:00:00.000000000 Z
|
|
21
21
|
dependencies:
|
|
22
22
|
- !ruby/object:Gem::Dependency
|
|
23
23
|
name: rails
|