arclight 0.5.0 → 1.0.0.beta1

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 (216) hide show
  1. checksums.yaml +4 -4
  2. data/.eslintrc +11 -4
  3. data/.github/workflows/ruby.yml +24 -11
  4. data/.rspec +0 -1
  5. data/.rubocop.yml +286 -2
  6. data/.rubocop_todo.yml +18 -195
  7. data/CONTRIBUTING.md +5 -5
  8. data/Gemfile +12 -12
  9. data/README.md +18 -12
  10. data/app/assets/javascripts/arclight/arclight.js +3 -7
  11. data/app/assets/javascripts/arclight/oembed_viewer.js +64 -39
  12. data/app/assets/javascripts/arclight/truncate_controller.js +27 -0
  13. data/app/assets/stylesheets/arclight/application.scss +1 -5
  14. data/app/assets/stylesheets/arclight/modules/hierarchy_and_online_contents.scss +104 -130
  15. data/app/assets/stylesheets/arclight/modules/icons.scss +14 -3
  16. data/app/assets/stylesheets/arclight/modules/layout.scss +120 -100
  17. data/app/assets/stylesheets/arclight/modules/mastheads.scss +15 -57
  18. data/app/assets/stylesheets/arclight/modules/repositories.scss +2 -2
  19. data/app/assets/stylesheets/arclight/modules/repository_card.scss +4 -48
  20. data/app/assets/stylesheets/arclight/modules/search_results.scss +86 -35
  21. data/app/assets/stylesheets/arclight/modules/show_collection.scss +5 -32
  22. data/app/assets/stylesheets/arclight/modules/truncator.scss +56 -0
  23. data/app/assets/stylesheets/arclight/variables.scss +7 -4
  24. data/app/components/arclight/access_component.html.erb +14 -0
  25. data/app/components/arclight/access_component.rb +25 -0
  26. data/app/components/arclight/bookmark_component.html.erb +25 -0
  27. data/app/components/arclight/bookmark_component.rb +9 -0
  28. data/app/components/arclight/breadcrumb_component.rb +40 -0
  29. data/app/components/arclight/breadcrumbs_hierarchy_component.html.erb +34 -0
  30. data/app/components/arclight/breadcrumbs_hierarchy_component.rb +25 -0
  31. data/app/components/arclight/collection_context_component.html.erb +12 -0
  32. data/app/components/arclight/collection_context_component.rb +27 -0
  33. data/app/components/arclight/collection_info_component.html.erb +28 -0
  34. data/app/components/arclight/collection_info_component.rb +26 -0
  35. data/app/components/arclight/collection_sidebar_component.html.erb +15 -0
  36. data/app/components/arclight/collection_sidebar_component.rb +41 -0
  37. data/app/{views/catalog/_search_results_repository.html.erb → components/arclight/constraints_component.html.erb} +2 -1
  38. data/app/components/arclight/constraints_component.rb +17 -0
  39. data/app/components/arclight/document_collection_context_component.html.erb +29 -0
  40. data/app/components/arclight/document_collection_context_component.rb +28 -0
  41. data/app/components/arclight/document_collection_hierarchy_component.html.erb +46 -0
  42. data/app/components/arclight/document_collection_hierarchy_component.rb +62 -0
  43. data/app/components/arclight/document_component.html.erb +39 -0
  44. data/app/components/arclight/document_component.rb +49 -0
  45. data/app/components/arclight/document_components_hierarchy_component.html.erb +32 -0
  46. data/app/components/arclight/document_components_hierarchy_component.rb +28 -0
  47. data/app/components/arclight/document_download_component.html.erb +24 -0
  48. data/app/components/arclight/document_download_component.rb +71 -0
  49. data/app/components/arclight/embed_component.html.erb +10 -0
  50. data/app/components/arclight/embed_component.rb +43 -0
  51. data/app/components/arclight/group_component.html.erb +30 -0
  52. data/app/components/arclight/group_component.rb +23 -0
  53. data/app/components/arclight/header_component.html.erb +5 -0
  54. data/app/components/arclight/header_component.rb +10 -0
  55. data/app/components/arclight/index_metadata_field_component.html.erb +17 -0
  56. data/app/components/arclight/index_metadata_field_component.rb +20 -0
  57. data/app/components/arclight/masthead_component.html.erb +15 -0
  58. data/app/components/arclight/masthead_component.rb +10 -0
  59. data/app/components/arclight/metadata_section_component.html.erb +13 -0
  60. data/app/components/arclight/metadata_section_component.rb +22 -0
  61. data/app/components/arclight/oembed_viewer_component.html.erb +5 -0
  62. data/app/components/arclight/oembed_viewer_component.rb +16 -0
  63. data/app/components/arclight/online_content_filter_component.html.erb +15 -0
  64. data/app/components/arclight/online_content_filter_component.rb +19 -0
  65. data/app/components/arclight/online_status_indicator_component.rb +19 -0
  66. data/app/components/arclight/repository_breadcrumb_component.html.erb +10 -0
  67. data/app/components/arclight/repository_breadcrumb_component.rb +17 -0
  68. data/app/components/arclight/repository_location_component.html.erb +20 -0
  69. data/app/components/arclight/repository_location_component.rb +10 -0
  70. data/app/components/arclight/search_bar_component.html.erb +25 -0
  71. data/app/components/arclight/search_bar_component.rb +32 -0
  72. data/app/components/arclight/search_result_breadcrumbs_component.html.erb +3 -0
  73. data/app/components/arclight/search_result_breadcrumbs_component.rb +37 -0
  74. data/app/components/arclight/search_result_component.html.erb +20 -0
  75. data/app/components/arclight/search_result_component.rb +24 -0
  76. data/app/components/arclight/search_result_title_component.html.erb +13 -0
  77. data/app/components/arclight/search_result_title_component.rb +15 -0
  78. data/app/components/arclight/sidebar_component.html.erb +9 -0
  79. data/app/components/arclight/sidebar_component.rb +19 -0
  80. data/app/components/arclight/upper_metadata_layout_component.rb +10 -0
  81. data/app/components/blacklight/icons/bookmark_component.rb +12 -0
  82. data/app/components/blacklight/icons/collection_component.rb +14 -0
  83. data/app/components/blacklight/icons/compact_component.rb +12 -0
  84. data/app/components/blacklight/icons/container_component.rb +14 -0
  85. data/app/components/blacklight/icons/ead_component.rb +12 -0
  86. data/app/components/blacklight/icons/file_component.rb +14 -0
  87. data/app/components/blacklight/icons/folder_component.rb +12 -0
  88. data/app/components/blacklight/icons/online_component.rb +15 -0
  89. data/app/components/blacklight/icons/pdf_component.rb +12 -0
  90. data/app/components/blacklight/icons/repository_component.rb +12 -0
  91. data/app/controllers/arclight/repositories_controller.rb +4 -4
  92. data/app/{controllers/concerns → helpers}/arclight/ead_format_helpers.rb +4 -7
  93. data/app/helpers/arclight/field_config_helpers.rb +26 -0
  94. data/app/helpers/arclight_helper.rb +15 -253
  95. data/app/models/arclight/document_downloads.rb +12 -15
  96. data/app/models/arclight/parent.rb +5 -0
  97. data/app/models/arclight/parents.rb +2 -1
  98. data/app/models/arclight/requests/aeon_external_request.rb +1 -1
  99. data/app/models/arclight/requests/aeon_web_ead.rb +8 -3
  100. data/app/models/arclight/requests/google_form.rb +8 -3
  101. data/app/models/concerns/arclight/catalog.rb +25 -15
  102. data/app/models/concerns/arclight/search_behavior.rb +12 -26
  103. data/app/models/concerns/arclight/solr_document.rb +70 -73
  104. data/app/presenters/arclight/show_presenter.rb +34 -7
  105. data/app/views/arclight/_requests.html.erb +2 -2
  106. data/app/views/arclight/repositories/_repository.html.erb +21 -40
  107. data/app/views/arclight/repositories/index.html.erb +3 -1
  108. data/app/views/arclight/repositories/show.html.erb +4 -6
  109. data/app/views/arclight/requests/_aeon_external_request_endpoint.html.erb +4 -5
  110. data/app/views/arclight/requests/_aeon_web_ead.html.erb +2 -3
  111. data/app/views/arclight/requests/_google_form.html.erb +4 -6
  112. data/app/views/catalog/_group.html.erb +1 -18
  113. data/app/views/catalog/_group_toggle.html.erb +1 -1
  114. data/app/views/catalog/_search_results_header.html.erb +3 -0
  115. data/app/views/catalog/hierarchy.html.erb +19 -0
  116. data/app/views/catalog/index.html.erb +16 -7
  117. data/app/views/shared/_breadcrumbs.html.erb +2 -14
  118. data/app/views/shared/_main_menu_links.html.erb +1 -1
  119. data/arclight.gemspec +7 -6
  120. data/config/breadcrumbs.rb +24 -0
  121. data/config/i18n-tasks.yml +9 -8
  122. data/config/importmap.rb +3 -0
  123. data/config/locales/arclight.en.yml +31 -30
  124. data/config/routes.rb +1 -1
  125. data/docker-compose.yml +16 -0
  126. data/lib/arclight/digital_object.rb +2 -1
  127. data/lib/arclight/engine.rb +18 -31
  128. data/lib/arclight/exceptions.rb +1 -0
  129. data/lib/arclight/hash_absolute_xpath.rb +2 -1
  130. data/lib/arclight/normalized_id.rb +2 -0
  131. data/lib/arclight/normalized_title.rb +2 -0
  132. data/lib/arclight/repository.rb +43 -54
  133. data/lib/arclight/routes/hierarchy.rb +19 -0
  134. data/lib/arclight/routes.rb +8 -0
  135. data/lib/arclight/traject/ead2_component_config.rb +292 -0
  136. data/lib/arclight/traject/ead2_config.rb +66 -287
  137. data/lib/arclight/version.rb +1 -1
  138. data/lib/arclight/year_range.rb +4 -3
  139. data/lib/arclight.rb +6 -1
  140. data/lib/generators/arclight/install_generator.rb +59 -21
  141. data/lib/generators/arclight/templates/arclight.scss +4 -3
  142. data/lib/generators/arclight/templates/catalog_controller.rb +150 -169
  143. data/lib/generators/arclight/templates/config/locales/arclight.en.yml +53 -0
  144. data/lib/generators/arclight/templates/config/repositories.yml +20 -27
  145. data/lib/tasks/index.rake +14 -17
  146. data/package.json +11 -13
  147. data/solr/conf/schema.xml +40 -36
  148. data/solr/conf/solrconfig.xml +33 -31
  149. data/tasks/arclight.rake +8 -7
  150. data/template.rb +0 -1
  151. metadata +111 -104
  152. data/.babelrc +0 -3
  153. data/app/assets/javascripts/arclight/collection_navigation.js +0 -100
  154. data/app/assets/javascripts/arclight/collection_scrollspy.js +0 -6
  155. data/app/assets/javascripts/arclight/context_navigation.js +0 -351
  156. data/app/assets/javascripts/arclight/truncator.js.erb +0 -29
  157. data/app/assets/stylesheets/arclight/bootstrap_overrides.scss +0 -26
  158. data/app/assets/stylesheets/arclight/modules/context_navigation.scss +0 -75
  159. data/app/controllers/concerns/arclight/field_config_helpers.rb +0 -102
  160. data/app/factories/blacklight_field_configuration_factory.rb +0 -30
  161. data/app/views/arclight/repositories/_in_person_repository.html.erb +0 -19
  162. data/app/views/arclight/repositories/_repository_contact.html.erb +0 -9
  163. data/app/views/arclight/viewers/_oembed.html.erb +0 -8
  164. data/app/views/catalog/_access_contents.html.erb +0 -15
  165. data/app/views/catalog/_arclight_abstract_or_scope.html.erb +0 -5
  166. data/app/views/catalog/_arclight_bookmark_control.html.erb +0 -38
  167. data/app/views/catalog/_arclight_document_header_icon.html.erb +0 -1
  168. data/app/views/catalog/_arclight_document_index_header.html.erb +0 -13
  169. data/app/views/catalog/_arclight_document_index_header_hierarchy_default.html.erb +0 -0
  170. data/app/views/catalog/_arclight_document_index_header_online_contents_default.html.erb +0 -0
  171. data/app/views/catalog/_arclight_index_compact_default.html.erb +0 -22
  172. data/app/views/catalog/_arclight_index_default.html.erb +0 -45
  173. data/app/views/catalog/_arclight_index_group_document_compact_default.html.erb +0 -19
  174. data/app/views/catalog/_arclight_index_group_document_default.html.erb +0 -18
  175. data/app/views/catalog/_arclight_online_content_indicator.html.erb +0 -3
  176. data/app/views/catalog/_arclight_rangelimit.html.erb +0 -24
  177. data/app/views/catalog/_arclight_viewer_default.html.erb +0 -1
  178. data/app/views/catalog/_collection_contents.html.erb +0 -4
  179. data/app/views/catalog/_collection_context.html.erb +0 -15
  180. data/app/views/catalog/_collection_context_nav.html.erb +0 -12
  181. data/app/views/catalog/_collection_online_contents.html.erb +0 -17
  182. data/app/views/catalog/_component_context.html.erb +0 -5
  183. data/app/views/catalog/_containers.html.erb +0 -3
  184. data/app/views/catalog/_context_card.html.erb +0 -27
  185. data/app/views/catalog/_context_sidebar.html.erb +0 -8
  186. data/app/views/catalog/_custom_metadata.html.erb +0 -16
  187. data/app/views/catalog/_document_downloads.html.erb +0 -14
  188. data/app/views/catalog/_group_header_compact_default.html.erb +0 -15
  189. data/app/views/catalog/_group_header_default.html.erb +0 -20
  190. data/app/views/catalog/_home.html.erb +0 -1
  191. data/app/views/catalog/_index_breadcrumb_default.html.erb +0 -6
  192. data/app/views/catalog/_index_collection_context_default.html.erb +0 -53
  193. data/app/views/catalog/_index_default.html.erb +0 -17
  194. data/app/views/catalog/_index_header.html.erb +0 -7
  195. data/app/views/catalog/_index_header_online_contents_default.html.erb +0 -1
  196. data/app/views/catalog/_index_online_contents_default.html.erb +0 -6
  197. data/app/views/catalog/_online_content_label.html.erb +0 -5
  198. data/app/views/catalog/_search_form.html.erb +0 -38
  199. data/app/views/catalog/_search_results.html.erb +0 -28
  200. data/app/views/catalog/_show_actions_box_default.html.erb +0 -27
  201. data/app/views/catalog/_show_breadcrumbs_default.html.erb +0 -6
  202. data/app/views/catalog/_show_collection.html.erb +0 -66
  203. data/app/views/catalog/_show_default.html.erb +0 -70
  204. data/app/views/catalog/_show_upper_metadata_collection.html.erb +0 -1
  205. data/app/views/catalog/_show_upper_metadata_default.html.erb +0 -14
  206. data/app/views/catalog/_sort_and_per_page.html.erb +0 -8
  207. data/app/views/catalog/_within_collection_dropdown.html.erb +0 -26
  208. data/app/views/layouts/catalog_result.html.erb +0 -7
  209. data/app/views/shared/_context_sidebar.html.erb +0 -8
  210. data/app/views/shared/_header_navbar.html.erb +0 -61
  211. data/app/views/shared/_show_breadcrumbs.html.erb +0 -27
  212. data/lib/arclight/viewer.rb +0 -45
  213. data/lib/arclight/viewers/oembed.rb +0 -57
  214. data/solr/conf/scripts.conf +0 -24
  215. data/vendor/assets/javascripts/responsiveTruncator.js +0 -69
  216. data/vendor/assets/javascripts/stickyfill.js +0 -480
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5ad2c5251cf3130cce536075a7a1049031b459535566a6654f5601be20318820
4
- data.tar.gz: 8e4770a4035b7df7c9e870dc60d7d3d44c8e7b90b70389f19a4e1ba9322aa09a
3
+ metadata.gz: 1145e9c396f3fb41357ffc7d8e4139e47973369de6d17bc71e2d8b17696bfbb9
4
+ data.tar.gz: '0329f7cb492c8e02b4ce48417acaafc291a9db5d7413855e699f1c16d975ef98'
5
5
  SHA512:
