blacklight 7.33.0 → 8.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.
Files changed (427) hide show
  1. checksums.yaml +4 -4
  2. data/.env +3 -2
  3. data/.github/workflows/ruby.yml +38 -107
  4. data/.gitignore +1 -0
  5. data/.rubocop.yml +243 -2
  6. data/.rubocop_todo.yml +216 -270
  7. data/Gemfile +7 -6
  8. data/README.md +12 -4
  9. data/Rakefile +18 -0
  10. data/VERSION +1 -1
  11. data/app/assets/config/blacklight/manifest.js +3 -0
  12. data/app/assets/javascripts/blacklight/blacklight.esm.js +376 -0
  13. data/app/assets/javascripts/blacklight/blacklight.esm.js.map +1 -0
  14. data/app/assets/javascripts/blacklight/blacklight.js +332 -485
  15. data/app/assets/javascripts/blacklight/blacklight.js.map +1 -0
  16. data/app/assets/stylesheets/blacklight/_autocomplete.scss +25 -0
  17. data/app/assets/stylesheets/blacklight/_blacklight_base.scss +1 -1
  18. data/app/assets/stylesheets/blacklight/_bookmark.scss +16 -0
  19. data/app/assets/stylesheets/blacklight/_bootstrap_overrides.scss +8 -0
  20. data/app/assets/stylesheets/blacklight/_facets.scss +104 -49
  21. data/app/assets/stylesheets/blacklight/_header.scss +0 -15
  22. data/app/assets/stylesheets/blacklight/_icons.scss +0 -14
  23. data/app/assets/stylesheets/blacklight/_mixins.scss +20 -0
  24. data/app/assets/stylesheets/blacklight/_modal.scss +8 -2
  25. data/app/assets/stylesheets/blacklight/_search_form.scss +30 -3
  26. data/app/assets/stylesheets/blacklight/_search_history.scss +10 -1
  27. data/app/assets/stylesheets/blacklight/_search_results.scss +6 -2
  28. data/app/assets/stylesheets/blacklight/blacklight_defaults.scss +4 -1
  29. data/app/builders/blacklight/action_builder.rb +18 -9
  30. data/app/components/blacklight/advanced_search_form_component.html.erb +1 -1
  31. data/app/components/blacklight/advanced_search_form_component.rb +7 -9
  32. data/app/components/blacklight/constraints_component.rb +27 -37
  33. data/app/components/blacklight/document/action_component.html.erb +2 -9
  34. data/app/components/blacklight/document/action_component.rb +26 -8
  35. data/app/components/blacklight/document/actions_component.rb +2 -2
  36. data/app/components/blacklight/document/bookmark_component.html.erb +9 -0
  37. data/app/components/blacklight/document/bookmark_component.rb +4 -2
  38. data/app/components/blacklight/document/citation_component.rb +5 -3
  39. data/app/components/blacklight/document/group_component.rb +7 -3
  40. data/app/components/blacklight/document/show_tools_component.html.erb +12 -0
  41. data/app/components/blacklight/document/show_tools_component.rb +23 -0
  42. data/app/components/blacklight/document/sidebar_component.html.erb +2 -0
  43. data/app/components/blacklight/document/sidebar_component.rb +16 -0
  44. data/app/components/blacklight/document/thumbnail_component.html.erb +2 -7
  45. data/app/components/blacklight/document/thumbnail_component.rb +1 -9
  46. data/app/components/blacklight/document_component.html.erb +4 -0
  47. data/app/components/blacklight/document_component.rb +54 -42
  48. data/app/components/blacklight/document_metadata_component.html.erb +4 -2
  49. data/app/components/blacklight/document_metadata_component.rb +11 -6
  50. data/app/components/blacklight/document_title_component.rb +4 -1
  51. data/app/components/blacklight/facet_component.rb +1 -1
  52. data/app/components/blacklight/facet_field_checkboxes_component.html.erb +3 -3
  53. data/app/components/blacklight/facet_field_checkboxes_component.rb +1 -1
  54. data/app/components/blacklight/facet_field_component.html.erb +5 -5
  55. data/app/components/blacklight/facet_field_component.rb +9 -2
  56. data/app/components/blacklight/facet_field_list_component.html.erb +3 -3
  57. data/app/components/blacklight/facet_field_list_component.rb +37 -5
  58. data/app/components/blacklight/facet_field_no_layout_component.rb +0 -2
  59. data/app/components/blacklight/facet_item_component.rb +1 -43
  60. data/app/components/blacklight/facet_item_pivot_component.rb +21 -23
  61. data/app/components/blacklight/header_component.html.erb +2 -0
  62. data/app/components/blacklight/header_component.rb +26 -0
  63. data/app/components/blacklight/hidden_search_state_component.rb +1 -2
  64. data/app/components/blacklight/icons/legacy_icon_component.rb +30 -0
  65. data/app/components/blacklight/icons/list_component.rb +16 -0
  66. data/app/components/blacklight/icons/search_component.rb +16 -0
  67. data/app/components/blacklight/metadata_field_component.html.erb +2 -2
  68. data/app/components/blacklight/metadata_field_component.rb +24 -8
  69. data/app/components/blacklight/metadata_field_layout_component.rb +7 -22
  70. data/app/components/blacklight/metadata_field_plain_text_layout_component.rb +17 -0
  71. data/app/components/blacklight/response/facet_group_component.html.erb +5 -6
  72. data/app/components/blacklight/response/facet_group_component.rb +29 -8
  73. data/app/components/blacklight/response/sort_component.rb +2 -2
  74. data/app/components/blacklight/response/spellcheck_component.rb +18 -7
  75. data/app/components/blacklight/response/view_type_button_component.rb +3 -7
  76. data/app/components/blacklight/response/view_type_component.rb +4 -6
  77. data/app/components/blacklight/search/sidebar_component.html.erb +8 -0
  78. data/app/components/blacklight/search/sidebar_component.rb +17 -0
  79. data/app/components/blacklight/search_bar_component.html.erb +20 -15
  80. data/app/components/blacklight/search_bar_component.rb +2 -16
  81. data/app/components/blacklight/search_button_component.rb +3 -3
  82. data/app/components/blacklight/search_context/server_applied_params_component.html.erb +4 -0
  83. data/app/components/blacklight/search_context/server_applied_params_component.rb +13 -0
  84. data/app/components/blacklight/search_context/server_item_pagination_component.rb +71 -0
  85. data/app/components/blacklight/search_header_component.html.erb +2 -0
  86. data/app/components/blacklight/search_header_component.rb +6 -0
  87. data/app/components/blacklight/search_navbar_component.html.erb +5 -0
  88. data/app/components/blacklight/search_navbar_component.rb +34 -0
  89. data/app/components/blacklight/start_over_button_component.rb +5 -3
  90. data/app/components/blacklight/system/dropdown_component.rb +3 -3
  91. data/app/components/blacklight/system/flash_message_component.html.erb +3 -1
  92. data/app/components/blacklight/system/flash_message_component.rb +12 -3
  93. data/app/components/blacklight/system/modal_component.html.erb +1 -1
  94. data/app/components/blacklight/system/modal_component.rb +1 -3
  95. data/app/components/blacklight/top_navbar_component.html.erb +12 -0
  96. data/app/components/blacklight/top_navbar_component.rb +17 -0
  97. data/app/controllers/bookmarks_controller.rb +1 -0
  98. data/app/controllers/catalog_controller.rb +1 -0
  99. data/app/controllers/concerns/blacklight/bookmarks.rb +11 -6
  100. data/app/controllers/concerns/blacklight/catalog.rb +21 -72
  101. data/app/controllers/concerns/blacklight/controller.rb +6 -43
  102. data/app/controllers/concerns/blacklight/search_context.rb +71 -13
  103. data/app/controllers/concerns/blacklight/search_history.rb +2 -0
  104. data/app/controllers/concerns/blacklight/searchable.rb +12 -1
  105. data/app/controllers/concerns/blacklight/token_based_user.rb +1 -0
  106. data/app/controllers/search_history_controller.rb +1 -0
  107. data/app/helpers/blacklight/blacklight_helper_behavior.rb +1 -400
  108. data/app/helpers/blacklight/catalog_helper_behavior.rb +40 -182
  109. data/app/helpers/blacklight/component_helper_behavior.rb +1 -63
  110. data/app/helpers/blacklight/configuration_helper_behavior.rb +2 -117
  111. data/app/helpers/blacklight/document_helper_behavior.rb +76 -0
  112. data/app/helpers/blacklight/facets_helper_behavior.rb +4 -321
  113. data/app/helpers/blacklight/icon_helper_behavior.rb +5 -4
  114. data/app/helpers/blacklight/layout_helper_behavior.rb +60 -0
  115. data/app/helpers/blacklight/render_partials_helper_behavior.rb +12 -30
  116. data/app/helpers/blacklight/url_helper_behavior.rb +21 -97
  117. data/app/helpers/blacklight_helper.rb +1 -0
  118. data/app/helpers/catalog_helper.rb +1 -0
  119. data/app/javascript/blacklight/bookmark_toggle.js +9 -22
  120. data/app/javascript/blacklight/button_focus.js +9 -7
  121. data/app/javascript/blacklight/checkbox_submit.js +68 -122
  122. data/app/javascript/blacklight/core.js +6 -5
  123. data/app/javascript/blacklight/index.js +14 -0
  124. data/app/javascript/blacklight/modal.js +100 -165
  125. data/app/javascript/blacklight/modalForm.js +60 -0
  126. data/app/javascript/blacklight/search_context.js +13 -29
  127. data/app/models/blacklight/facet_paginator.rb +3 -2
  128. data/app/models/blacklight/icon.rb +4 -2
  129. data/app/models/bookmark.rb +0 -2
  130. data/app/models/concerns/blacklight/configurable.rb +5 -4
  131. data/app/models/concerns/blacklight/document/active_model_shim.rb +1 -0
  132. data/app/models/concerns/blacklight/document/attributes.rb +50 -0
  133. data/app/models/concerns/blacklight/document/cache_key.rb +1 -0
  134. data/app/models/concerns/blacklight/document/dublin_core.rb +2 -1
  135. data/app/models/concerns/blacklight/document/export.rb +2 -1
  136. data/app/models/concerns/blacklight/document/extensions.rb +1 -0
  137. data/app/models/concerns/blacklight/document/schema_org.rb +1 -0
  138. data/app/models/concerns/blacklight/document/semantic_fields.rb +1 -0
  139. data/app/models/concerns/blacklight/document.rb +23 -20
  140. data/app/models/concerns/blacklight/suggest/response.rb +1 -0
  141. data/app/models/concerns/blacklight/user.rb +17 -8
  142. data/app/models/record_mailer.rb +23 -18
  143. data/app/models/search.rb +0 -1
  144. data/app/models/solr_document.rb +1 -0
  145. data/app/presenters/blacklight/clause_presenter.rb +1 -1
  146. data/app/presenters/blacklight/document_presenter.rb +24 -30
  147. data/app/presenters/blacklight/facet_field_presenter.rb +39 -14
  148. data/app/presenters/blacklight/facet_grouped_item_presenter.rb +1 -5
  149. data/app/presenters/blacklight/facet_item_pivot_presenter.rb +60 -0
  150. data/app/presenters/blacklight/facet_item_presenter.rb +3 -9
  151. data/app/presenters/blacklight/field_presenter.rb +1 -0
  152. data/app/presenters/blacklight/index_presenter.rb +2 -40
  153. data/app/presenters/blacklight/json_presenter.rb +7 -5
  154. data/app/presenters/blacklight/rendering/abstract_step.rb +4 -0
  155. data/app/presenters/blacklight/rendering/join.rb +7 -1
  156. data/app/presenters/blacklight/rendering/link_to_facet.rb +3 -6
  157. data/app/presenters/blacklight/rendering/microdata.rb +1 -1
  158. data/app/presenters/blacklight/show_presenter.rb +1 -9
  159. data/app/presenters/blacklight/thumbnail_presenter.rb +1 -1
  160. data/app/services/blacklight/bookmarks_search_builder.rb +22 -0
  161. data/app/services/blacklight/field_retriever.rb +1 -8
  162. data/app/services/blacklight/search_service.rb +9 -7
  163. data/app/values/blacklight/types.rb +95 -11
  164. data/app/views/bookmarks/_clear_bookmarks_widget.html.erb +8 -1
  165. data/app/views/bookmarks/_tools.html.erb +7 -12
  166. data/app/views/catalog/_advanced_search_form.html.erb +0 -1
  167. data/app/views/catalog/_bookmark_control.html.erb +1 -1
  168. data/app/views/catalog/_constraints.html.erb +1 -14
  169. data/app/views/catalog/_document.atom.builder +12 -14
  170. data/app/views/catalog/_document.html.erb +3 -6
  171. data/app/views/catalog/_document.rss.builder +2 -4
  172. data/app/views/catalog/_document_list.html.erb +2 -1
  173. data/app/views/catalog/_facet_layout.html.erb +2 -2
  174. data/app/views/catalog/_facets.html.erb +5 -4
  175. data/app/views/catalog/_home_text.html.erb +2 -14
  176. data/app/views/catalog/_search_form.html.erb +3 -3
  177. data/app/views/catalog/_search_header.html.erb +1 -2
  178. data/app/views/catalog/_search_results.html.erb +2 -2
  179. data/app/views/catalog/_search_sidebar.html.erb +5 -1
  180. data/app/views/catalog/_show_main_content.html.erb +8 -19
  181. data/app/views/catalog/_show_sidebar.html.erb +2 -2
  182. data/app/views/catalog/_show_tools.html.erb +1 -19
  183. data/app/views/catalog/_view_type_group.html.erb +1 -1
  184. data/app/views/catalog/email_success.html.erb +5 -6
  185. data/app/views/catalog/facet.html.erb +7 -5
  186. data/app/views/catalog/index.atom.builder +12 -14
  187. data/app/views/catalog/index.html.erb +7 -1
  188. data/app/views/catalog/index.json.jbuilder +19 -19
  189. data/app/views/catalog/index.rss.builder +1 -1
  190. data/app/views/catalog/opensearch.xml.builder +1 -1
  191. data/app/views/catalog/show.html.erb +1 -6
  192. data/app/views/catalog/sms_success.html.erb +5 -6
  193. data/app/views/catalog/suggest.html.erb +3 -0
  194. data/app/views/layouts/blacklight/base.html.erb +19 -9
  195. data/app/views/record_mailer/email_record.text.erb +4 -3
  196. data/app/views/record_mailer/sms_record.text.erb +4 -4
  197. data/app/views/search_history/index.html.erb +6 -2
  198. data/app/views/shared/_header_navbar.html.erb +1 -22
  199. data/app/views/shared/_modal.html.erb +3 -3
  200. data/blacklight.gemspec +8 -10
  201. data/config/importmap.rb +3 -0
  202. data/config/locales/blacklight.ar.yml +209 -233
  203. data/config/locales/blacklight.ca.yml +0 -7
  204. data/config/locales/blacklight.de.yml +197 -216
  205. data/config/locales/blacklight.en.yml +2 -7
  206. data/config/locales/blacklight.es.yml +196 -216
  207. data/config/locales/blacklight.fr.yml +196 -220
  208. data/config/locales/blacklight.hu.yml +193 -213
  209. data/config/locales/blacklight.it.yml +197 -216
  210. data/config/locales/blacklight.nl.yml +193 -213
  211. data/config/locales/blacklight.pt-BR.yml +195 -216
  212. data/config/locales/blacklight.sq.yml +193 -213
  213. data/config/locales/blacklight.zh.yml +194 -214
  214. data/config/routes.rb +3 -2
  215. data/db/migrate/20140202020201_create_searches.rb +1 -0
  216. data/db/migrate/20140202020202_create_bookmarks.rb +1 -0
  217. data/db/migrate/20140320000000_add_polymorphic_type_to_bookmarks.rb +1 -0
  218. data/docker-compose.yml +1 -0
  219. data/lib/blacklight/abstract_repository.rb +1 -0
  220. data/lib/blacklight/configuration/context.rb +4 -4
  221. data/lib/blacklight/configuration/display_field.rb +7 -9
  222. data/lib/blacklight/configuration/facet_field.rb +17 -11
  223. data/lib/blacklight/configuration/field.rb +1 -0
  224. data/lib/blacklight/configuration/fields.rb +12 -15
  225. data/lib/blacklight/configuration/index_field.rb +1 -0
  226. data/lib/blacklight/configuration/null_display_field.rb +17 -0
  227. data/lib/blacklight/configuration/search_field.rb +1 -0
  228. data/lib/blacklight/configuration/session_tracking_config.rb +45 -0
  229. data/lib/blacklight/configuration/show_field.rb +1 -0
  230. data/lib/blacklight/configuration/sort_field.rb +1 -0
  231. data/lib/blacklight/configuration/tool_config.rb +1 -0
  232. data/lib/blacklight/configuration/view_config.rb +16 -10
  233. data/lib/blacklight/configuration.rb +322 -341
  234. data/lib/blacklight/engine.rb +13 -15
  235. data/lib/blacklight/exceptions.rb +2 -2
  236. data/lib/blacklight/nested_open_struct_with_hash_access.rb +6 -12
  237. data/lib/blacklight/open_struct_with_hash_access.rb +19 -17
  238. data/lib/blacklight/parameters.rb +7 -21
  239. data/lib/blacklight/routes/exportable.rb +1 -0
  240. data/lib/blacklight/routes/searchable.rb +3 -1
  241. data/lib/blacklight/routes.rb +1 -0
  242. data/lib/blacklight/search_builder.rb +10 -10
  243. data/lib/blacklight/search_state/filter_field.rb +8 -25
  244. data/lib/blacklight/search_state/pivot_filter_field.rb +144 -0
  245. data/lib/blacklight/search_state.rb +23 -79
  246. data/lib/blacklight/solr/document.rb +1 -0
  247. data/lib/blacklight/solr/facet_paginator.rb +1 -0
  248. data/lib/blacklight/solr/repository.rb +1 -0
  249. data/lib/blacklight/solr/request.rb +3 -0
  250. data/lib/blacklight/solr/response/facets.rb +21 -5
  251. data/lib/blacklight/solr/response/group.rb +1 -0
  252. data/lib/blacklight/solr/response/group_response.rb +1 -0
  253. data/lib/blacklight/solr/response/more_like_this.rb +1 -0
  254. data/lib/blacklight/solr/response/pagination_methods.rb +4 -3
  255. data/lib/blacklight/solr/response/params.rb +5 -4
  256. data/lib/blacklight/solr/response/response.rb +1 -0
  257. data/lib/blacklight/solr/response/spelling.rb +1 -0
  258. data/lib/blacklight/solr/response.rb +4 -3
  259. data/lib/blacklight/solr/search_builder_behavior.rb +16 -32
  260. data/lib/blacklight/solr.rb +1 -0
  261. data/lib/blacklight/version.rb +1 -0
  262. data/lib/blacklight.rb +8 -11
  263. data/lib/generators/blacklight/assets/importmap_generator.rb +56 -0
  264. data/lib/generators/blacklight/assets/propshaft_generator.rb +34 -0
  265. data/lib/generators/blacklight/assets/sprockets_generator.rb +68 -0
  266. data/lib/generators/blacklight/assets_generator.rb +14 -88
  267. data/lib/generators/blacklight/controller_generator.rb +3 -2
  268. data/lib/generators/blacklight/document_generator.rb +1 -0
  269. data/lib/generators/blacklight/install_generator.rb +7 -4
  270. data/lib/generators/blacklight/models_generator.rb +1 -0
  271. data/lib/generators/blacklight/search_builder_generator.rb +1 -0
  272. data/lib/generators/blacklight/solr_generator.rb +1 -1
  273. data/lib/generators/blacklight/templates/catalog_controller.rb +37 -7
  274. data/lib/generators/blacklight/templates/solr_document.rb +1 -7
  275. data/lib/generators/blacklight/test_support_generator.rb +4 -2
  276. data/lib/generators/blacklight/user_generator.rb +7 -9
  277. data/lib/railties/blacklight.rake +2 -3
  278. data/package.json +10 -10
  279. data/rollup.config.js +37 -0
  280. data/spec/components/blacklight/constraints_component_spec.rb +17 -13
  281. data/spec/components/blacklight/document_component_spec.rb +74 -33
  282. data/spec/components/blacklight/facet_component_spec.rb +2 -7
  283. data/spec/components/blacklight/facet_field_checkboxes_component_spec.rb +1 -2
  284. data/spec/components/blacklight/facet_field_list_component_spec.rb +7 -6
  285. data/spec/components/blacklight/facet_item_pivot_component_spec.rb +9 -7
  286. data/spec/components/blacklight/header_component_spec.rb +20 -0
  287. data/spec/components/blacklight/response/view_type_component_spec.rb +83 -0
  288. data/spec/components/blacklight/search_bar_component_spec.rb +1 -1
  289. data/spec/components/blacklight/search_context/server_applied_params_component_spec.rb +29 -0
  290. data/spec/components/blacklight/search_context/server_item_pagination_component_spec.rb +51 -0
  291. data/spec/controllers/blacklight/catalog/component_configuration_spec.rb +1 -6
  292. data/spec/controllers/blacklight/{base_spec.rb → catalog_spec.rb} +2 -2
  293. data/spec/controllers/bookmarks_controller_spec.rb +2 -3
  294. data/spec/controllers/catalog_controller_spec.rb +24 -126
  295. data/spec/features/autocomplete_spec.rb +1 -1
  296. data/spec/features/axe_spec.rb +1 -1
  297. data/spec/features/bookmarks_spec.rb +1 -1
  298. data/spec/features/component_template_override_spec.rb +8 -0
  299. data/spec/features/facets_spec.rb +1 -1
  300. data/spec/features/modal_spec.rb +12 -0
  301. data/spec/features/search_context_spec.rb +4 -10
  302. data/spec/features/search_results_spec.rb +0 -33
  303. data/spec/features/sitelinks_search_box_spec.rb +13 -0
  304. data/spec/helpers/blacklight/configuration_helper_behavior_spec.rb +2 -138
  305. data/spec/helpers/blacklight/facets_helper_behavior_spec.rb +0 -387
  306. data/spec/helpers/blacklight/icon_helper_behavior_spec.rb +8 -0
  307. data/spec/helpers/blacklight/render_partials_helper_behavior_spec.rb +5 -7
  308. data/spec/helpers/blacklight/url_helper_behavior_spec.rb +10 -132
  309. data/spec/helpers/blacklight_helper_spec.rb +3 -298
  310. data/spec/helpers/catalog_helper_spec.rb +60 -115
  311. data/spec/i18n_spec.rb +1 -0
  312. data/spec/integration/generators/blacklight/solr_generator_spec.rb +1 -1
  313. data/spec/lib/blacklight/configuration/facet_field_spec.rb +27 -16
  314. data/spec/lib/blacklight/configuration/field_spec.rb +1 -1
  315. data/spec/lib/blacklight/configuration/session_tracking_config_spec.rb +38 -0
  316. data/spec/lib/blacklight/configuration/view_config_spec.rb +1 -1
  317. data/spec/lib/blacklight/open_struct_with_hash_access_spec.rb +4 -4
  318. data/spec/lib/blacklight/parameters_spec.rb +1 -4
  319. data/spec/lib/blacklight/search_state/filter_field_spec.rb +4 -4
  320. data/spec/lib/blacklight/search_state/pivot_filter_field_spec.rb +117 -0
  321. data/spec/lib/blacklight/search_state_spec.rb +80 -198
  322. data/spec/lib/tasks/blacklight_task_spec.rb +1 -0
  323. data/spec/models/blacklight/configuration_spec.rb +41 -53
  324. data/spec/models/blacklight/document/active_model_shim_spec.rb +2 -2
  325. data/spec/models/blacklight/icon_spec.rb +29 -15
  326. data/spec/models/blacklight/search_builder_spec.rb +12 -12
  327. data/spec/models/blacklight/solr/document_spec.rb +3 -3
  328. data/spec/models/blacklight/solr/request_spec.rb +2 -2
  329. data/spec/models/blacklight/solr/response/facets_spec.rb +27 -27
  330. data/spec/models/blacklight/solr/response/group_response_spec.rb +1 -0
  331. data/spec/models/blacklight/solr/response/group_spec.rb +1 -0
  332. data/spec/models/blacklight/solr/response_spec.rb +9 -2
  333. data/spec/models/blacklight/solr/search_builder_spec.rb +32 -23
  334. data/spec/models/blacklight/user_spec.rb +22 -0
  335. data/spec/models/record_mailer_spec.rb +36 -23
  336. data/spec/models/solr_document_spec.rb +21 -3
  337. data/spec/presenters/blacklight/clause_presenter_spec.rb +1 -0
  338. data/spec/presenters/blacklight/document_presenter_spec.rb +3 -2
  339. data/spec/presenters/blacklight/facet_field_presenter_spec.rb +85 -12
  340. data/spec/presenters/blacklight/facet_grouped_item_presenter_spec.rb +1 -0
  341. data/spec/presenters/blacklight/facet_item_presenter_spec.rb +14 -13
  342. data/spec/presenters/blacklight/field_presenter_spec.rb +2 -16
  343. data/spec/presenters/blacklight/index_presenter_spec.rb +3 -4
  344. data/spec/presenters/blacklight/json_presenter_spec.rb +1 -0
  345. data/spec/presenters/blacklight/link_alternate_presenter_spec.rb +3 -2
  346. data/spec/presenters/blacklight/show_presenter_spec.rb +11 -25
  347. data/spec/presenters/pipeline_spec.rb +13 -2
  348. data/spec/presenters/thumbnail_presenter_spec.rb +1 -1
  349. data/spec/requests/load_suggestions_spec.rb +16 -0
  350. data/spec/routing/catalog_routing_spec.rb +6 -1
  351. data/spec/services/blacklight/search_service_spec.rb +31 -68
  352. data/spec/spec_helper.rb +4 -3
  353. data/spec/support/controller_level_helpers.rb +1 -2
  354. data/spec/support/features/search_helpers.rb +39 -0
  355. data/spec/support/features/session_helpers.rb +1 -0
  356. data/spec/support/features.rb +3 -0
  357. data/spec/support/view_component_test_helpers.rb +21 -0
  358. data/spec/test_app_templates/Gemfile.extra +4 -0
  359. data/spec/test_app_templates/lib/generators/test_app_generator.rb +17 -2
  360. data/spec/views/catalog/_document.html.erb_spec.rb +23 -33
  361. data/spec/views/catalog/_document_list.html.erb_spec.rb +7 -2
  362. data/spec/views/catalog/_facet_index_navigation.html.erb_spec.rb +1 -1
  363. data/spec/views/catalog/_search_header.erb_spec.rb +1 -0
  364. data/spec/views/catalog/_show_sidebar.erb_spec.rb +1 -0
  365. data/spec/views/catalog/_show_tools.html.erb_spec.rb +7 -54
  366. data/spec/views/catalog/_view_type_group.html.erb_spec.rb +17 -9
  367. data/spec/views/catalog/email_success.html.erb_spec.rb +2 -2
  368. data/spec/views/catalog/facet.html.erb_spec.rb +6 -3
  369. data/spec/views/catalog/index.atom.builder_spec.rb +18 -11
  370. data/spec/views/catalog/index.html.erb_spec.rb +5 -6
  371. data/spec/views/catalog/index.json.jbuilder_spec.rb +3 -3
  372. data/spec/views/catalog/show.html.erb_spec.rb +3 -25
  373. data/spec/views/catalog/sms_success.html.erb_spec.rb +2 -2
  374. data/tasks/blacklight.rake +7 -5
  375. metadata +95 -123
  376. data/.babelrc +0 -11
  377. data/app/assets/images/blacklight/list.svg +0 -1
  378. data/app/assets/images/blacklight/search.svg +0 -1
  379. data/app/assets/stylesheets/blacklight/_twitter_typeahead.scss +0 -37
  380. data/app/components/blacklight/content_areas_shim.rb +0 -13
  381. data/app/components/blacklight/search_context_component.rb +0 -34
  382. data/app/controllers/concerns/blacklight/base.rb +0 -7
  383. data/app/controllers/concerns/blacklight/default_component_configuration.rb +0 -64
  384. data/app/controllers/concerns/blacklight/facet.rb +0 -69
  385. data/app/controllers/concerns/blacklight/search_fields.rb +0 -46
  386. data/app/helpers/blacklight/hash_as_hidden_fields_helper_behavior.rb +0 -27
  387. data/app/helpers/blacklight/render_constraints_helper_behavior.rb +0 -188
  388. data/app/helpers/blacklight/search_history_constraints_helper_behavior.rb +0 -97
  389. data/app/helpers/blacklight/suggest_helper_behavior.rb +0 -13
  390. data/app/javascript/blacklight/autocomplete.js +0 -36
  391. data/app/javascript/blacklight/facet_load.js +0 -22
  392. data/app/models/concerns/blacklight/document/email.rb +0 -26
  393. data/app/models/concerns/blacklight/document/sms.rb +0 -24
  394. data/app/presenters/blacklight/search_bar_presenter.rb +0 -47
  395. data/app/views/catalog/_constraints_element.html.erb +0 -14
  396. data/app/views/catalog/_document_action.html.erb +0 -5
  397. data/app/views/catalog/_facet_group.html.erb +0 -5
  398. data/app/views/catalog/_facet_limit.html.erb +0 -3
  399. data/app/views/catalog/_index.html.erb +0 -1
  400. data/app/views/catalog/_index_header.html.erb +0 -22
  401. data/app/views/catalog/_previous_next_doc.html.erb +0 -2
  402. data/app/views/catalog/_show.html.erb +0 -6
  403. data/app/views/catalog/_show_header.html.erb +0 -2
  404. data/app/views/catalog/_thumbnail.html.erb +0 -1
  405. data/lib/blacklight/deprecations/engine_configuration.rb +0 -66
  406. data/lib/blacklight/deprecations/search_state_normalization.rb +0 -52
  407. data/spec/controllers/blacklight/facet_spec.rb +0 -33
  408. data/spec/controllers/blacklight/search_fields_spec.rb +0 -62
  409. data/spec/features/sitelinks_search_box.rb +0 -13
  410. data/spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb +0 -26
  411. data/spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb +0 -92
  412. data/spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb +0 -108
  413. data/spec/helpers/blacklight/suggest_helper_behavior_spec.rb +0 -48
  414. data/spec/lib/blacklight/engine_spec.rb +0 -41
  415. data/spec/models/blacklight/document/email_spec.rb +0 -57
  416. data/spec/models/blacklight/document/sms_spec.rb +0 -58
  417. data/spec/presenters/blacklight/search_bar_presenter_spec.rb +0 -94
  418. data/spec/support/view_component_capybara_test_helpers.rb +0 -8
  419. data/spec/views/catalog/_constraints.html.erb_spec.rb +0 -33
  420. data/spec/views/catalog/_facet_group.html.erb_spec.rb +0 -84
  421. data/spec/views/catalog/_facets.html.erb_spec.rb +0 -15
  422. data/spec/views/catalog/_index.html.erb_spec.rb +0 -62
  423. data/spec/views/catalog/_index_header.html.erb_spec.rb +0 -35
  424. data/spec/views/catalog/_previous_next_doc.html.erb_spec.rb +0 -22
  425. data/spec/views/catalog/_show.html.erb_spec.rb +0 -62
  426. data/spec/views/catalog/_thumbnail.html.erb_spec.rb +0 -38
  427. /data/app/components/blacklight/{search_context_component.html.erb → search_context/server_item_pagination_component.html.erb} +0 -0
