arclight 0.5.0 → 1.0.0.beta1

Sign up to get free protection for your applications and to get access to all the features.
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