6
- metadata.gz: 046246fbbf865afb0677463746b458d94b0efb12f63729b9a4f60166547b0cac25a4a3498702c31fc8e2fadc357742d65e613e11b6c23307997245b5c4db50e3
7
- data.tar.gz: 8011c4c5b33be7a6983cb1e887cb2f159efa680411ff29cf31dc7d79115029fc61c21cae7ad2955bd08310059e2f062c0aa91dad186fffcd5c53f8aaba6d9216
6
+ metadata.gz: dbad57d56b4272b94423f6d733d823f8644020d1c5144297a42866346e2b4e48a0c68691930fa6b949d4c6692fc98023b356428e9bae1957005b50f16999be47
7
+ data.tar.gz: b8504eec100f970e296015c329536175be352dd369116310469a5e4bc4dc19cfe3eee2580e83a7206906d427dc5836b328efbeec8f13436f9f783464831acd5f
data/.eslintrc CHANGED
@@ -2,14 +2,21 @@
2
2
  "env": {
3
3
  "es6": true
4
4
  },
5
+ "parserOptions": {
6
+ "ecmaVersion": 2022,
7
+ "sourceType": "module"
8
+ },
5
9
  "extends": "airbnb-base/legacy",
6
10
  "globals": {
7
- "jQuery": true,
8
- "$": true,
9
- "Blacklight": true
11
+ "Blacklight": true,
12
+ "bootstrap": true,
13
+ "Stimulus": true,
10
14
  },
