gitlab-styles 9.2.0 → 10.1.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 (53) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +3 -3
  3. data/.gitlab/merge_request_templates/Release.md +18 -5
  4. data/.gitlab-ci.yml +17 -2
  5. data/.rubocop.yml +6 -1
  6. data/.rubocop_todo.yml +36 -0
  7. data/.tests_mapping.yml +10 -0
  8. data/Gemfile +0 -11
  9. data/Gemfile.lock +227 -0
  10. data/README.md +0 -1
  11. data/gitlab-styles.gemspec +15 -8
  12. data/lefthook.yml +11 -3
  13. data/lib/gitlab/styles/rubocop/migration_helpers.rb +1 -1
  14. data/lib/gitlab/styles/version.rb +1 -1
  15. data/lib/rubocop/cop/active_record_dependent.rb +0 -5
  16. data/lib/rubocop/cop/active_record_serialize.rb +0 -6
  17. data/lib/rubocop/cop/avoid_return_from_blocks.rb +4 -4
  18. data/lib/rubocop/cop/custom_error_class.rb +1 -1
  19. data/lib/rubocop/cop/gem_fetcher.rb +1 -1
  20. data/lib/rubocop/cop/gitlab_security/deep_munge.rb +36 -0
  21. data/lib/rubocop/cop/gitlab_security/json_serialization.rb +133 -0
  22. data/lib/rubocop/cop/gitlab_security/public_send.rb +47 -0
  23. data/lib/rubocop/cop/gitlab_security/redirect_to_params_update.rb +38 -0
  24. data/lib/rubocop/cop/gitlab_security/send_file_params.rb +40 -0
  25. data/lib/rubocop/cop/gitlab_security/sql_injection.rb +41 -0
  26. data/lib/rubocop/cop/gitlab_security/system_command_injection.rb +38 -0
  27. data/lib/rubocop/cop/in_batches.rb +0 -2
  28. data/lib/rubocop/cop/internal_affairs/missing_cop_department.rb +80 -0
  29. data/lib/rubocop/cop/internal_affairs/use_restrict_on_send.rb +99 -0
  30. data/lib/rubocop/cop/line_break_after_guard_clauses.rb +4 -6
  31. data/lib/rubocop/cop/line_break_around_conditional_block.rb +1 -1
  32. data/lib/rubocop/cop/migration/update_large_table.rb +1 -0
  33. data/lib/rubocop/cop/polymorphic_associations.rb +0 -5
  34. data/lib/rubocop/cop/rails/include_url_helper.rb +0 -2
  35. data/lib/rubocop/cop/redirect_with_status.rb +44 -30
  36. data/lib/rubocop/cop/rspec/empty_line_after_shared_example.rb +9 -2
  37. data/lib/rubocop/cop/rspec/example_starting_character.rb +1 -1
  38. data/lib/rubocop/cop/rspec/factory_bot/excessive_create_list.rb +52 -0
  39. data/lib/rubocop/cop/rspec/useless_dynamic_definition.rb +67 -0
  40. data/lib/rubocop/cop/rspec/verbose_include_metadata.rb +1 -1
  41. data/rubocop-capybara.yml +8 -0
  42. data/rubocop-default.yml +2 -4
  43. data/rubocop-gemspec.yml +6 -0
  44. data/rubocop-internal-affairs.yml +11 -0
  45. data/rubocop-layout.yml +2 -2
  46. data/rubocop-lint.yml +134 -5
  47. data/rubocop-naming.yml +5 -0
  48. data/rubocop-rails.yml +33 -1
  49. data/rubocop-rspec.yml +5 -5
  50. data/rubocop-security.yml +19 -1
  51. data/rubocop-style.yml +18 -3
  52. metadata +142 -29
  53. data/lib/gitlab/styles/rubocop/model_helpers.rb +0 -19
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-styles
3
3
  version: !ruby/object:Gem::Version
4
- version: 9.2.0
4
+ version: 10.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - GitLab
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-12-21 00:00:00.000000000 Z
11
+ date: 2023-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubocop
@@ -16,126 +16,140 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.38.0
19
+ version: 1.50.2
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.38.0
26
+ version: 1.50.2
27
27
  - !ruby/object:Gem::Dependency
28
- name: rubocop-gitlab-security
28
+ name: rubocop-graphql
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.1
33
+ version: '0.18'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.1
40
+ version: '0.18'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rubocop-graphql
42
+ name: rubocop-performance
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '0.14'
47
+ version: '1.15'
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '0.14'
54
+ version: '1.15'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rubocop-performance
56
+ name: rubocop-rails
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '1.14'
61
+ version: '2.17'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: '1.14'
68
+ version: '2.17'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rubocop-rails
70
+ name: rubocop-rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - "~>"
74
74
  - !ruby/object:Gem::Version
