ezcater_rubocop 2.4.0 → 3.0.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2096c91ae045203c587668c5973b89b1b873645d0f0d1d95641eb556dd536dff
4
- data.tar.gz: a989856aa682768b8a3e9c47270dc441cd6743420cf8884451b53579a61c6c1f
3
+ metadata.gz: de7fc9b23bdafa3b1a308dcfc89e404611d8a6d33f9b9e6a43d9d1729d221c52
4
+ data.tar.gz: 04322af4861d786fd3b35be77d6f1917c0d4b0d77dcb9279c71efb0dab751294
5
5
  SHA512:
6
- metadata.gz: 772cc5d23fa87784f870effdc91bccf4bdb12665c017b7f3a845f38c572c46a3232ad2acddd89e48be6f6566144e63b6693c4a78638e18e1231eb0086c8bfea9
7
- data.tar.gz: 7396c095538e84ca0984ecec837d18164a0bc3fdd3b2a11b5dcf8ae586f926100518ab78bb757a10f998c0b3c819d0e62a59025561653877e6f8829aa4a013ce
6
+ metadata.gz: 26e9b3cba968e6c88621d348efcc1bad551deca81cf97022a42c342f3bd1145162c14ccbb7faaf2d2d5b9abf9b2f469261a96b862a27abcf28b2067746e58786
7
+ data.tar.gz: e225a8844a45e36ed48c4e9d8139d7c743376b4c4c7655d0a6b03ef3562fa627b5abc3c17959c4ab0541477301780367f71c908706cb3db734b054bead68ca0e
data/.tool-versions ADDED
@@ -0,0 +1 @@
1
+ ruby 3.1.1
data/CHANGELOG.md CHANGED
@@ -6,102 +6,164 @@ This gem is moving onto its own [Semantic Versioning](https://semver.org/) schem
6
6
 
7
7
  Prior to v1.0.0 this gem was versioned based on the `MAJOR`.`MINOR` version of RuboCop. The first release of the ezcater_rubocop gem was `v0.49.0`.
8
8
 
9
+ ## v3.0.2
10
+
11
+ - Loosen restrictions to allow for Ruby 3.1 and latest dependency gems
12
+
13
+ ## v3.0.1
14
+
15
+ - Fix the RspecDotNotSelfDot cop to work with rubocop-rspec
16
+ - Exclude appraisal generated gemfiles for possible embedded gems in rails apps
17
+
18
+ ## v3.0.0
19
+
20
+ - Upgrade rubocop: 1.16.0
21
+ - Upgrade rubocop-rails: 2.10.1
22
+ - Upgrade rubocop-rspec: 2.3.0
23
+ - This is a major upgrade because a large number of cops have been introduced, tweaked, or renamed. Here is an aggregate of the breaking changes introduced
24
+ - RuboCop assumes that Cop classes do not define new `on_<type>` methods at runtime (e.g. via `extend` in `initialize`).
25
+ - Enable all pending cops for RuboCop 1.0.
26
+ - Change logic for cop department name computation. Cops inside deep namespaces (5 or more levels deep) now belong to departments with names that are calculated by joining module names starting from the third one with slashes as separators. For example, cop `Rubocop::Cop::Foo::Bar::Baz` now belongs to `Foo/Bar` department (previously it was `Bar`).
27
+ - `RegexpNode#parsed_tree` now processes regexps including interpolation (by blanking the interpolation before parsing, rather than skipping).
28
+ - Cop `Metrics/AbcSize` now counts ||=, &&=, multiple assignments, for, yield, iterating blocks. `&.` now count as conditions too (unless repeated on the same variable). Default bumped from 15 to 17. Consider using `rubocop -a --disable-uncorrectable` to ease transition.
29
+ - Cop `Metrics/PerceivedComplexity` now counts `else` in `case` statements, `&.`, `||=`, `&&=` and blocks known to iterate. Default bumped from 7 to 8. Consider using `rubocop -a --disable-uncorrectable` to ease transition.
30
+ - Extensive refactoring of internal classes `Team`, `Commissioner`, `Corrector`. `Cop::Cop#corrections` not completely compatible. See Upgrade Notes.
31
+ - `rubocop -a / --autocorrect` no longer run unsafe corrections; `rubocop -A / --autocorrect-all` run both safe and unsafe corrections. Options `--safe-autocorrect` is deprecated.
32
+ - Order for gems names now disregards underscores and dashes unless `ConsiderPunctuation` setting is set to `true`.
33
+ - Cop `Metrics/CyclomaticComplexity` now counts `&.`, `||=`, `&&=` and blocks known to iterate. Default bumped from 6 to 7. Consider using `rubocop -a --disable-uncorrectable` to ease transition.
34
+ - Remove support for unindent/active_support/powerpack from `Layout/HeredocIndentation`, so it only recommends using squiggy heredoc.
35
+ - Change the max line length of `Layout/LineLength` to 120 by default.
36
+ - Inspect all files given on command line unless `--only-recognized-file-types` is given.
37
+ - Enabling a cop overrides disabling its department.
38
+ - Renamed `Layout/Tab` cop to `Layout/IndentationStyle`.
39
+ - Drop support for Ruby 2.3.
40
+ - Drop support for ruby 2.4.
41
+ - Retire `RSpec/InvalidPredicateMatcher` cop.
42
+ - Enabled pending cop (`RSpec/StubbedMock`).
43
+
9
44
  ## v2.4.0
45
+
10
46
  - Fix `FeatureFlagActive` cop so that it allows feature flag names to be variables in addition to strings.
11
47
  - Add check to `FeatureFlagActive` that the first parameter is a string or a variable, and use the appropriate messaging.
12
48
 
13
49
  ## v2.3.0
50
+
14
51
  - Add `FeatureFlagActive` cop. This provides confidence that upgrading to `ezcater_feature_flag-client` v2.0.0, which
15
- contains breaking API changes, can be done safely.
52
+ contains breaking API changes, can be done safely.
16
53
 
17
54
  ## v2.2.0
55
+
18
56
  - Require Ruby 2.6 or later.
19
57
  - Set `TargetRubyVersion` to 2.6 in `rubocop_gem` configuration.
20
58
 
21
59
  ## v2.1.0
60
+
22
61
  - Enable `Rails/SaveBang` with `AllowImplicitReturn: false`, and with autocorrection disabled.
23
62
 
24
63
  ## v2.0.0
64
+
25
65
  - Update to `rubocop` v0.81.0, `rubocop-rspec` v1.38.1 and `rubocop-rails` v2.5.2.
26
66
  - This is being released as a major update because cops have been renamed so this is unlikely to be
27
67
  a drop-in replacement.
28
68
  - This is the first release to support Ruby 2.7.
29
69
 
30
70
  ## v1.4.1
71
+
31
72
  - Correct a matching syntax issue with `Ezcater/RubyTimeout` so that it applies in the expected cases.
32
73
 
33
74
  ## v1.4.0
75
+
34
76
  - Add `Ezcater/RubyTimeout` cop.
35
77
 
36
78
  ## v1.3.0
79
+
37
80
  - Add `Ezcater/GraphqlFieldsNaming` cop.
38
81
 
39
82
  ## v1.2.0
83
+
40
84
  - Add `Ezcater/RailsTopLevelSqlExecute` to replace `ActiveRecord::Base.connection.execute` with `execute` in `db/migrate/`.
41
85
 
42
86
  ## v1.1.1
87
+
43
88
  - Exclude `lib/tasks/` for `Ezcater/RailsEnv` and `Ezcater/DirectEnvCheck`.
44
89
 
45
90
  ## v1.1.0
91
+
46
92
  - Add `Ezcater/RailsEnv` cop.
47
93
  - Add `Ezcater/DirectEnvCheck` cop.
48
94
 
49
95
  ## v1.0.2
96
+
50
97
  - Exclude bootsnap cache directory (`tmp/cache`).
51
98
 
52
99
  ## v1.0.1
100
+
53
101
  - Disable `Rails/HasAndBelongsToMany` cop.
54
102
  - Disable `Style/DoubleNegation` cop.
55
103
 
56
104
  ## v1.0.0
105
+
57
106
  - Begin using Semantic Versioning
58
107
  - Delete `Ezcater/PrivateAttr`
59
108
 
60
109
  ## v0.61.1
110
+
61
111
  - `Layout/IndentHash` enforces consistent style
62
112
  - `Layout/IndentArray` enforces consistent style
63
113
 
64
114
  ## v0.61.0
115
+
65
116
  - Update to `rubocop` v0.61.1.
66
117
  - Update to `rubocop-rspec` v1.30.1
67
118
 
68
119
  ## v0.59.0
120
+
69
121
  - Disable `Style/NegatedIf`.
70
122
 
71
123
  ## v0.58.4
124
+
72
125
  - Update `Metrics/BlockLength` to exclude `app/graphql/**/*.rb`
73
126
  - Move `Metrics/BlockLength` exclusions for `lib/tasks/**/*.rake` and
74
127
  `config/environments/*.rb` into rubocop_rails.yml
75
128
 
76
129
  ## v0.58.3
130
+
77
131
  - Updated `Layout/MultilineMethodCallIndentation` to `indented`.
78
132
 
79
133
  ## v0.58.2
134
+
80
135
  - Updated `Ezcater/RspecDotNotSelfDot` to flag offenses for `::class_method`.
81
136
 
82
137
  ## v0.58.1
138
+
83
139
  - Update to `rubocop-rspec` v1.28.0.
84
140
  - Remove configuration for removed `FactoryBot/DynamicAttributeDefinedStatically` cop.
85
141
 
86
142
  ## v0.58.0
143
+
87
144
  - Update to rubocop v0.58.1.
88
145
  - Enable `Naming/MemoizedInstanceVariableName` with required leading
89
146
  underscore.
90
147
 
91
148
  ## v0.57.4
149
+
92
150
  - Configure `Rspec/MessageExpectation` with the `allow` style.
93
151
 
94
152
  ## v0.57.3
153
+
95
154
  - Do not use broken parser v2.5.1.1.
96
155
 
97
156
  ## v0.57.2
157
+
98
158
  - Fix `Ezcater/RspecRequireHttpStatusMatcher` cop.
99
159
 
100
160
  ## v0.57.1
161
+
101
162
  - Add `Ezcater/RspecRequireHttpStatusMatcher` cop.
102
163
  - Enable `Rails/HttpStatus` cop and enforce symbols.
103
164
 
104
165
  ## v0.57.0
166
+
105
167
  - Update to rubocop v0.57.2 and rubocop-rspec v1.27.0.
106
168
  - Disable new cop `Naming/MemoizedInstanceVariableName` until configuration
107
169
  options are available.
@@ -112,100 +174,128 @@ Prior to v1.0.0 this gem was versioned based on the `MAJOR`.`MINOR` version of R
112
174
  - Exclude appraisal generated gemfiles for gems.
113
175
 
114
176
  ## v0.52.8
177
+
115
178
  - Add new configuration `rubocop_gem` for use with gems.
116
179
 
117
180
  ## v0.52.7
181
+
118
182
  - Enable `Style/FrozenStringLiteralComment` with the `when_needed` style.
119
183
 
120
184
  ## v0.52.6
185
+
121
186
  - Configure `Style/TrailingCommaInLiteral` with `consistent_comma` style.
122
187
 
123
188
  ## v0.52.5
189
+
124
190
  - Add `Ezcater/RspecMatchOrderedArray` cop.
125
191
  - Fix array equality matcher violations in specs.
126
192
 
127
193
  ## v0.52.4
194
+
128
195
  - Configure `Style/RegexpLiteral` cop with the `AllowInnerSlashes: true` option.
129
196
 
130
197
  ## v0.52.3
198
+
131
199
  - Disable `Style/GuardClause` cop.
132
200
  - Exclude `spec/integrations` for `RSpec/DescribeClass`.
133
201
 
134
202
  ## v0.52.2
203
+
135
204
  - Disable `Style/IfUnlessModifier` cop.
136
205
 
137
206
  ## v0.52.1
207
+
138
208
  - Allow staging as a rails environment for the Rails/UnknownEnv cop.
139
209
 
140
210
  ## v0.52.0
211
+
141
212
  - Update to rubocop v0.52.1 and rubocop-rspec v1.22.2.
142
213
 
143
214
  ## v0.51.8
215
+
144
216
  - Disable `RSpec/LetSetup` cop.
145
217
 
146
218
  ## v0.51.7
219
+
147
220
  - Rename `Ezcater/RspecRequireGqlErrorHelpers` cop to `Ezcater/RequireGqlErrorHelpers`.
148
221
 
149
222
  ## v0.51.6
223
+
150
224
  - Add `Ezcater/RailsConfiguration` cop.
151
225
  - Exclude `config/environments/*.rb` for the `Metrics/BlockLength` cop.
152
226
 
153
227
  ## v0.51.5
228
+
154
229
  - Add `Ezcater/RspecRequireGqlErrorHelpers` cop.
155
230
 
156
231
  ## v0.51.4
232
+
157
233
  - Exclude `Gemfile` for the `Metrics/LineLength` cop.
158
234
  - Add `system` to the excluded spec directories for `RSpec/DescribeClass`.
159
235
 
160
236
  ## v0.51.3
237
+
161
238
  - Configure `RSpec/DescribeClass` to exclude the spec directories which
162
239
  are excluded by explicit metadata.
163
240
  - Exclude `lib/tasks` for the `Metrics/BlockLength` cop.
164
241
 
165
242
  ## v0.51.2
243
+
166
244
  - Configure `Style/RaiseArgs` to use the `compact` style.
167
245
 
168
246
  ## v0.51.1
247
+
169
248
  - Disable `Rails/FilePath` cop.
170
249
  - Disable `Style/EmptyLiteral` cop.
171
250
 
172
251
  ## v0.51.0
252
+
173
253
  - Update to rubocop v0.51.0 and rubocop-rspec v1.20.0.
174
254
  - Disable new cop `RSpec/ContextWording`.
175
255
  - Disable `Style/StderrPuts` for `bin/yarn`.
176
256
 
177
257
  ## v0.50.5
258
+
178
259
  - Configure `RSpec/NestedGroups` with a `Max` value of 5.
179
260
 
180
261
  ## v0.50.4
262
+
181
263
  - Configure `Style/PercentLiteralDelimiters` to prefer parentheses.
182
264
 
183
265
  ## v0.50.3
266
+
184
267
  - Configure `RSpec/MultipleExpectations` with a `Max` value of 5.
185
268
 
186
269
  ## v0.50.2
270
+
187
271
  - Add `Ezcater/PrivateAttr` custom cop.
188
272
  - Configure `RSpec/ExampleLength` with a `Max` value of 25.
189
273
  - Add `circle_rubocop.rb` script.
190
274
 
191
275
  ## v0.50.1
276
+
192
277
  - Add shared configuration.
193
278
  - Do not apply `Ezcater/StyleDig` to access using a range.
194
279
 
195
280
  ## v0.50.0
281
+
196
282
  - Update to rubocop v0.50.0 and rubocop-rspec v1.18.0.
197
283
  - Do not apply `Ezcater/StyleDig` to assignments with nested access.
198
284
 
199
285
  # v0.49.3
286
+
200
287
  - Do not apply `Ezcater/StyleDig` to access using a range.
201
288
 
202
289
  # v0.49.2
290
+
203
291
  - Do not apply `Ezcater/StyleDig` to assignments to with nested access.
204
292
 
205
293
  ## v0.49.1
294
+
206
295
  - Add `Ezcater/RspecRequireBrowserMock` cop.
207
296
 
208
297
  ## v0.49.0
298
+
209
299
  - Initial release.
210
300
  - Add `Ezcater/RspecRequireFeatureFlagMock` cop.
211
301
  - Add `Ezcater/RspecDotNotSelfDot` cop.
data/README.md CHANGED
@@ -61,11 +61,11 @@ configuration for existing offenses and auto-correction.
61
61
 
62
62
  This gem contains a script, `circle_rubocop.rb`, that can be used to run RuboCop in CI.
63
63
 
64
- The behavior of the script is that all files are checked on master or if the rubocop
65
- configuration has changed. On non-master branches, only the files added or changed on
64
+ The behavior of the script is that all files are checked on main or if the rubocop
65
+ configuration has changed. On non-main branches, only the files added or changed on
66
66
  the branch are checked.
67
67
 
68
- For non-master branches, `[rubocop skip]` can be included in the commit message to skip
68
+ For non-main branches, `[rubocop skip]` can be included in the commit message to skip
69
69
  running rubocop.
70
70
 
71
71
  ## Versioning
@@ -74,15 +74,15 @@ This gem is using [Semantic Versioning](https://semver.org/). All version bumps
74
74
 
75
75
  ## Custom Cops
76
76
 
77
- 1. [RailsConfiguration](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rails_configuration.rb) - Enforce use of `Rails.configuration` instead of `Rails.application.config`.
78
- 1. [RequireGqlErrorHelpers](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/require_gql_error_helpers.rb) - Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly.
79
- 1. [RspecDotNotSelfDot](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_dot_not_self_dot.rb) - Enforce ".<class method>" instead of "self.<class method>" and "::<class method>" for example group description.
80
- 1. [RspecMatchOrderedArray](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_match_ordered_array.rb) - Enforce use of `match_ordered_array` matcher instead of `eq` matcher. This matcher comes from the [ezcater_matchers](https://github.com/ezcater/ezcater_matchers) gem.
81
- 1. [RspecRequireBrowserMock](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_require_browser_mock.rb) - Enforce use of `mock_ezcater_app`, `mock_chrome_browser` & `mock_custom_browser` helpers instead of mocking `Browser` or `EzBrowser` directly.
82
- 1. [RspecRequireFeatureFlagMock](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_require_feature_flag_mock.rb) - Enforce use of `mock_feature_flag` helper instead of mocking `FeatureFlag.is_active?` directly.
83
- 1. [RspecRequireHttpStatusMatcher](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/rspec_require_http_status_matcher.rb) - Use the HTTP status code matcher, like `expect(response).to have_http_status :bad_request`, rather than `expect(response.code).to eq 400`
84
- 1. [StyleDig](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/style_dig.rb) - Recommend `dig` for deeply nested access.
85
- 1. [GraphqlFieldsNaming](https://github.com/ezcater/ezcater_rubocop/blob/master/lib/rubocop/cop/ezcater/graphql_fields_naming.rb) - Enforce the configured style when naming graphQL fields and arguments.
77
+ 1. [RailsConfiguration](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rails_configuration.rb) - Enforce use of `Rails.configuration` instead of `Rails.application.config`.
78
+ 1. [RequireGqlErrorHelpers](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/require_gql_error_helpers.rb) - Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly.
79
+ 1. [RspecDotNotSelfDot](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rspec_dot_not_self_dot.rb) - Enforce ".<class method>" instead of "self.<class method>" and "::<class method>" for example group description.
80
+ 1. [RspecMatchOrderedArray](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rspec_match_ordered_array.rb) - Enforce use of `match_ordered_array` matcher instead of `eq` matcher. This matcher comes from the [ezcater_matchers](https://github.com/ezcater/ezcater_matchers) gem.
81
+ 1. [RspecRequireBrowserMock](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rspec_require_browser_mock.rb) - Enforce use of `mock_ezcater_app`, `mock_chrome_browser` & `mock_custom_browser` helpers instead of mocking `Browser` or `EzBrowser` directly.
82
+ 1. [RspecRequireFeatureFlagMock](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rspec_require_feature_flag_mock.rb) - Enforce use of `mock_feature_flag` helper instead of mocking `FeatureFlag.is_active?` directly.
83
+ 1. [RspecRequireHttpStatusMatcher](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/rspec_require_http_status_matcher.rb) - Use the HTTP status code matcher, like `expect(response).to have_http_status :bad_request`, rather than `expect(response.code).to eq 400`
84
+ 1. [StyleDig](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/style_dig.rb) - Recommend `dig` for deeply nested access.
85
+ 1. [GraphqlFieldsNaming](https://github.com/ezcater/ezcater_rubocop/blob/main/lib/rubocop/cop/ezcater/graphql_fields_naming.rb) - Enforce the configured style when naming graphQL fields and arguments.
86
86
 
87
87
  ## Development
88
88
 
@@ -4,10 +4,10 @@
4
4
  require "English"
5
5
 
6
6
  # This script is used to run Rubocop in CircleCI so that on branches only
7
- # the changed files are checked and on master all files are checked.
7
+ # the changed files are checked and on main all files are checked.
8
8
  #
9
9
  # Additionally if rubocop configuration is changed, all files are checked, and
10
- # if the commit description on a non-master branch includes [rubocop skip]
10
+ # if the commit description on a non-main branch includes [rubocop skip]
11
11
  # then rubocop is skipped.
12
12
 
13
13
  def run(command)
@@ -20,7 +20,7 @@ def rubocop_everything
20
20
  end
21
21
 
22
22
  begin
23
- if ENV["CIRCLE_BRANCH"] == "master"
23
+ if ENV["CIRCLE_BRANCH"] == "main"
24
24
  rubocop_everything
25
25
  else
26
26
  git_commit_desc = `git log --format=%B -n 1 $CIRCLE_SHA1`
@@ -30,7 +30,7 @@ begin
30
30
  exit 0
31
31
  end
32
32
 
33
- changed_files = `git diff --diff-filter=d --name-only origin/master...$CIRCLE_BRANCH`.split("\n").join(" ")
33
+ changed_files = `git diff --diff-filter=d --name-only origin/main...$CIRCLE_BRANCH`.split("\n").join(" ")
34
34
  raise "Failed to identify changed files" unless $CHILD_STATUS.success?
35
35
 
36
36
  if changed_files.strip.empty? || changed_files.include?(".rubocop")
data/conf/rubocop.yml CHANGED
@@ -2,6 +2,8 @@ require: ezcater_rubocop
2
2
 
3
3
  AllCops:
4
4
  DisplayCopNames: true
5
+ NewCops: disable
6
+ SuggestExtensions: false
5
7
 
6
8
  Layout/FirstHashElementIndentation:
7
9
  EnforcedStyle: consistent
@@ -20,8 +22,8 @@ Metrics/AbcSize:
20
22
 
21
23
  Metrics/BlockLength:
22
24
  Exclude:
23
- - "*.gemspec"
24
- - "spec/**/*.rb"
25
+ - "*.gemspec"
26
+ - "spec/**/*.rb"
25
27
 
26
28
  Metrics/CyclomaticComplexity:
27
29
  Enabled: false
@@ -29,7 +31,7 @@ Metrics/CyclomaticComplexity:
29
31
  Layout/LineLength:
30
32
  Max: 120
31
33
  Exclude:
32
- - "Gemfile"
34
+ - "Gemfile"
33
35
 
34
36
  Metrics/MethodLength:
35
37
  Enabled: true
@@ -44,9 +46,12 @@ Naming/MemoizedInstanceVariableName:
44
46
 
45
47
  Naming/MethodParameterName:
46
48
  AllowedNames:
47
- - e
48
- - ex
49
- - id
49
+ - e
50
+ - ex
51
+ - id
52
+
53
+ Naming/VariableNumber:
54
+ Enabled: false
50
55
 
51
56
  Rails:
52
57
  Enabled: false
@@ -56,12 +61,12 @@ RSpec/ContextWording:
56
61
 
57
62
  RSpec/DescribeClass:
58
63
  Exclude:
59
- - "spec/requests/**/*.rb"
60
- - "spec/features/**/*.rb"
61
- - "spec/routing/**/*.rb"
62
- - "spec/views/**/*.rb"
63
- - "spec/system/**/*.rb"
64
- - "spec/integrations/**/*.rb"
64
+ - "spec/requests/**/*.rb"
65
+ - "spec/features/**/*.rb"
66
+ - "spec/routing/**/*.rb"
67
+ - "spec/views/**/*.rb"
68
+ - "spec/system/**/*.rb"
69
+ - "spec/integrations/**/*.rb"
65
70
 
66
71
  RSpec/ExampleLength:
67
72
  Max: 25
@@ -109,12 +114,12 @@ Style/NumericLiterals:
109
114
 
110
115
  Style/PercentLiteralDelimiters:
111
116
  PreferredDelimiters:
112
- default: '()'
113
- '%i': '()'
114
- '%I': '()'
115
- '%r': '{}'
116
- '%w': '()'
117
- '%W': '()'
117
+ default: "()"
118
+ "%i": "()"
119
+ "%I": "()"
120
+ "%r": "{}"
121
+ "%w": "()"
122
+ "%W": "()"
118
123
 
119
124
  Style/RaiseArgs:
120
125
  EnforcedStyle: compact
@@ -131,6 +136,9 @@ Style/StderrPuts:
131
136
  Exclude:
132
137
  - "bin/yarn"
133
138
 
139
+ Style/StringConcatenation:
140
+ Enabled: false
141
+
134
142
  Style/StringLiterals:
135
143
  EnforcedStyle: double_quotes
136
144
 
@@ -146,6 +154,184 @@ Style/TrailingCommaInHashLiteral:
146
154
  # enabled or disabled. New cops are not enabled by default until the
147
155
  # next major release.
148
156
 
157
+ # New cops introduced between 0.81.0 and 1.16.0
158
+ Layout/BeginEndAlignment:
159
+ Enabled: false
160
+
161
+ Layout/EmptyLinesAroundAttributeAccessor:
162
+ Enabled: false
163
+
164
+ Layout/IndentationStyle:
165
+ Enabled: false
166
+
167
+ Layout/SpaceAroundMethodCallOperator:
168
+ Enabled: false
169
+
170
+ Lint/BinaryOperatorWithIdenticalOperands:
171
+ Enabled: false
172
+
173
+ Lint/ConstantDefinitionInBlock:
174
+ Enabled: false
175
+
176
+ Lint/DeprecatedOpenSSLConstant:
177
+ Enabled: false
178
+
179
+ Lint/DuplicateElsifCondition:
180
+ Enabled: false
181
+
182
+ Lint/DuplicateRequire:
183
+ Enabled: false
184
+
185
+ Lint/DuplicateRescueException:
186
+ Enabled: false
187
+
188
+ Lint/EmptyConditionalBody:
189
+ Enabled: false
190
+
191
+ Lint/EmptyFile:
192
+ Enabled: false
193
+
194
+ Lint/FloatComparison:
195
+ Enabled: false
196
+
197
+ Lint/HashCompareByIdentity:
198
+ Enabled: false
199
+
200
+ Lint/IdentityComparison:
201
+ Enabled: false
202
+
203
+ Lint/MissingSuper:
204
+ Enabled: false
205
+
206
+ Lint/MixedRegexpCaptureTypes:
207
+ Enabled: false
208
+
209
+ Lint/OutOfRangeRegexpRef:
210
+ Enabled: false
211
+
212
+ Lint/RedundantSafeNavigation:
213
+ Enabled: false
214
+
215
+ Lint/SelfAssignment:
216
+ Enabled: false
217
+
218
+ Lint/TopLevelReturnWithArgument:
219
+ Enabled: false
220
+
221
+ Lint/TrailingCommaInAttributeDeclaration:
222
+ Enabled: false
223
+
224
+ Lint/UnreachableLoop:
225
+ Enabled: false
226
+
227
+ Lint/UselessMethodDefinition:
228
+ Enabled: false
229
+
230
+ Lint/UselessTimes:
231
+ Enabled: false
232
+
233
+ Rails/ArelStar:
234
+ Enabled: false
235
+
236
+ Rails/Pick:
237
+ Enabled: false
238
+
239
+ Rails/RedundantForeignKey:
240
+ Enabled: false
241
+
242
+ RSpec/Capybara/CurrentPathExpectation:
243
+ Enabled: false
244
+
245
+ RSpec/Capybara/FeatureMethods:
246
+ Enabled: false
247
+
248
+ RSpec/Capybara/VisibilityMatcher:
249
+ Enabled: false
250
+
251
+ RSpec/EmptyHook:
252
+ Enabled: false
253
+
254
+ RSpec/FactoryBot/AttributeDefinedStatically:
255
+ Enabled: false
256
+
257
+ RSpec/FactoryBot/CreateList:
258
+ Enabled: false
259
+
260
+ RSpec/FactoryBot/FactoryClassName:
261
+ Enabled: false
262
+
263
+ RSpec/MultipleMemoizedHelpers:
264
+ Enabled: false
265
+
266
+ RSpec/NotToNot:
267
+ Enabled: false
268
+
269
+ RSpec/Rails/HttpStatus:
270
+ Enabled: false
271
+
272
+ RSpec/RepeatedIncludeExample:
273
+ Enabled: false
274
+
275
+ RSpec/StubbedMock:
276
+ Enabled: false
277
+
278
+ RSpec/VariableDefinition:
279
+ Enabled: false
280
+
281
+ RSpec/VariableName:
282
+ Enabled: false
283
+
284
+ Style/AccessorGrouping:
285
+ Enabled: false
286
+
287
+ Style/BisectedAttrAccessor:
288
+ Enabled: false
289
+
290
+ Style/CaseLikeIf:
291
+ Enabled: false
292
+
293
+ Style/CombinableLoops:
294
+ Enabled: false
295
+
296
+ Style/ExponentialNotation:
297
+ Enabled: false
298
+
299
+ Style/GlobalStdStream:
300
+ Enabled: false
301
+
302
+ Style/HashAsLastArrayItem:
303
+ Enabled: false
304
+
305
+ Style/HashLikeCase:
306
+ Enabled: false
307
+
308
+ Style/KeywordParametersOrder:
309
+ Enabled: false
310
+
311
+ Style/OptionalBooleanParameter:
312
+ Enabled: false
313
+
314
+ Style/RedundantAssignment:
315
+ Enabled: false
316
+
317
+ Style/RedundantRegexpCharacterClass:
318
+ Enabled: false
319
+
320
+ Style/RedundantRegexpEscape:
321
+ Enabled: false
322
+
323
+ Style/RedundantSelfAssignment:
324
+ Enabled: false
325
+
326
+ Style/SingleArgumentDig:
327
+ Enabled: false
328
+
329
+ Style/SlicingWithRange:
330
+ Enabled: false
331
+
332
+ Style/SoleNestedConditional:
333
+ Enabled: false
334
+
149
335
  #### New cops in v0.81
150
336
 
151
337
  Lint/RaiseException:
@@ -9,6 +9,7 @@ AllCops:
9
9
  TargetRailsVersion: 5.2
10
10
  Exclude:
11
11
  - tmp/cache/**/*
12
+ - '**/gemfiles/*.gemfile'
12
13
 
13
14
  Metrics/BlockLength:
14
15
  inherit_mode:
data/config/default.yml CHANGED
@@ -5,57 +5,57 @@ Ezcater/GraphqlFieldsNaming:
5
5
  - snake_case
6
6
  - camelCase
7
7
  Include:
8
- - 'app/graphql/**/*.rb'
8
+ - "app/graphql/**/*.rb"
9
9
 
10
10
  Ezcater/RailsConfiguration:
11
- Description: 'Enforce the use of `Rails.configuration` instead of `Rails.application.config`.'
11
+ Description: "Enforce the use of `Rails.configuration` instead of `Rails.application.config`."
12
12
  Enabled: true
13
13
 
14
14
  Ezcater/RailsEnv:
15
- Description: 'Enforce the use of `Rails.configuration.x.<foo>` instead of checking `Rails.env`.'
15
+ Description: "Enforce the use of `Rails.configuration.x.<foo>` instead of checking `Rails.env`."
16
16
  Enabled: false
17
17
 
18
18
  Ezcater/DirectEnvCheck:
19
- Description: 'Enforce the use of `Rails.configuration.x.<foo>` instead of checking `ENV`.'
19
+ Description: "Enforce the use of `Rails.configuration.x.<foo>` instead of checking `ENV`."
20
20
  Enabled: false
21
21
 
22
22
  Ezcater/FeatureFlagActive:
23
- Description: 'Enforce the proper arguments are given to EzcaterFeatureFlag.active?'
23
+ Description: "Enforce the proper arguments are given to EzcaterFeatureFlag.active?"
24
24
  Enabled: true
25
25
 
26
26
  Ezcater/RspecDotNotSelfDot:
27
27
  Description: 'Enforce ".<class method>" instead of "self.<class method>" for example group description.'
28
28
  Enabled: true
29
29
  Include:
30
- - '**/*_spec.rb'
30
+ - "**/*_spec.rb"
31
31
 
32
32
  Ezcater/RspecRequireBrowserMock:
33
- Description: 'Enforce use of `mock_ezcater_app`, `mock_chrome_browser` & `mock_custom_browser` helpers instead of mocking `Browser` or `EzBrowser` directly.'
33
+ Description: "Enforce use of `mock_ezcater_app`, `mock_chrome_browser` & `mock_custom_browser` helpers instead of mocking `Browser` or `EzBrowser` directly."
34
34
  Enabled: true
35
35
  Include:
36
- - '**/*_spec.rb'
36
+ - "**/*_spec.rb"
37
37
 
38
38
  Ezcater/RspecRequireFeatureFlagMock:
39
- Description: 'Enforce use of `mock_feature_flag` helpers instead of mocking `FeatureFlag.is_active?` directly.'
39
+ Description: "Enforce use of `mock_feature_flag` helpers instead of mocking `FeatureFlag.is_active?` directly."
40
40
  Enabled: true
41
41
  Include:
42
- - '**/*_spec.rb'
42
+ - "**/*_spec.rb"
43
43
 
44
44
  Ezcater/RspecRequireHttpStatusMatcher:
45
- Description: 'Use the HTTP status code matcher, like `expect(response).to have_http_status :bad_request`, rather than `expect(response.code).to eq 400`'
45
+ Description: "Use the HTTP status code matcher, like `expect(response).to have_http_status :bad_request`, rather than `expect(response.code).to eq 400`"
46
46
  Enabled: true
47
47
  Include:
48
- - '**/*_spec.rb'
48
+ - "**/*_spec.rb"
49
49
 
50
50
  Ezcater/RequireGqlErrorHelpers:
51
- Description: 'Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly.'
51
+ Description: "Use the helpers provided by `GQLErrors` instead of raising `GraphQL::ExecutionError` directly."
52
52
  Enabled: true
53
53
 
54
54
  Ezcater/StyleDig:
55
- Description: 'Recommend `dig` for deeply nested access.'
55
+ Description: "Recommend `dig` for deeply nested access."
56
56
  Enabled: true
57
57
  AutoCorrect: false
58
58
 
59
59
  Ezcater/RubyTimeout:
60
- Description: 'Disallow use of `Timeout.timeout` because it is unsafe and can cause unexpected behavior.'
60
+ Description: "Disallow use of `Timeout.timeout` because it is unsafe and can cause unexpected behavior."
61
61
  Enabled: true
@@ -44,15 +44,15 @@ Gem::Specification.new do |spec|
44
44
 
45
45
  spec.required_ruby_version = ">= 2.6"
46
46
 
47
- spec.add_development_dependency "bundler", "~> 2.1"
47
+ spec.add_development_dependency "bundler"
48
48
  spec.add_development_dependency "pry-byebug"
49
- spec.add_development_dependency "rake", "~> 12.3"
50
- spec.add_development_dependency "rspec", "~> 3.0"
49
+ spec.add_development_dependency "rake", "~> 13.0"
50
+ spec.add_development_dependency "rspec", "~> 3.11"
51
51
  spec.add_development_dependency "rspec_junit_formatter"
52
- spec.add_development_dependency "simplecov", "< 0.18.0"
52
+ spec.add_development_dependency "simplecov"
53
53
 
54
- spec.add_runtime_dependency "parser", "!= 2.5.1.1"
55
- spec.add_runtime_dependency "rubocop", "~> 0.81.0"
56
- spec.add_runtime_dependency "rubocop-rails", "~> 2.5.2"
57
- spec.add_runtime_dependency "rubocop-rspec", "~> 1.38.1"
54
+ spec.add_runtime_dependency "parser", ">= 2.6"
55
+ spec.add_runtime_dependency "rubocop", ">= 1.16.0", "< 2.0"
56
+ spec.add_runtime_dependency "rubocop-rails", ">= 2.10.1", "< 3.0"
57
+ spec.add_runtime_dependency "rubocop-rspec", ">= 2.3.0", "< 3.0"
58
58
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EzcaterRubocop
4
- VERSION = "2.4.0"
4
+ VERSION = "3.0.2"
5
5
  end
@@ -40,7 +40,7 @@ module RuboCop
40
40
 
41
41
  return if includes_camelize?(node)
42
42
 
43
- check_name(node, first_arg.value, node.first_argument.loc.expression)
43
+ check_name(node, first_arg.value, node.first_argument)
44
44
  end
45
45
 
46
46
  alias on_super on_send
@@ -65,8 +65,8 @@ module RuboCop
65
65
  node.children[1]
66
66
  end
67
67
 
68
- def message(style)
69
- format(MSG, style: style)
68
+ def message(msg_style)
69
+ format(MSG, style: msg_style)
70
70
  end
71
71
  end
72
72
  end
@@ -24,29 +24,45 @@ module RuboCop
24
24
  # end
25
25
 
26
26
  class RspecDotNotSelfDot < Cop
27
- SELF_DOT_REGEXP = /["']self\./.freeze
28
- COLON_COLON_REGEXP = /["'](\:\:)/.freeze
27
+ include RuboCop::RSpec::Language
28
+ extend RuboCop::RSpec::Language::NodePattern
29
+
30
+ RSPEC_EXAMPLE_PREFIXES = ["", "x", "f"].freeze
31
+ EXAMPLE_GROUP_IDENTIFIERS = (RSPEC_EXAMPLE_PREFIXES.map do |prefix|
32
+ %w(describe context feature).map { |identifier| "#{prefix}#{identifier}" }
33
+ end.flatten + %w(example_group)).freeze
34
+ EXAMPLE_IDENTIFIERS = (RSPEC_EXAMPLE_PREFIXES.map do |prefix|
35
+ %w(it specify example scenario).map { |identifier| "#{prefix}#{identifier}" }
36
+ end.flatten + %w(its focus skip)).freeze
37
+
38
+ SELF_DOT_REGEXP = /\Aself\./.freeze # rubocop:disable Style/RedundantFreeze
39
+ COLON_COLON_REGEXP = /\A(\:\:)/.freeze # rubocop:disable Style/RedundantFreeze
29
40
 
30
41
  SELF_DOT_MSG = 'Use ".<class method>" instead of "self.<class method>" for example group description.'
31
42
  COLON_COLON_MSG = 'Use ".<class method>" instead of "::<class method>" for example group description.'
32
43
 
33
- def_node_matcher :example_group_match, <<-PATTERN
34
- (send _ #{RuboCop::RSpec::Language::ExampleGroups::ALL.node_pattern_union} $_ ...)
44
+ def_node_matcher :example_group?, <<~PATTERN
45
+ (block
46
+ (send #rspec? {#{EXAMPLE_GROUP_IDENTIFIERS.map { |i| ":#{i}" }.join(' ')}}
47
+ (str ...) ...
48
+ ) ...
49
+ )
35
50
  PATTERN
36
51
 
37
- def on_send(node)
38
- example_group_match(node) do |doc|
39
- if doc.source.match?(SELF_DOT_REGEXP)
40
- add_offense(doc, location: :expression, message: SELF_DOT_MSG)
41
- elsif doc.source.match?(COLON_COLON_REGEXP)
42
- add_offense(doc, location: :expression, message: COLON_COLON_MSG)
43
- end
52
+ def on_block(node)
53
+ return unless example_group?(node)
54
+
55
+ str_node = node.send_node.arguments[0]
56
+ if str_node.value.match?(SELF_DOT_REGEXP)
57
+ add_offense(str_node, location: :expression, message: SELF_DOT_MSG)
58
+ elsif str_node.value.match?(COLON_COLON_REGEXP)
59
+ add_offense(str_node, location: :expression, message: COLON_COLON_MSG)
44
60
  end
45
61
  end
46
62
 
47
63
  def autocorrect(node)
48
64
  lambda do |corrector|
49
- experession_end = node.source.match?(COLON_COLON_REGEXP) ? 3 : 6
65
+ experession_end = node.source.match?("::") ? 3 : 6
50
66
  corrector.replace(Parser::Source::Range.new(node.source_range.source_buffer,
51
67
  node.source_range.begin_pos + 1,
52
68
  node.source_range.begin_pos + experession_end), ".")
metadata CHANGED
@@ -1,29 +1,29 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ezcater_rubocop
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0
4
+ version: 3.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - ezCater, Inc
8
- autorequire:
8
+ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-05-28 00:00:00.000000000 Z
11
+ date: 2022-04-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - "~>"
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '2.1'
19
+ version: '0'
20
20
  type: :development
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: '2.1'
26
+ version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: pry-byebug
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -44,28 +44,28 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '12.3'
47
+ version: '13.0'
48
48
  type: :development
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: '12.3'
54
+ version: '13.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rspec
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: '3.0'
61
+ version: '3.11'
62
62
  type: :development
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: '3.0'
68
+ version: '3.11'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec_junit_formatter
71
71
  requirement: !ruby/object:Gem::Requirement
@@ -84,72 +84,90 @@ dependencies:
84
84
  name: simplecov
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - "<"
87
+ - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: 0.18.0
89
+ version: '0'
90
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: 0.18.0
96
+ version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: parser
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - "!="
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 2.5.1.1
103
+ version: '2.6'
104
104
  type: :runtime
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.5.1.1
110
+ version: '2.6'
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - "~>"
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: 1.16.0
118
+ - - "<"
116
119
  - !ruby/object:Gem::Version
117
- version: 0.81.0
120
+ version: '2.0'
118
121
  type: :runtime
119
122
  prerelease: false
120
123
  version_requirements: !ruby/object:Gem::Requirement
121
124
  requirements:
122
- - - "~>"
125
+ - - ">="
123
126
  - !ruby/object:Gem::Version
124
- version: 0.81.0
127
+ version: 1.16.0
128
+ - - "<"
129
+ - !ruby/object:Gem::Version
130
+ version: '2.0'
125
131
  - !ruby/object:Gem::Dependency
126
132
  name: rubocop-rails
127
133
  requirement: !ruby/object:Gem::Requirement
128
134
  requirements:
129
- - - "~>"
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: 2.10.1
138
+ - - "<"
130
139
  - !ruby/object:Gem::Version
131
- version: 2.5.2
140
+ version: '3.0'
132
141
  type: :runtime
133
142
  prerelease: false
134
143
  version_requirements: !ruby/object:Gem::Requirement
135
144
  requirements:
136
- - - "~>"
145
+ - - ">="
146
+ - !ruby/object:Gem::Version
147
+ version: 2.10.1
148
+ - - "<"
137
149
  - !ruby/object:Gem::Version
138
- version: 2.5.2
150
+ version: '3.0'
139
151
  - !ruby/object:Gem::Dependency
140
152
  name: rubocop-rspec
141
153
  requirement: !ruby/object:Gem::Requirement
142
154
  requirements:
143
- - - "~>"
155
+ - - ">="
144
156
  - !ruby/object:Gem::Version
145
- version: 1.38.1
157
+ version: 2.3.0
158
+ - - "<"
159
+ - !ruby/object:Gem::Version
160
+ version: '3.0'
146
161
  type: :runtime
147
162
  prerelease: false
148
163
  version_requirements: !ruby/object:Gem::Requirement
149
164
  requirements:
150
- - - "~>"
165
+ - - ">="
151
166
  - !ruby/object:Gem::Version
152
- version: 1.38.1
167
+ version: 2.3.0
168
+ - - "<"
169
+ - !ruby/object:Gem::Version
170
+ version: '3.0'
153
171
  description: ezCater custom cops and shared configuration
154
172
  email:
155
173
  - engineering@ezcater.com
@@ -160,6 +178,7 @@ extra_rdoc_files: []
160
178
  files:
161
179
  - ".github/CODEOWNERS"
162
180
  - ".github/PULL_REQUEST_TEMPLATE.md"
181
+ - ".tool-versions"
163
182
  - CHANGELOG.md
164
183
  - Gemfile
165
184
  - LICENSE.txt
@@ -192,7 +211,7 @@ licenses:
192
211
  - MIT
193
212
  metadata:
194
213
  allowed_push_host: https://rubygems.org
195
- post_install_message:
214
+ post_install_message:
196
215
  rdoc_options: []
197
216
  require_paths:
198
217
  - lib
@@ -207,8 +226,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
207
226
  - !ruby/object:Gem::Version
208
227
  version: '0'
209
228
  requirements: []
210
- rubygems_version: 3.0.3
211
- signing_key:
229
+ rubygems_version: 3.3.7
230
+ signing_key:
212
231
  specification_version: 4
213
232
  summary: ezCater custom cops and shared configuration
214
233
  test_files: []