11
15
  "rules": {
12
16
  "no-param-reassign": [2, { "props": false }],
13
- "func-names": ["error", "never"]
17
+ "func-names": ["error", "never"],
18
+ "indent": ["warn"],
19
+ "quotes": ["error", "single", { "avoidEscape": true }],
20
+ "semi": ["warn", "never"]
14
21
  }
15
22
  }
@@ -2,31 +2,44 @@ name: CI
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ master ]
5
+ branches: [ main ]
6
6
  pull_request:
7
- branches: [ master ]
7
+ branches: [ main ]
8
8
 
9
9
  jobs:
10
10
  test:
11
11
  runs-on: ubuntu-latest
12
12
  strategy:
13
13
  matrix:
14
- rails_version: [6.1.4.7, 7.0.2.3]
15
- ruby: [2.7, '3.0']
16
- include:
17
- - rails_version: 6.0.3.7
18
- ruby: 2.7
14
+ rails_version: [7.0.4]
15
+ ruby: ['3.0', '3.1', '3.2']
16
+ blacklight_version: [8.0.0.beta5]
19
17
  env:
20
18
  RAILS_VERSION: ${{ matrix.rails_version }}
21
19
  steps:
22
- - uses: actions/checkout@v2
20
+ - uses: actions/checkout@v3
23
21
  - name: Set up Ruby ${{ matrix.ruby }}