data/.rubocop_todo.yml CHANGED
@@ -1,164 +1,36 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2020-09-24 02:12:21 UTC using RuboCop version 0.91.1.
3
+ # on 2022-06-27 19:52:51 UTC using RuboCop version 1.31.0.
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
7
7
  # versions of RuboCop, may require this file to be generated again.
8
8
 
9
- # Offense count: 4
10
- # Cop supports --auto-correct.
11
- Capybara/CurrentPathExpectation:
12
- Exclude:
13
- - 'spec/features/alternate_controller_spec.rb'
14
-
15
- # Offense count: 20
16
- Capybara/VisibilityMatcher:
17
- Exclude:
18
- - 'spec/features/facets_spec.rb'
19
- - 'spec/features/search_filters_spec.rb'
20
- - 'spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb'
21
- - 'spec/helpers/blacklight_helper_spec.rb'
22
-
23
- # Offense count: 8
24
- # Cop supports --auto-correct.
25
- # Configuration parameters: EnforcedStyle, IndentOneStep, IndentationWidth.
26
- # SupportedStyles: case, end
27
- Layout/CaseIndentation:
28
- Exclude:
29
- - 'app/helpers/blacklight/catalog_helper_behavior.rb'
30
- - 'app/presenters/blacklight/index_presenter.rb'
31
- - 'lib/blacklight/configuration/fields.rb'
32
-
33
- # Offense count: 2
34
- # Cop supports --auto-correct.
35
- Layout/ClosingParenthesisIndentation:
36
- Exclude:
37
- - 'app/views/catalog/index.atom.builder'
38
-
39
- # Offense count: 111
40
- # Cop supports --auto-correct.
41
- Layout/EmptyLineAfterMagicComment:
42
- Enabled: false
43
-
44
- # Offense count: 1
45
- # Cop supports --auto-correct.
46
- # Configuration parameters: AllowAliasSyntax, AllowedMethods.
47
- # AllowedMethods: alias_method, public, protected, private
48
- Layout/EmptyLinesAroundAttributeAccessor:
49
- Exclude:
50
- - 'app/presenters/blacklight/field_presenter.rb'
51
-
52
- # Offense count: 7
53
- # Cop supports --auto-correct.
54
- # Configuration parameters: AllowForAlignment, AllowBeforeTrailingComments, ForceEqualSignAlignment.
55
- Layout/ExtraSpacing:
56
- Exclude:
57
- - 'app/models/concerns/blacklight/document/dublin_core.rb'
58
- - 'app/models/record_mailer.rb'
59
- - 'app/views/catalog/index.atom.builder'
60
- - 'config/routes.rb'
61
-
62
- # Offense count: 2
63
- # Cop supports --auto-correct.
64
- # Configuration parameters: EnforcedStyle, IndentationWidth.
65
- # SupportedStyles: special_inside_parentheses, consistent, align_braces
66
- Layout/FirstHashElementIndentation:
67
- Exclude:
68
- - 'lib/blacklight/configuration.rb'
69
-
70
- # Offense count: 6
71
- # Cop supports --auto-correct.
72
- # Configuration parameters: AllowDoxygenCommentStyle, AllowGemfileRubyComment.
73
- Layout/LeadingCommentSpace:
74
- Exclude:
75
- - 'app/models/blacklight/facet_paginator.rb'
76
- - 'app/models/concerns/blacklight/configurable.rb'
77
- - 'app/models/concerns/blacklight/document/export.rb'
78
- - 'app/views/catalog/_document.atom.builder'
79
-
80
- # Offense count: 1
81
- # Cop supports --auto-correct.
82
- Layout/MultilineBlockLayout:
83
- Exclude:
84
- - 'lib/generators/blacklight/test_support_generator.rb'
85
-
86
- # Offense count: 2
87
- # Cop supports --auto-correct.
88
- # Configuration parameters: EnforcedStyle.
89
- # SupportedStyles: symmetrical, new_line, same_line
90
- Layout/MultilineMethodCallBraceLayout:
91
- Exclude:
92
- - 'app/views/catalog/index.atom.builder'
93
-
94
- # Offense count: 9
95
- # Cop supports --auto-correct.
96
- # Configuration parameters: EnforcedStyle, IndentationWidth.
97
- # SupportedStyles: aligned, indented, indented_relative_to_receiver
98
- Layout/MultilineMethodCallIndentation:
99
- Exclude:
100
- - 'lib/blacklight/search_builder.rb'
101
-
102
- # Offense count: 9
103
- # Cop supports --auto-correct.
104
- # Configuration parameters: EnforcedStyle, IndentationWidth.
105
- # SupportedStyles: aligned, indented
106
- Layout/MultilineOperationIndentation:
107
- Exclude:
108
- - 'app/helpers/blacklight/search_history_constraints_helper_behavior.rb'
109
- - 'lib/blacklight/configuration/context.rb'
110
- - 'lib/blacklight/search_state.rb'
111
- - 'lib/blacklight/solr/search_builder_behavior.rb'
112
-
113
- # Offense count: 2
114
- # Cop supports --auto-correct.
115
- Layout/SpaceAfterComma:
116
- Exclude:
117
- - 'app/views/catalog/index.atom.builder'
118
- - 'app/views/catalog/opensearch.xml.builder'
119
-
120
- # Offense count: 1
121
- # Cop supports --auto-correct.
122
- # Configuration parameters: AllowForAlignment.
123
- Layout/SpaceBeforeFirstArg:
124
- Exclude:
125
- - 'app/views/catalog/index.atom.builder'
126
-
127
- # Offense count: 7
128
- # Cop supports --auto-correct.
129
- # Configuration parameters: EnforcedStyle.
130
- # SupportedStyles: space, no_space
131
- Layout/SpaceInsideParens:
132
- Exclude:
133
- - 'app/views/catalog/_document.rss.builder'
134
- - 'app/views/catalog/index.atom.builder'
135
-
136
- # Offense count: 1
137
- # Cop supports --auto-correct.
138
- # Configuration parameters: AllowInHeredoc.
139
- Layout/TrailingWhitespace:
9
+ # Offense count: 5
10
+ # Configuration parameters: AutoCorrect.
11
+ Layout/LineContinuationLeadingSpace:
140
12
  Exclude:
141
- - 'lib/blacklight/configuration.rb'
13
+ - 'lib/generators/blacklight/controller_generator.rb'
14
+ - 'lib/generators/blacklight/user_generator.rb'
142
15
 
143
16
  # Offense count: 1
17
+ # Configuration parameters: IgnoredMethods.
144
18
  Lint/AmbiguousBlockAssociation:
145
19
  Exclude:
146
20
  - 'lib/blacklight/solr/search_builder_behavior.rb'
147
21
 
148
- # Offense count: 8
149
- # Cop supports --auto-correct.
22
+ # Offense count: 5
23
+ # This cop supports safe autocorrection (--autocorrect).
150
24
  Lint/AmbiguousOperator:
151
25
  Exclude:
152
- - 'spec/helpers/blacklight/facets_helper_behavior_spec.rb'
153
- - 'spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb'
154
26
  - 'spec/helpers/blacklight/url_helper_behavior_spec.rb'
155
27
  - 'spec/helpers/blacklight_helper_spec.rb'
156
28
  - 'spec/models/blacklight/facet_paginator_spec.rb'
157
29
  - 'spec/models/blacklight/solr/search_builder_spec.rb'
158
30
  - 'spec/services/blacklight/search_service_spec.rb'
159
31
 
160
- # Offense count: 55
161
- # Cop supports --auto-correct.
32
+ # Offense count: 44
33
+ # This cop supports safe autocorrection (--autocorrect).
162
34
  Lint/AmbiguousRegexpLiteral:
163
35
  Exclude:
164
36
  - 'spec/controllers/catalog_controller_spec.rb'
@@ -169,19 +41,52 @@ Lint/AmbiguousRegexpLiteral:
169
41
  - 'spec/views/catalog/_document.html.erb_spec.rb'
170
42
  - 'spec/views/catalog/_search_header.erb_spec.rb'
171
43
  - 'spec/views/catalog/_sort_and_per_page.html.erb_spec.rb'
172
- - 'spec/views/catalog/_thumbnail.html.erb_spec.rb'
173
44
  - 'spec/views/catalog/index.html.erb_spec.rb'
174
45
  - 'spec/views/catalog/show.html.erb_spec.rb'
175
46
 
47
+ # Offense count: 1
48
+ Lint/BinaryOperatorWithIdenticalOperands:
49
+ Exclude:
50
+ - 'spec/models/blacklight/document/active_model_shim_spec.rb'
51
+
52
+ # Offense count: 14
53
+ # Configuration parameters: AllowedMethods.
54
+ # AllowedMethods: enums
55
+ Lint/ConstantDefinitionInBlock:
56
+ Exclude:
57
+ - 'spec/controllers/bookmarks_controller_spec.rb'
58
+ - 'spec/controllers/catalog_controller_spec.rb'
59
+ - 'spec/models/blacklight/configurable_spec.rb'
60
+ - 'spec/models/blacklight/document/active_model_shim_spec.rb'
61
+ - 'spec/models/blacklight/document_spec.rb'
62
+ - 'spec/models/blacklight/solr/document_spec.rb'
63
+ - 'spec/presenters/blacklight/show_presenter_spec.rb'
64
+
65
+ # Offense count: 2
66
+ # Configuration parameters: AllowComments, AllowEmptyLambdas.
67
+ Lint/EmptyBlock:
68
+ Exclude:
69
+ - 'app/controllers/concerns/blacklight/bookmarks.rb'
70
+ - 'lib/blacklight/solr/search_builder_behavior.rb'
71
+
72
+ # Offense count: 1
73
+ # Configuration parameters: AllowComments.
74
+ Lint/EmptyFile:
75
+ Exclude:
76
+ - 'spec/components/blacklight/document_metadata_component_spec.rb'
77
+
78
+ # Offense count: 38
79
+ Lint/MissingSuper:
80
+ Enabled: false
81
+
176
82
  # Offense count: 29