75
- version: '2.15'
75
+ version: '2.22'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
- version: '2.15'
82
+ version: '2.22'
83
83
  - !ruby/object:Gem::Dependency
84
- name: rubocop-rspec
84
+ name: bundler
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - "~>"
88
88
  - !ruby/object:Gem::Version
89
- version: '2.15'
90
- type: :runtime
89
+ version: '2.1'
90
+ type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - "~>"
95
95
  - !ruby/object:Gem::Version
96
- version: '2.15'
96
+ version: '2.1'
97
97
  - !ruby/object:Gem::Dependency
98
- name: bundler
98
+ name: gitlab-dangerfiles
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '2.1'
103
+ version: 3.6.7
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '2.1'
110
+ version: 3.6.7
111
111
  - !ruby/object:Gem::Dependency
112
- name: gitlab-dangerfiles
112
+ name: lefthook
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: 1.3.13
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: 1.3.13
125
+ - !ruby/object:Gem::Dependency
126
+ name: pry-byebug
113
127
  requirement: !ruby/object:Gem::Requirement
114
128
  requirements:
115
129
  - - "~>"
116
130
  - !ruby/object:Gem::Version
117
- version: 2.11.0
131
+ version: '3.10'
118
132
  type: :development
119
133
  prerelease: false
120
134
  version_requirements: !ruby/object:Gem::Requirement
121
135
  requirements:
122
136
  - - "~>"
123
137
  - !ruby/object:Gem::Version
124
- version: 2.11.0
138
+ version: '3.10'
125
139
  - !ruby/object:Gem::Dependency
126
140
  name: rake
127
141
  requirement: !ruby/object:Gem::Requirement
128
142
  requirements:
129
143
  - - "~>"
130
144
  - !ruby/object:Gem::Version
131
- version: '10.0'
145
+ version: '13.0'
132
146
  type: :development
133
147
  prerelease: false
134
148
  version_requirements: !ruby/object:Gem::Requirement
135
149
  requirements:
136
150
  - - "~>"
137
151
  - !ruby/object:Gem::Version
138
- version: '10.0'
152
+ version: '13.0'
139
153
  - !ruby/object:Gem::Dependency
140
154
  name: rspec
141
155
  requirement: !ruby/object:Gem::Requirement
@@ -150,6 +164,90 @@ dependencies:
150
164
  - - "~>"
151
165
  - !ruby/object:Gem::Version
152
166
  version: '3.0'
167
+ - !ruby/object:Gem::Dependency
168
+ name: rspec-parameterized-table_syntax
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.0.0
174
+ type: :development
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.0.0
181
+ - !ruby/object:Gem::Dependency
182
+ name: rubocop-rake
183
+ requirement: !ruby/object:Gem::Requirement
184
+ requirements:
185
+ - - "~>"
186
+ - !ruby/object:Gem::Version
187
+ version: '0.6'
188
+ type: :development
189
+ prerelease: false
190
+ version_requirements: !ruby/object:Gem::Requirement
191
+ requirements:
192
+ - - "~>"
193
+ - !ruby/object:Gem::Version
194
+ version: '0.6'
195
+ - !ruby/object:Gem::Dependency
196
+ name: simplecov
197
+ requirement: !ruby/object:Gem::Requirement
198
+ requirements:
199
+ - - "~>"
200
+ - !ruby/object:Gem::Version
201
+ version: 0.22.0
202
+ type: :development
203
+ prerelease: false
204
+ version_requirements: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - "~>"
207
+ - !ruby/object:Gem::Version
208
+ version: 0.22.0
209
+ - !ruby/object:Gem::Dependency
210
+ name: simplecov-cobertura
211
+ requirement: !ruby/object:Gem::Requirement
212
+ requirements:
213
+ - - "~>"
214
+ - !ruby/object:Gem::Version
215
+ version: 2.1.0
216
+ type: :development
217
+ prerelease: false
218
+ version_requirements: !ruby/object:Gem::Requirement
219
+ requirements:
220
+ - - "~>"
221
+ - !ruby/object:Gem::Version
222
+ version: 2.1.0
223
+ - !ruby/object:Gem::Dependency
224
+ name: simplecov-html
225
+ requirement: !ruby/object:Gem::Requirement
226
+ requirements:
227
+ - - "~>"
228
+ - !ruby/object:Gem::Version
229
+ version: 0.12.3
230
+ type: :development
231
+ prerelease: false
232
+ version_requirements: !ruby/object:Gem::Requirement
233
+ requirements:
234
+ - - "~>"
235
+ - !ruby/object:Gem::Version
236
+ version: 0.12.3
237
+ - !ruby/object:Gem::Dependency
238
+ name: test_file_finder
239
+ requirement: !ruby/object:Gem::Requirement
240
+ requirements:
241
+ - - "~>"
242
+ - !ruby/object:Gem::Version
243
+ version: 0.1.4
244
+ type: :development
245
+ prerelease: false
246
+ version_requirements: !ruby/object:Gem::Requirement
247
+ requirements:
248
+ - - "~>"
249
+ - !ruby/object:Gem::Version
250
+ version: 0.1.4
153
251
  description:
154
252
  email:
155
253
  - gitlab_rubygems@gitlab.com
@@ -165,10 +263,13 @@ files:
165
263
  - ".gitlab/merge_request_templates/Release.md"
166
264
  - ".rspec"
167
265
  - ".rubocop.yml"
266
+ - ".rubocop_todo.yml"
267
+ - ".tests_mapping.yml"
168
268
  - CODE_OF_CONDUCT.md
169
269
  - CONTRIBUTING.md
170
270
  - Dangerfile
171
271
  - Gemfile
272
+ - Gemfile.lock
172
273
  - LICENSE.md
173
274
  - README.md
174
275
  - Rakefile
@@ -180,7 +281,6 @@ files:
180
281
  - lib/gitlab/styles/common/banned_constants.rb
181
282
  - lib/gitlab/styles/rubocop.rb
182
283
  - lib/gitlab/styles/rubocop/migration_helpers.rb
183
- - lib/gitlab/styles/rubocop/model_helpers.rb
184
284
  - lib/gitlab/styles/version.rb
185
285
  - lib/rubocop/cop/active_record_dependent.rb
186
286
  - lib/rubocop/cop/active_record_serialize.rb
@@ -191,8 +291,17 @@ files:
191
291
  - lib/rubocop/cop/fips/open_ssl.rb
192
292
  - lib/rubocop/cop/fips/sha1.rb
193
293
  - lib/rubocop/cop/gem_fetcher.rb
294
+ - lib/rubocop/cop/gitlab_security/deep_munge.rb
295
+ - lib/rubocop/cop/gitlab_security/json_serialization.rb
296
+ - lib/rubocop/cop/gitlab_security/public_send.rb
297
+ - lib/rubocop/cop/gitlab_security/redirect_to_params_update.rb
298
+ - lib/rubocop/cop/gitlab_security/send_file_params.rb
299
+ - lib/rubocop/cop/gitlab_security/sql_injection.rb
300
+ - lib/rubocop/cop/gitlab_security/system_command_injection.rb
194
301
  - lib/rubocop/cop/in_batches.rb
195
302
  - lib/rubocop/cop/internal_affairs/deprecate_cop_helper.rb
303
+ - lib/rubocop/cop/internal_affairs/missing_cop_department.rb
304
+ - lib/rubocop/cop/internal_affairs/use_restrict_on_send.rb
196
305
  - lib/rubocop/cop/line_break_after_guard_clauses.rb
197
306
  - lib/rubocop/cop/line_break_around_conditional_block.rb
198
307
  - lib/rubocop/cop/migration/update_large_table.rb
@@ -204,19 +313,23 @@ files:
204
313
  - lib/rubocop/cop/rspec/empty_line_after_let_block.rb
205
314
  - lib/rubocop/cop/rspec/empty_line_after_shared_example.rb
206
315
  - lib/rubocop/cop/rspec/example_starting_character.rb
316
+ - lib/rubocop/cop/rspec/factory_bot/excessive_create_list.rb
207
317
  - lib/rubocop/cop/rspec/have_link_parameters.rb
208
318
  - lib/rubocop/cop/rspec/single_line_hook.rb
319
+ - lib/rubocop/cop/rspec/useless_dynamic_definition.rb
209
320
  - lib/rubocop/cop/rspec/verbose_include_metadata.rb
210
321
  - lib/rubocop/cop/style/hash_transformation.rb
211
322
  - lib/rubocop/cop/style/open_struct_use.rb
212
323
  - lib/rubocop/cop/without_reactive_cache.rb
213
324
  - rubocop-all.yml
214
325
  - rubocop-bundler.yml
326
+ - rubocop-capybara.yml
215
327
  - rubocop-code_reuse.yml
216
328
  - rubocop-default.yml
217
329
  - rubocop-fips.yml
218
330
  - rubocop-gemspec.yml
219
331
  - rubocop-graphql.yml
332
+ - rubocop-internal-affairs.yml
220
333
  - rubocop-layout.yml
221
334
  - rubocop-lint.yml
222
335
  - rubocop-metrics.yml
@@ -1,19 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Gitlab
4
- module Styles
5
- module Rubocop
6
- module Gitlab::Styles::Rubocop::ModelHelpers
7
- # Returns true if the given node originated from the models directory.
8
- def in_model?(node)
9
- path = node.location.expression.source_buffer.name
10
- pwd = Dir.pwd
11
- models_path = File.join(pwd, 'app', 'models')
12
- ee_models_path = File.join(pwd, 'ee', 'app', 'models')
13
-
14
- path.start_with?(models_path, ee_models_path)
15
- end
16
- end
17
- end
18
- end
19
- end