24
22
  uses: ruby/setup-ruby@v1
25
23
  with:
24
+ bundler: latest
26
25
  ruby-version: ${{ matrix.ruby }}
27
26
  - name: Install dependencies with Rails ${{ matrix.rails_version }}
28
27
  run: bundle install
29
- - name: Install dependencies with yarn
30
- run: yarn install
31
28
  - name: Run tests
32
- run: bundle exec rake
29
+ run: bundle exec rake ci
30
+ lint:
31
+ runs-on: ubuntu-latest
32
+ steps:
33
+ - name: Checkout code
34
+ uses: actions/checkout@v3
35
+ - name: Install Ruby and gems
36
+ uses: ruby/setup-ruby@v1
37
+ with:
38
+ bundler: latest
39
+ ruby-version: 3.2
40
+ - name: Install dependencies with Bundler
41
+ run: bundle install
42
+ - name: Install dependencies with yarn
43
+ run: yarn install
44
+ - name: Lint Ruby files
45
+ run: bundle exec rake rubocop eslint
data/.rspec CHANGED
@@ -1,2 +1 @@
1
- --format documentation
2
1
  --color
data/.rubocop.yml CHANGED
@@ -1,6 +1,7 @@
1
1
  require:
2
2
  - rubocop-rspec
3
3
  - rubocop-rails