177
- # Cop supports --auto-correct.
83
+ # This cop supports safe autocorrection (--autocorrect).
178
84
  Lint/ParenthesesAsGroupedExpression:
179
85
  Exclude:
180
86
  - 'spec/features/did_you_mean_spec.rb'
181
87
  - 'spec/features/search_filters_spec.rb'
182
88
  - 'spec/features/search_pagination_spec.rb'
183
89
  - 'spec/features/search_spec.rb'
184
- - 'spec/lib/blacklight/search_state_spec.rb'
185
90
  - 'spec/models/blacklight/solr/repository_spec.rb'
186
91
 
187
92
  # Offense count: 2
@@ -189,63 +94,57 @@ Lint/ShadowingOuterLocalVariable:
189
94
  Exclude:
190
95
  - 'spec/models/blacklight/configuration_spec.rb'
191
96
 
192
- # Offense count: 57
193
- # Configuration parameters: IgnoredMethods.
97
+ # Offense count: 74
98
+ # Configuration parameters: IgnoredMethods, CountRepeatedAttributes.
194
99
  Metrics/AbcSize:
195
- Max: 59
100
+ Max: 46
196
101
 
197
- # Offense count: 2
198
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
199
- # ExcludedMethods: refine
102
+ # Offense count: 1
103
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods, inherit_mode.
104
+ # IgnoredMethods: refine
200
105
  Metrics/BlockLength:
201
- Max: 30
106
+ Max: 26
202
107
 
203
108
  # Offense count: 1
204
109
  # Configuration parameters: CountBlocks.
205
110
  Metrics/BlockNesting:
206
111
  Max: 4
207
112
 
208
- # Offense count: 2
209
- # Configuration parameters: CountComments, CountAsOne.
210
- Metrics/ClassLength:
211
- Max: 169
212
-
213
- # Offense count: 26
113
+ # Offense count: 43
214
114
  # Configuration parameters: IgnoredMethods.
215
115
  Metrics/CyclomaticComplexity:
216
116
  Max: 14
217
117
 
218
- # Offense count: 61
219
- # Configuration parameters: CountComments, CountAsOne, ExcludedMethods.
118
+ # Offense count: 69
119
+ # Configuration parameters: CountComments, CountAsOne, ExcludedMethods, IgnoredMethods.
220
120
  Metrics/MethodLength:
221
- Max: 30
121
+ Max: 29
222
122
 
223
- # Offense count: 8
123
+ # Offense count: 3
224
124
  # Configuration parameters: CountComments, CountAsOne.
225
125
  Metrics/ModuleLength:
226
- Max: 213
126
+ Max: 126
227
127
 
228
- # Offense count: 3
229
- # Configuration parameters: CountKeywordArgs.
128
+ # Offense count: 8
129
+ # Configuration parameters: CountKeywordArgs, MaxOptionalParameters.
230
130
  Metrics/ParameterLists:
231
131
  Max: 6
232
132
 
233
- # Offense count: 22
133
+ # Offense count: 36
234
134
  # Configuration parameters: IgnoredMethods.
235
135
  Metrics/PerceivedComplexity:
236
- Max: 16
136
+ Max: 14
237
137
 
238
- # Offense count: 4
138
+ # Offense count: 3
239
139
  # Configuration parameters: EnforcedStyleForLeadingUnderscores.
240
140
  # SupportedStylesForLeadingUnderscores: disallowed, required, optional
241
141
  Naming/MemoizedInstanceVariableName:
242
142
  Exclude:
243
- - 'app/helpers/blacklight/blacklight_helper_behavior.rb'
244
143
  - 'app/helpers/blacklight/render_partials_helper_behavior.rb'
245
144
  - 'app/models/concerns/blacklight/document/semantic_fields.rb'
246
145
  - 'lib/blacklight/solr/response.rb'
247
146
 
248
- # Offense count: 13
147
+ # Offense count: 9
249
148
  # Configuration parameters: MinNameLength, AllowNamesEndingInNumbers, AllowedNames, ForbiddenNames.
250
149
  # AllowedNames: at, by, db, id, in, io, ip, of, on, os, pp, to
251
150
  Naming/MethodParameterName:
@@ -253,80 +152,89 @@ Naming/MethodParameterName:
253
152
  - 'app/models/concerns/blacklight/document.rb'
254
153
  - 'app/presenters/blacklight/rendering/link_to_facet.rb'
255
154
  - 'lib/blacklight/nested_open_struct_with_hash_access.rb'
256
- - 'lib/blacklight/search_state.rb'
257
155
  - 'lib/blacklight/solr/document.rb'
258
156
  - 'lib/blacklight/solr/search_builder_behavior.rb'
259
- - 'spec/features/search_context_spec.rb'
260
- - 'spec/features/search_results_spec.rb'
261
157
 
262
- # Offense count: 14
263
- # Configuration parameters: EnforcedStyle.
158
+ # Offense count: 9
159
+ # Configuration parameters: EnforcedStyle, CheckMethodNames, CheckSymbols, AllowedIdentifiers, AllowedPatterns.
264
160
  # SupportedStyles: snake_case, normalcase, non_integer
161
+ # AllowedIdentifiers: capture3, iso8601, rfc1123_date, rfc822, rfc2822, rfc3339
265
162
  Naming/VariableNumber:
266
163
  Exclude:
267
- - 'spec/views/catalog/_index.html.erb_spec.rb'
268
- - 'spec/views/catalog/_show.html.erb_spec.rb'
164
+ - 'spec/lib/blacklight/search_state_spec.rb'
165
+ - 'spec/models/blacklight/search_builder_spec.rb'
269
166
 
270
- # Offense count: 9
167
+ # Offense count: 7
271
168
  RSpec/BeforeAfterAll:
272
169
  Exclude:
273
- - 'spec/spec_helper.rb'
274
- - 'spec/rails_helper.rb'
275
- - 'spec/support/**/*.rb'
276
- - 'spec/controllers/blacklight/search_fields_spec.rb'
277
170
  - 'spec/controllers/search_history_controller_spec.rb'
278
- - 'spec/helpers/blacklight/search_history_constraints_helper_behavior_spec.rb'
279
171
  - 'spec/models/blacklight/configurable_spec.rb'
280
172
  - 'spec/models/blacklight/document/dublin_core_spec.rb'
281
173
  - 'spec/models/blacklight/document/email_spec.rb'
282
174
  - 'spec/models/blacklight/document/sms_spec.rb'
283
175
  - 'spec/models/blacklight/solr/document_spec.rb'
284
176
 
285
- # Offense count: 81
177
+ # Offense count: 4
178
+ # This cop supports safe autocorrection (--autocorrect).
179
+ RSpec/Capybara/CurrentPathExpectation:
180
+ Exclude:
181
+ - 'spec/features/alternate_controller_spec.rb'
182
+
183
+ # Offense count: 13
184
+ RSpec/Capybara/VisibilityMatcher:
185
+ Exclude:
186
+ - 'spec/features/facets_spec.rb'
187
+ - 'spec/features/search_filters_spec.rb'
188
+ - 'spec/helpers/blacklight_helper_spec.rb'
189
+
190
+ # Offense count: 98
286
191
  # Configuration parameters: Prefixes.
287
192
  # Prefixes: when, with, without
288
193
  RSpec/ContextWording:
289
194
  Enabled: false
290
195
 
291
- # Offense count: 42
292
- RSpec/DescribeClass:
293
- Enabled: false
294
-
295
- # Offense count: 2
296
- # Configuration parameters: CustomIncludeMethods.
196
+ # Offense count: 1
297
197
  RSpec/EmptyExampleGroup:
298
198
  Exclude:
299
- - 'spec/helpers/blacklight_helper_spec.rb'
300
199
  - 'spec/models/blacklight/solr/search_builder_spec.rb'
301
200
 
302
- # Offense count: 134
303
- # Configuration parameters: Max.
201
+ # Offense count: 128
202
+ # Configuration parameters: CountAsOne.
304
203
  RSpec/ExampleLength:
305
- Enabled: false
204
+ Max: 33
306
205
 
307
- # Offense count: 15
206
+ # Offense count: 8
308
207
  RSpec/ExpectInHook:
309
208
  Exclude:
310
209
  - 'spec/controllers/catalog_controller_spec.rb'
311
- - 'spec/helpers/blacklight/configuration_helper_behavior_spec.rb'
312
- - 'spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb'
313
- - 'spec/helpers/blacklight/suggest_helper_behavior_spec.rb'
314
- - 'spec/helpers/catalog_helper_spec.rb'
315
210
 
316
211
  # Offense count: 5
317
- # Configuration parameters: CustomTransform, IgnoreMethods, SpecSuffixOnly.
212
+ # Configuration parameters: Include, CustomTransform, IgnoreMethods, SpecSuffixOnly.
213
+ # Include: **/*_spec*rb*, **/spec/**/*
318
214
  RSpec/FilePath:
319
215
  Exclude:
320
216
  - 'spec/controllers/blacklight/catalog/component_configuration_spec.rb'
321
- - 'spec/helpers/blacklight/hash_as_hidden_fields_behavior_spec.rb'
217
+ - 'spec/features/sitelinks_search_box.rb'
322
218
  - 'spec/models/blacklight/solr/search_builder_spec.rb'
323
219
  - 'spec/presenters/pipeline_spec.rb'
324
220
  - 'spec/presenters/thumbnail_presenter_spec.rb'
325
221
 
326
- # Offense count: 191
222
+ # Offense count: 128
327
223
  # Configuration parameters: AssignmentOnly.
328
224
  RSpec/InstanceVariable:
329
- Enabled: false
225
+ Exclude:
226
+ - 'spec/controllers/bookmarks_controller_spec.rb'
227
+ - 'spec/controllers/search_history_controller_spec.rb'
228
+ - 'spec/helpers/catalog_helper_spec.rb'
229
+ - 'spec/lib/blacklight/open_struct_with_hash_access_spec.rb'
230
+ - 'spec/lib/tasks/blacklight_task_spec.rb'
231
+ - 'spec/models/blacklight/configuration_spec.rb'
232
+ - 'spec/models/blacklight/document/dublin_core_spec.rb'
233
+ - 'spec/models/blacklight/solr/document_spec.rb'
234
+ - 'spec/models/record_mailer_spec.rb'
235
+ - 'spec/models/search_spec.rb'
236
+ - 'spec/services/blacklight/search_service_spec.rb'
237
+ - 'spec/views/catalog/index.atom.builder_spec.rb'
330
238
 
331
239
  # Offense count: 4
332
240
  RSpec/IteratedExpectation:
@@ -335,10 +243,9 @@ RSpec/IteratedExpectation:
335
243
  - 'spec/models/blacklight/solr/response/group_spec.rb'
336
244
  - 'spec/models/blacklight/solr/response_spec.rb'
337
245
 
338
- # Offense count: 17
246
+ # Offense count: 16
339
247
  RSpec/LeakyConstantDeclaration:
340
248
  Exclude:
341
- - 'spec/controllers/blacklight/search_fields_spec.rb'
342
249
  - 'spec/controllers/bookmarks_controller_spec.rb'
343
250
  - 'spec/controllers/catalog_controller_spec.rb'
344
251
  - 'spec/models/blacklight/configurable_spec.rb'
@@ -347,55 +254,50 @@ RSpec/LeakyConstantDeclaration:
347
254
  - 'spec/models/blacklight/solr/document_spec.rb'
348
255
  - 'spec/presenters/blacklight/show_presenter_spec.rb'
349
256
 
350
- # Offense count: 8
257
+ # Offense count: 9
351
258
  RSpec/MessageChain:
352
259
  Exclude:
353
260
  - 'spec/controllers/bookmarks_controller_spec.rb'
354
261
  - 'spec/presenters/blacklight/field_presenter_spec.rb'
355
262
  - 'spec/views/shared/_user_util_links.html.erb_spec.rb'
356
263
 
357
- # Offense count: 61
264
+ # Offense count: 30
358
265
  # Configuration parameters: EnforcedStyle.
359
266
  # SupportedStyles: have_received, receive
360
267
  RSpec/MessageSpies:
361
268
  Exclude:
362
269
  - 'spec/controllers/catalog_controller_spec.rb'
363
270
  - 'spec/helpers/blacklight/configuration_helper_behavior_spec.rb'
364
- - 'spec/helpers/blacklight/facets_helper_behavior_spec.rb'
365
- - 'spec/helpers/blacklight/render_constraints_helper_behavior_spec.rb'
366
- - 'spec/helpers/blacklight/suggest_helper_behavior_spec.rb'
367
271
  - 'spec/helpers/blacklight/url_helper_behavior_spec.rb'
368
272
  - 'spec/helpers/blacklight_helper_spec.rb'
369
273
  - 'spec/helpers/catalog_helper_spec.rb'
370
- - 'spec/lib/blacklight/configuration/facet_field_spec.rb'
371
274
  - 'spec/models/blacklight/search_builder_spec.rb'
372
275
  - 'spec/models/blacklight/suggest_search_spec.rb'
373
276
  - 'spec/presenters/blacklight/field_presenter_spec.rb'
374
277
  - 'spec/presenters/thumbnail_presenter_spec.rb'
375
278
 
376
- # Offense count: 363
279
+ # Offense count: 364
377
280
  RSpec/MultipleExpectations:
378
281
  Max: 16
379
282
 
380
- # Offense count: 160
283
+ # Offense count: 258
381
284
  # Configuration parameters: AllowSubject.
382
285
  RSpec/MultipleMemoizedHelpers:
383
286
  Max: 14
384
287
 
385
- # Offense count: 337
288
+ # Offense count: 388
386
289
  # Configuration parameters: IgnoreSharedExamples.
387
290
  RSpec/NamedSubject:
388
291
  Enabled: false
389
292
 
390
- # Offense count: 40
293
+ # Offense count: 55
391
294
  RSpec/NestedGroups:
392
295
  Max: 5
393
296
 
394
- # Offense count: 11
297
+ # Offense count: 6
395
298
  RSpec/RepeatedDescription:
396
299
  Exclude:
397
300
  - 'spec/features/search_results_spec.rb'
398
- - 'spec/helpers/blacklight/facets_helper_behavior_spec.rb'
399
301
  - 'spec/helpers/catalog_helper_spec.rb'
400
302
  - 'spec/models/blacklight/solr/search_builder_spec.rb'
401
303
 
@@ -404,80 +306,98 @@ RSpec/RepeatedExample:
404
306
  Exclude:
405
307
  - 'spec/models/blacklight/solr/document_spec.rb'
406
308
 
407
- # Offense count: 4
309
+ # Offense count: 2
408
310
  RSpec/RepeatedExampleGroupDescription:
409
311
  Exclude:
410
- - 'spec/helpers/blacklight/facets_helper_behavior_spec.rb'
411
312
  - 'spec/services/blacklight/search_service_spec.rb'
412
313
 
413
- # Offense count: 4
414
- # Cop supports --auto-correct.
314
+ # Offense count: 3
315
+ # This cop supports safe autocorrection (--autocorrect).
415
316
  RSpec/ScatteredLet:
416
317
  Exclude:
417
- - 'spec/helpers/catalog_helper_spec.rb'
418
318
  - 'spec/models/blacklight/solr/search_builder_spec.rb'
419
319
  - 'spec/views/catalog/index.atom.builder_spec.rb'
420
320
 
421
- # Offense count: 13
321
+ # Offense count: 22
322
+ RSpec/StubbedMock:
323
+ Exclude:
324
+ - 'spec/controllers/catalog_controller_spec.rb'
325
+ - 'spec/helpers/blacklight/configuration_helper_behavior_spec.rb'
326
+ - 'spec/helpers/blacklight/url_helper_behavior_spec.rb'
327
+ - 'spec/helpers/blacklight_helper_spec.rb'
328
+ - 'spec/helpers/catalog_helper_spec.rb'
329
+ - 'spec/models/blacklight/suggest_search_spec.rb'
330
+ - 'spec/presenters/blacklight/field_presenter_spec.rb'
331
+ - 'spec/presenters/thumbnail_presenter_spec.rb'
332
+
333
+ # Offense count: 1
334
+ RSpec/SubjectDeclaration:
335
+ Exclude:
336
+ - 'spec/models/blacklight/document/cache_key_spec.rb'
337
+
338
+ # Offense count: 15
422
339
  RSpec/SubjectStub:
423
340
  Exclude:
424
341
  - 'spec/controllers/catalog_controller_spec.rb'
425
342
  - 'spec/lib/blacklight/search_state_spec.rb'
426
343
  - 'spec/models/blacklight/document/cache_key_spec.rb'
427
344
  - 'spec/models/blacklight/search_builder_spec.rb'
345
+ - 'spec/presenters/blacklight/document_presenter_spec.rb'
428
346
  - 'spec/services/blacklight/search_service_spec.rb'
429
347
 
430
- # Offense count: 121
348
+ # Offense count: 77
431
349
  # Configuration parameters: IgnoreNameless, IgnoreSymbolicNames.
432
350
  RSpec/VerifiedDoubles:
433
351
  Enabled: false
434
352
 
435
- # Offense count: 1
436
- RSpec/VoidExpect:
437
- Exclude:
438
- - 'spec/lib/blacklight/configuration/facet_field_spec.rb'
439
-
440
- # Offense count: 8
441
- # Cop supports --auto-correct.
442
- Rails/ContentTag:
443
- Exclude:
444
- - 'app/components/blacklight/document_component.rb'
445
- - 'app/components/blacklight/facet_item_pivot_component.rb'
446
-
447
353
  # Offense count: 4
448
- # Configuration parameters: EnforcedStyle.
354
+ # Configuration parameters: EnforcedStyle, AllowToTime.
449
355
  # SupportedStyles: strict, flexible
450
356
  Rails/Date:
451
357
  Exclude:
452
358
  - 'spec/models/search_spec.rb'
453
359
 
454
- # Offense count: 31
360
+ # Offense count: 1
361
+ # Configuration parameters: EnforcedStyle.
362
+ # SupportedStyles: slashes, arguments
363
+ Rails/FilePath:
364
+ Exclude:
365
+ - 'lib/railties/blacklight.rake'
366
+
367
+ # Offense count: 20
455
368
  # Configuration parameters: Include.
456
369
  # Include: app/helpers/**/*.rb
457
370
  Rails/HelperInstanceVariable:
458
371
  Exclude:
459
372
  - 'app/helpers/blacklight/blacklight_helper_behavior.rb'
460
373
  - 'app/helpers/blacklight/catalog_helper_behavior.rb'
374
+ - 'app/helpers/blacklight/document_helper_behavior.rb'
461
375
  - 'app/helpers/blacklight/component_helper_behavior.rb'
462
- - 'app/helpers/blacklight/facets_helper_behavior.rb'
376
+ - 'app/helpers/blacklight/layout_helper_behavior.rb'
463
377
  - 'app/helpers/blacklight/render_partials_helper_behavior.rb'
464
378
 
465
- # Offense count: 11
379
+ # Offense count: 2
380
+ # Configuration parameters: Include.
381
+ # Include: spec/**/*.rb, test/**/*.rb
382
+ Rails/I18nLocaleAssignment:
383
+ Exclude:
384
+ - 'spec/helpers/blacklight_helper_spec.rb'
385
+
386
+ # Offense count: 10
466
387
  Rails/OutputSafety:
467
388
  Exclude:
389
+ - 'app/components/blacklight/search_context/server_item_pagination_component.rb'
468
390
  - 'app/helpers/blacklight/catalog_helper_behavior.rb'
469
391
  - 'app/helpers/blacklight/configuration_helper_behavior.rb'
470
- - 'app/helpers/blacklight/icon_helper_behavior.rb'
471
- - 'app/helpers/blacklight/url_helper_behavior.rb'
472
392
  - 'app/presenters/blacklight/rendering/join.rb'
473
393
 
474
- # Offense count: 13
394
+ # Offense count: 14
475
395
  Security/Eval:
476
396
  Exclude:
477
397
  - 'spec/models/blacklight/solr/response_spec.rb'
478
398
 
479
399
  # Offense count: 9
480
- # Cop supports --auto-correct.
400
+ # This cop supports safe autocorrection (--autocorrect).
481
401
  # Configuration parameters: EnforcedStyle.
482
402
  # SupportedStyles: prefer_alias, prefer_alias_method
483
403
  Style/Alias:
@@ -490,7 +410,7 @@ Style/Alias:
490
410
  - 'lib/blacklight/solr/response/group_response.rb'
491
411
 
492
412
  # Offense count: 3
493
- # Cop supports --auto-correct.
413
+ # This cop supports safe autocorrection (--autocorrect).
494
414
  # Configuration parameters: EnforcedStyle, ProceduralMethods, FunctionalMethods, IgnoredMethods, AllowBracesOnProceduralOneLiners, BracesRequiredMethods.
495
415
  # SupportedStyles: line_count_based, semantic, braces_for_chaining, always_braces
496
416
  # ProceduralMethods: benchmark, bm, bmbm, create, each_with_object, measure, new, realtime, tap, with_object
@@ -501,33 +421,41 @@ Style/BlockDelimiters:
501
421
  - 'app/views/catalog/index.rss.builder'
502
422
  - 'app/views/catalog/opensearch.xml.builder'
503
423
 
504
- # Offense count: 51
505
- # Cop supports --auto-correct.
424
+ # Offense count: 52
425
+ # This cop supports unsafe autocorrection (--autocorrect-all).
506
426
  # Configuration parameters: EnforcedStyle.