4
+ - rubocop-rake
4
5
 
5
6
  inherit_from:
6
7
  - .rubocop_todo.yml
@@ -13,7 +14,7 @@ AllCops:
13
14
  - 'lib/generators/arclight/templates/**/*'
14
15
  - 'vendor/**/*'
15
16
  - 'node_modules/**/*'
16
- TargetRubyVersion: 2.5
17
+ TargetRubyVersion: 3.0
17
18
  DisplayCopNames: true
18
19
 
19
20
  Metrics/ModuleLength:
@@ -32,7 +33,11 @@ Metrics/BlockLength:
32
33
  - 'spec/**/*'
33
34
  - 'tasks/**/*'
34
35
 
35
- Metrics/LineLength:
36
+ Naming/PredicateName:
37
+ ForbiddenPrefixes:
38
+ - _is
39
+
40
+ Layout/LineLength:
36
41
  Max: 160
37
42
 
38
43
  Rails:
@@ -44,3 +49,282 @@ Bundler/DuplicatedGem:
44
49
  Style/FormatStringToken:
45
50
  Exclude:
46
51
  - 'spec/test_app_templates/lib/generators/test_app_generator.rb'
52
+
53
+ Gemspec/DeprecatedAttributeAssignment: # new in 1.30
54
+ Enabled: true
55
+ Gemspec/RequireMFA: # new in 1.23
56
+ Enabled: false
57
+ Layout/LineContinuationLeadingSpace: # new in 1.31
58
+ Enabled: true
59
+ Layout/LineContinuationSpacing: # new in 1.31
60
+ Enabled: true
61
+ Layout/LineEndStringConcatenationIndentation: # new in 1.18
62
+ Enabled: true
63
+ Layout/SpaceBeforeBrackets: # new in 1.7
64
+ Enabled: true
65
+ Lint/AmbiguousAssignment: # new in 1.7
66
+ Enabled: true
67
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
68
+ Enabled: true
69
+ Lint/AmbiguousRange: # new in 1.19
70
+ Enabled: true
71
+ Lint/ConstantOverwrittenInRescue: # new in 1.31
72
+ Enabled: true
73
+ Lint/DeprecatedConstants: # new in 1.8
74
+ Enabled: true
75
+ Lint/DuplicateBranch: # new in 1.3
76
+ Enabled: true
77
+ Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
78
+ Enabled: true
79
+ Lint/EmptyBlock: # new in 1.1
80
+ Enabled: true
81
+ Lint/EmptyClass: # new in 1.3
82
+ Enabled: true
83
+ Lint/EmptyInPattern: # new in 1.16
84
+ Enabled: true
85
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
86
+ Enabled: true
87
+ Lint/LambdaWithoutLiteralBlock: # new in 1.8
88
+ Enabled: true
89
+ Lint/NoReturnInBeginEndBlocks: # new in 1.2
90
+ Enabled: true
91
+ Lint/NonAtomicFileOperation: # new in 1.31
92
+ Enabled: true
93
+ Lint/NumberedParameterAssignment: # new in 1.9
94
+ Enabled: true
95
+ Lint/OrAssignmentToConstant: # new in 1.9
96
+ Enabled: true
97
+ Lint/RedundantDirGlobSort: # new in 1.8
98
+ Enabled: true
99
+ Lint/RefinementImportMethods: # new in 1.27
100
+ Enabled: true
101
+ Lint/RequireRangeParentheses: # new in 1.32
102
+ Enabled: true
103
+ Lint/RequireRelativeSelfPath: # new in 1.22
104
+ Enabled: true
105
+ Lint/SymbolConversion: # new in 1.9
106
+ Enabled: true
107
+ Lint/ToEnumArguments: # new in 1.1
108
+ Enabled: true
109
+ Lint/TripleQuotes: # new in 1.9
110
+ Enabled: true
111
+ Lint/UnexpectedBlockArity: # new in 1.5
112
+ Enabled: true
113
+ Lint/UnmodifiedReduceAccumulator: # new in 1.1
114
+ Enabled: true
115
+ Lint/UselessRuby2Keywords: # new in 1.23
116
+ Enabled: true
117
+ Naming/BlockForwarding: # new in 1.24
118
+ Enabled: true
119
+ Security/CompoundHash: # new in 1.28
120
+ Enabled: true
121
+ Security/IoMethods: # new in 1.22
122
+ Enabled: true
123
+ Style/ArgumentsForwarding: # new in 1.1
124
+ Enabled: true
125
+ Style/CollectionCompact: # new in 1.2
126
+ Enabled: true
127
+ Style/DocumentDynamicEvalDefinition: # new in 1.1
128
+ Enabled: true
129
+ Style/EmptyHeredoc: # new in 1.32
130
+ Enabled: true
131
+ Style/EndlessMethod: # new in 1.8
132
+ Enabled: true
133
+ Style/EnvHome: # new in 1.29
134
+ Enabled: true
135
+ Style/FetchEnvVar: # new in 1.28
136
+ Enabled: true
137
+ Style/FileRead: # new in 1.24
138
+ Enabled: true
139
+ Style/FileWrite: # new in 1.24
140
+ Enabled: true
141
+ Style/HashConversion: # new in 1.10
142
+ Enabled: true
143
+ Style/HashExcept: # new in 1.7
144
+ Enabled: true
145
+ Style/IfWithBooleanLiteralBranches: # new in 1.9
146
+ Enabled: true
147
+ Style/InPatternThen: # new in 1.16
148
+ Enabled: true
149
+ Style/MagicCommentFormat: # new in 1.35
150
+ Enabled: true
151
+ Style/MapCompactWithConditionalBlock: # new in 1.30
152
+ Enabled: true
153
+ Style/MapToHash: # new in 1.24
154
+ Enabled: true
155
+ Style/MultilineInPatternThen: # new in 1.16
156
+ Enabled: true
157
+ Style/NegatedIfElseCondition: # new in 1.2
158
+ Enabled: true
159
+ Style/NestedFileDirname: # new in 1.26
160
+ Enabled: true
161
+ Style/NilLambda: # new in 1.3
162
+ Enabled: true
163
+ Style/NumberedParameters: # new in 1.22
164
+ Enabled: true
165
+ Style/NumberedParametersLimit: # new in 1.22
166
+ Enabled: true
167
+ Style/ObjectThen: # new in 1.28
168
+ Enabled: true
169
+ Style/OpenStructUse: # new in 1.23
170
+ Enabled: true
171
+ Style/QuotedSymbols: # new in 1.16
172
+ Enabled: true
173
+ Style/RedundantArgument: # new in 1.4
174
+ Enabled: true
175
+ Style/RedundantInitialize: # new in 1.27
176
+ Enabled: true
177
+ Style/RedundantSelfAssignmentBranch: # new in 1.19
178
+ Enabled: true
179
+ Style/SelectByRegexp: # new in 1.22
180
+ Enabled: true
181
+ Style/StringChars: # new in 1.12
182
+ Enabled: true
183
+ Style/SwapValues: # new in 1.1
184
+ Enabled: true
185
+ RSpec/BeEq: # new in 2.9.0
186
+ Enabled: true
187
+ RSpec/BeNil: # new in 2.9.0
188
+ Enabled: true
189
+ RSpec/ChangeByZero: # new in 2.11
190
+ Enabled: true
191
+ RSpec/ClassCheck: # new in 2.13
192
+ Enabled: true
193
+ RSpec/ExcessiveDocstringSpacing: # new in 2.5
194
+ Enabled: true
195
+ RSpec/IdenticalEqualityAssertion: # new in 2.4
196
+ Enabled: true
197
+ RSpec/NoExpectationExample: # new in 2.13
198
+ Enabled: true
199
+ RSpec/SubjectDeclaration: # new in 2.5
200
+ Enabled: true
201
+ RSpec/VerifiedDoubleReference: # new in 2.10.0
202
+ Enabled: true
203
+ RSpec/Capybara/SpecificFinders: # new in 2.13
204
+ Enabled: true
205
+ RSpec/Capybara/SpecificMatcher: # new in 2.12
206
+ Enabled: true
207
+ RSpec/FactoryBot/SyntaxMethods: # new in 2.7
208
+ Enabled: true
209
+ RSpec/Rails/AvoidSetupHook: # new in 2.4
210
+ Enabled: true
211
+ RSpec/Rails/HaveHttpStatus: # new in 2.12
212
+ Enabled: true
213
+ Rails/ActionControllerFlashBeforeRender: # new in 2.16
214
+ Enabled: true
215
+ Rails/ActionControllerTestCase: # new in 2.14
216
+ Enabled: true
217
+ Rails/ActiveRecordCallbacksOrder: # new in 2.7
218
+ Enabled: true
219
+ Rails/ActiveSupportOnLoad: # new in 2.16
220
+ Enabled: true
221
+ Rails/AddColumnIndex: # new in 2.11
222
+ Enabled: true
223
+ Rails/AfterCommitOverride: # new in 2.8
224
+ Enabled: true
225
+ Rails/AttributeDefaultBlockValue: # new in 2.9
226
+ Enabled: true
227
+ Rails/CompactBlank: # new in 2.13
228
+ Enabled: true
229
+ Rails/DeprecatedActiveModelErrorsMethods: # new in 2.14
230
+ Enabled: true
231
+ Rails/DotSeparatedKeys: # new in 2.15
232
+ Enabled: true
233
+ Rails/DuplicateAssociation: # new in 2.14
234
+ Enabled: true
235
+ Rails/DuplicateScope: # new in 2.14
236
+ Enabled: true
237
+ Rails/DurationArithmetic: # new in 2.13
238
+ Enabled: true
239
+ Rails/EagerEvaluationLogMessage: # new in 2.11
240
+ Enabled: true
241
+ Rails/ExpandedDateRange: # new in 2.11
242
+ Enabled: true
243
+ Rails/FindById: # new in 2.7
244
+ Enabled: true
245
+ Rails/FreezeTime: # new in 2.16
246
+ Enabled: true
247
+ Rails/I18nLazyLookup: # new in 2.14
248
+ Enabled: true
249
+ Rails/I18nLocaleAssignment: # new in 2.11
250
+ Enabled: true
251
+ Rails/I18nLocaleTexts: # new in 2.14
252
+ Enabled: true
253
+ Rails/Inquiry: # new in 2.7
254
+ Enabled: true
255
+ Rails/MailerName: # new in 2.7
256
+ Enabled: true
257
+ Rails/MatchRoute: # new in 2.7
258
+ Enabled: true
259
+ Rails/MigrationClassName: # new in 2.14
260
+ Enabled: true
261
+ Rails/NegateInclude: # new in 2.7
262
+ Enabled: true
263
+ Rails/Pluck: # new in 2.7
264
+ Enabled: true
265
+ Rails/PluckInWhere: # new in 2.7
266
+ Enabled: true
267
+ Rails/RedundantPresenceValidationOnBelongsTo: # new in 2.13
268
+ Enabled: true
269
+ Rails/RedundantTravelBack: # new in 2.12
270
+ Enabled: true
271
+ Rails/RenderInline: # new in 2.7
272
+ Enabled: true
273
+ Rails/RenderPlainText: # new in 2.7
274
+ Enabled: true
275
+ Rails/RootJoinChain: # new in 2.13
276
+ Enabled: true
277
+ Rails/RootPathnameMethods: # new in 2.16
278
+ Enabled: true
279
+ Rails/RootPublicPath: # new in 2.15
280
+ Enabled: true
281
+ Rails/ShortI18n: # new in 2.7
282
+ Enabled: true
283
+ Rails/SquishedSQLHeredocs: # new in 2.8
284
+ Enabled: true
285
+ Rails/StripHeredoc: # new in 2.15
286
+ Enabled: true
287
+ Rails/TimeZoneAssignment: # new in 2.10
288
+ Enabled: true
289
+ Rails/ToFormattedS: # new in 2.15
290
+ Enabled: true
291
+ Rails/ToSWithArgument: # new in 2.16
292
+ Enabled: true
293
+ Rails/TopLevelHashWithIndifferentAccess: # new in 2.16
294
+ Enabled: true
295
+ Rails/TransactionExitStatement: # new in 2.14
296
+ Enabled: true
297
+ Rails/UnusedIgnoredColumns: # new in 2.11
298
+ Enabled: true
299
+ Rails/WhereEquals: # new in 2.9
300
+ Enabled: true
301
+ Rails/WhereExists: # new in 2.7
302
+ Enabled: true
303
+ Rails/WhereMissing: # new in 2.16
304
+ Enabled: true
305
+ Rails/WhereNot: # new in 2.8
306
+ Enabled: true
307
+ Lint/DuplicateMagicComment: # new in 1.37
308
+ Enabled: true
309
+ Style/OperatorMethodCall: # new in 1.37
310
+ Enabled: true
311
+ Style/RedundantEach: # new in 1.38
312
+ Enabled: true
313
+ Style/RedundantStringEscape: # new in 1.37
314
+ Enabled: true
315
+ RSpec/SortMetadata: # new in 2.14
316
+ Enabled: true
317
+ RSpec/Capybara/NegationMatcher: # new in 2.14
318
+ Enabled: true
319
+ RSpec/Capybara/SpecificActions: # new in 2.14
320
+ Enabled: true
321
+ RSpec/FactoryBot/ConsistentParenthesesStyle: # new in 2.14
322
+ Enabled: false # https://github.com/rspec/rspec-rails/issues/2635
323
+ RSpec/Rails/InferredSpecType: # new in 2.14
324
+ Enabled: true
325
+ Rails/ActionOrder: # new in 2.17
326
+ Enabled: true
327
+ Rails/IgnoredColumnsAssignment: # new in 2.17
328
+ Enabled: true
329
+ Rails/WhereNotWithMultipleConditions: # new in 2.17
330
+ Enabled: true