507
427
  # SupportedStyles: nested, compact
508
428
  Style/ClassAndModuleChildren:
509
429
  Enabled: false
510
430
 
511
431
  # Offense count: 6
432
+ # This cop supports unsafe autocorrection (--autocorrect-all).
512
433
  Style/CommentedKeyword:
513
434
  Exclude:
514
435
  - 'spec/controllers/catalog_controller_spec.rb'
515
436
  - 'spec/services/blacklight/search_service_spec.rb'
516
437
 
517
438
  # Offense count: 1
518
- # Cop supports --auto-correct.
439
+ # This cop supports safe autocorrection (--autocorrect).
519
440
  # Configuration parameters: EnforcedStyle, SingleLineConditionsOnly, IncludeTernaryExpressions.
520
441
  # SupportedStyles: assign_to_condition, assign_inside_condition
521
442
  Style/ConditionalAssignment:
522
443
  Exclude:
523
444
  - 'lib/blacklight/solr/response/spelling.rb'
524
445
 
446
+ # Offense count: 2
447
+ Style/DocumentDynamicEvalDefinition:
448
+ Exclude:
449
+ - 'app/builders/blacklight/action_builder.rb'
450
+ - 'lib/blacklight/configuration/fields.rb'
451
+
525
452
  # Offense count: 105
453
+ # Configuration parameters: AllowedConstants.
526
454
  Style/Documentation:
527
455
  Enabled: false
528
456
 
529
457
  # Offense count: 10
530
- # Cop supports --auto-correct.
458
+ # This cop supports safe autocorrection (--autocorrect).
531
459
  Style/ExpandPathArguments:
532
460
  Exclude:
533
461
  - 'Gemfile'
@@ -542,14 +470,14 @@ Style/ExpandPathArguments:
542
470
  - 'lib/generators/blacklight/user_generator.rb'
543
471
 
544
472
  # Offense count: 16
545
- # Configuration parameters: EnforcedStyle.
473
+ # This cop supports safe autocorrection (--autocorrect).
474
+ # Configuration parameters: MaxUnannotatedPlaceholdersAllowed, IgnoredMethods.
546
475
  # SupportedStyles: annotated, template, unannotated
547
476
  Style/FormatStringToken:
548
- Exclude:
549
- - 'app/helpers/blacklight/render_partials_helper_behavior.rb'
477
+ EnforcedStyle: template
550
478
 
551
- # Offense count: 8
552
- # Configuration parameters: MinBodyLength.
479
+ # Offense count: 6
480
+ # Configuration parameters: MinBodyLength, AllowConsecutiveConditionals.
553
481
  Style/GuardClause:
554
482
  Exclude:
555
483
  - 'app/controllers/concerns/blacklight/bookmarks.rb'
@@ -558,13 +486,13 @@ Style/GuardClause:
558
486
  - 'app/helpers/blacklight/catalog_helper_behavior.rb'
559
487
  - 'lib/blacklight/solr/search_builder_behavior.rb'
560
488
 
561
- # Offense count: 39
562
- # Cop supports --auto-correct.
489
+ # Offense count: 30
490
+ # This cop supports safe autocorrection (--autocorrect).
563
491
  Style/IfUnlessModifier:
564
492
  Enabled: false
565
493
 
566
- # Offense count: 5
567
- # Cop supports --auto-correct.
494
+ # Offense count: 6
495
+ # This cop supports safe autocorrection (--autocorrect).
568
496
  Style/MultilineIfModifier:
569
497
  Exclude:
570
498
  - 'app/views/catalog/index.atom.builder'
@@ -572,12 +500,14 @@ Style/MultilineIfModifier:
572
500
  - 'lib/blacklight/solr/search_builder_behavior.rb'
573
501
 
574
502
  # Offense count: 1
503
+ # This cop supports safe autocorrection (--autocorrect).
504
+ # Configuration parameters: AllowMethodComparison.
575
505
  Style/MultipleComparison:
576
506
  Exclude:
577
507
  - 'lib/blacklight/configuration/context.rb'
578
508
 
579
509
  # Offense count: 2
580
- # Cop supports --auto-correct.
510
+ # This cop supports unsafe autocorrection (--autocorrect-all).
581
511
  # Configuration parameters: EnforcedStyle.
582
512
  # SupportedStyles: literals, strict
583
513
  Style/MutableConstant:
@@ -585,12 +515,11 @@ Style/MutableConstant:
585
515
  - 'lib/blacklight/solr/request.rb'
586
516
 
587
517
  # Offense count: 9
588
- # Cop supports --auto-correct.
518
+ # This cop supports unsafe autocorrection (--autocorrect-all).
589
519
  # Configuration parameters: EnforcedStyle, IgnoredMethods.
590
520
  # SupportedStyles: predicate, comparison
591
521
  Style/NumericPredicate:
592
522
  Exclude:
593
- - 'spec/**/*'
594
523
  - 'app/helpers/blacklight/catalog_helper_behavior.rb'
595
524
  - 'app/services/blacklight/search_service.rb'
596
525
  - 'lib/blacklight/search_builder.rb'
@@ -599,15 +528,26 @@ Style/NumericPredicate:
599
528
  - 'lib/blacklight/solr/search_builder_behavior.rb'
600
529
  - 'lib/railties/blacklight.rake'
601
530
 
602
- # Offense count: 3
603
- # Cop supports --auto-correct.
531
+ # Offense count: 15
532
+ Style/OpenStructUse:
533
+ Exclude:
534
+ - 'lib/blacklight/configuration.rb'
535
+ - 'lib/blacklight/open_struct_with_hash_access.rb'
536
+ - 'lib/blacklight/solr/response/facets.rb'
537
+ - 'spec/components/blacklight/facet_item_pivot_component_spec.rb'
538
+ - 'spec/lib/blacklight/search_state/filter_field_spec.rb'
539
+ - 'spec/models/blacklight/configuration_spec.rb'
540
+ - 'spec/models/blacklight/solr/response_spec.rb'
541
+
542
+ # Offense count: 1
543
+ # This cop supports safe autocorrection (--autocorrect).
604
544
  # Configuration parameters: AllowSafeAssignment, AllowInMultilineConditions.
605
545
  Style/ParenthesesAroundCondition:
606
546
  Exclude:
607
547
  - 'app/views/catalog/_document.atom.builder'
608
548
 
609
549
  # Offense count: 3
610
- # Cop supports --auto-correct.
550
+ # This cop supports safe autocorrection (--autocorrect).
611
551
  # Configuration parameters: PreferredDelimiters.
612
552
  Style/PercentLiteralDelimiters:
613
553
  Exclude:
@@ -615,7 +555,7 @@ Style/PercentLiteralDelimiters:
615
555
  - 'lib/blacklight/solr/request.rb'
616
556
 
617
557
  # Offense count: 7
618
- # Cop supports --auto-correct.
558
+ # This cop supports safe autocorrection (--autocorrect).
619
559
  # Configuration parameters: EnforcedStyle.
620
560
  # SupportedStyles: implicit, explicit
621
561
  Style/RescueStandardError:
@@ -625,9 +565,9 @@ Style/RescueStandardError:
625
565
  - 'lib/blacklight/configuration/fields.rb'
626
566
  - 'lib/railties/blacklight.rake'
627
567
 
628
- # Offense count: 12
629
- # Cop supports --auto-correct.
630
- # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods.
568
+ # Offense count: 11
569
+ # This cop supports unsafe autocorrection (--autocorrect-all).
570
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, AllowedMethods, MaxChainLength.
631
571
  # AllowedMethods: present?, blank?, presence, try, try!
632
572
  Style/SafeNavigation:
633
573
  Exclude:
@@ -637,19 +577,25 @@ Style/SafeNavigation:
637
577
  - 'lib/blacklight.rb'
638
578
  - 'lib/blacklight/configuration/facet_field.rb'
639
579
  - 'lib/blacklight/configuration/search_field.rb'
640
- - 'lib/blacklight/search_state.rb'
641
580
  - 'lib/blacklight/solr/search_builder_behavior.rb'
642
581
 
643
- # Offense count: 3
644
- # Cop supports --auto-correct.
582
+ # Offense count: 6
583
+ # This cop supports safe autocorrection (--autocorrect).
645
584
  # Configuration parameters: AllowAsExpressionSeparator.
646
585
  Style/Semicolon:
647
586
  Exclude:
648
587
  - 'spec/models/blacklight/solr/repository_spec.rb'
649
588
  - 'spec/views/catalog/_paginate_compact.html.erb_spec.rb'
650
589
 
651
- # Offense count: 31
652
- # Cop supports --auto-correct.
590
+ # Offense count: 1
591
+ # This cop supports safe autocorrection (--autocorrect).
592
+ # Configuration parameters: AllowModifier.
593
+ Style/SoleNestedConditional:
594
+ Exclude:
595
+ - 'app/controllers/concerns/blacklight/controller.rb'
596
+
597
+ # Offense count: 34
598
+ # This cop supports safe autocorrection (--autocorrect).
653
599
  # Configuration parameters: MinSize.
654
600
  # SupportedStyles: percent, brackets
655
601
  Style/SymbolArray: