rubomatic 0.0.1.pre.rc.2 → 0.0.1.pre.rc.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,110 @@
1
+ Metrics/AbcSize:
2
+ Description: >-
3
+ A calculated magnitude based on number of assignments,
4
+ branches, and conditions.
5
+ Reference:
6
+ - http://c2.com/cgi/wiki?AbcMetric
7
+ - https://en.wikipedia.org/wiki/ABC_Software_Metric
8
+ Enabled: true
9
+ VersionAdded: '0.27'
10
+ VersionChanged: '1.5'
11
+ # The ABC size is a calculated magnitude, so this number can be an Integer or
12
+ # a Float.
13
+ AllowedMethods: [ ]
14
+ AllowedPatterns: [ ]
15
+ CountRepeatedAttributes: false
16
+ Max: 250
17
+
18
+ Metrics/BlockLength:
19
+ Description: 'Avoid long blocks with many lines.'
20
+ Enabled: true
21
+ VersionAdded: '0.44'
22
+ VersionChanged: '1.5'
23
+ CountComments: false # count full line comments?
24
+ Max: 500
25
+ CountAsOne:
26
+ - 'array'
27
+ - 'heredoc'
28
+ - 'hash'
29
+ AllowedMethods:
30
+ # By default, exclude the `#refine` method, as it tends to have larger
31
+ # associated blocks.
32
+ - refine
33
+ AllowedPatterns: [ ]
34
+ Exclude:
35
+ - '**/*.gemspec'
36
+
37
+ Metrics/BlockNesting:
38
+ Description: 'Avoid excessive block nesting.'
39
+ StyleGuide: '#three-is-the-number-thou-shalt-count'
40
+ Enabled: true
41
+ VersionAdded: '0.25'
42
+ VersionChanged: '0.47'
43
+ CountBlocks: false
44
+ Max: 10
45
+
46
+ Metrics/ClassLength:
47
+ Description: 'Avoid classes longer than 100 lines of code.'
48
+ Enabled: false
49
+ VersionAdded: '0.25'
50
+ VersionChanged: '0.87'
51
+ CountComments: false # count full line comments?
52
+ Max: 100
53
+ CountAsOne: [ ]
54
+
55
+ # Avoid complex methods.
56
+ Metrics/CyclomaticComplexity:
57
+ Description: >-
58
+ A complexity metric that is strongly correlated to the number
59
+ of test cases needed to validate a method.
60
+ Enabled: true
61
+ VersionAdded: '0.25'
62
+ VersionChanged: '0.81'
63
+ AllowedMethods: [ ]
64
+ AllowedPatterns: [ ]
65
+ Max: 150
66
+
67
+ Metrics/MethodLength:
68
+ Description: 'Avoid methods longer than 10 lines of code.'
69
+ StyleGuide: '#short-methods'
70
+ Enabled: true
71
+ VersionAdded: '0.25'
72
+ VersionChanged: '1.5'
73
+ CountComments: false # count full line comments?
74
+ Max: 350
75
+ CountAsOne:
76
+ - 'array'
77
+ - 'hash'
78
+ - 'heredoc'
79
+ AllowedMethods: [ ]
80
+ AllowedPatterns: [ ]
81
+
82
+ Metrics/ModuleLength:
83
+ Description: 'Avoid modules longer than 100 lines of code.'
84
+ Enabled: false
85
+ VersionAdded: '0.31'
86
+ VersionChanged: '0.87'
87
+ CountComments: false # count full line comments?
88
+ Max: 100
89
+ CountAsOne: [ ]
90
+
91
+ Metrics/ParameterLists:
92
+ Description: 'Avoid parameter lists longer than three or four parameters.'
93
+ StyleGuide: '#too-many-params'
94
+ Enabled: true
95
+ VersionAdded: '0.25'
96
+ VersionChanged: '1.5'
97
+ Max: 5
98
+ CountKeywordArgs: false
99
+ MaxOptionalParameters: 3
100
+
101
+ Metrics/PerceivedComplexity:
102
+ Description: >-
103
+ A complexity metric geared towards measuring complexity for a
104
+ human reader.
105
+ Enabled: true
106
+ VersionAdded: '0.25'
107
+ VersionChanged: '0.81'
108
+ AllowedMethods: [ ]
109
+ AllowedPatterns: [ ]
110
+ Max: 75
@@ -0,0 +1,6 @@
1
+ Migration/DepartmentName:
2
+ Description: >-
3
+ Check that cop names in rubocop:disable (etc) comments are
4
+ given with department name.
5
+ Enabled: true
6
+ VersionAdded: '0.75'
@@ -0,0 +1,316 @@
1
+ Naming/AccessorMethodName:
2
+ Description: Check the naming of accessor methods for get_/set_.
3
+ StyleGuide: '#accessor_mutator_method_names'
4
+ Enabled: true
5
+ VersionAdded: '0.50'
6
+
7
+ Naming/AsciiIdentifiers:
8
+ Description: 'Use only ascii symbols in identifiers and constants.'
9
+ StyleGuide: '#english-identifiers'
10
+ Enabled: true
11
+ VersionAdded: '0.50'
12
+ VersionChanged: '0.87'
13
+ AsciiConstants: true
14
+
15
+ Naming/BinaryOperatorParameterName:
16
+ Description: 'When defining binary operators, name the argument other.'
17
+ StyleGuide: '#other-arg'
18
+ Enabled: true
19
+ VersionAdded: '0.50'
20
+ VersionChanged: '1.2'
21
+
22
+ Naming/BlockForwarding:
23
+ Description: 'Use anonymous block forwarding.'
24
+ StyleGuide: '#block-forwarding'
25
+ Enabled: <%= ENV['RUBY_MAJOR'].to_f >= 3.1 %>
26
+ VersionAdded: '1.24'
27
+ EnforcedStyle: anonymous
28
+ SupportedStyles:
29
+ - anonymous
30
+ - explicit
31
+ BlockForwardingName: block
32
+
33
+ Naming/BlockParameterName:
34
+ Description: >-
35
+ Checks for block parameter names that contain capital letters,
36
+ end in numbers, or do not meet a minimal length.
37
+ Enabled: true
38
+ VersionAdded: '0.53'
39
+ VersionChanged: '0.77'
40
+ # Parameter names may be equal to or greater than this value
41
+ MinNameLength: 1
42
+ AllowNamesEndingInNumbers: true
43
+ # Allowed names that will not register an offense
44
+ AllowedNames: [ ]
45
+ # Forbidden names that will register an offense
46
+ ForbiddenNames: [ ]
47
+
48
+ Naming/ClassAndModuleCamelCase:
49
+ Description: 'Use CamelCase for classes and modules.'
50
+ StyleGuide: '#camelcase-classes'
51
+ Enabled: true
52
+ VersionAdded: '0.50'
53
+ VersionChanged: '0.85'
54
+ # Allowed class/module names can be specified here.
55
+ # These can be full or part of the name.
56
+ AllowedNames:
57
+ - module_parent
58
+
59
+ Naming/ConstantName:
60
+ Description: 'Constants should use SCREAMING_SNAKE_CASE.'
61
+ StyleGuide: '#screaming-snake-case'
62
+ Enabled: true
63
+ VersionAdded: '0.50'
64
+
65
+ Naming/FileName:
66
+ Description: 'Use snake_case for source file names.'
67
+ StyleGuide: '#snake-case-files'
68
+ Enabled: true
69
+ VersionAdded: '0.50'
70
+ VersionChanged: '1.23'
71
+ # Camel case file names listed in `AllCops:Include` and all file names listed
72
+ # in `AllCops:Exclude` are excluded by default. Add extra excludes here.
73
+ Exclude: [ ]
74
+ # When `true`, requires that each source file should define a class or module
75
+ # with a name which matches the file name (converted to ... case).
76
+ # It further expects it to be nested inside modules which match the names
77
+ # of subdirectories in its path.
78
+ ExpectMatchingDefinition: false
79
+ # When `false`, changes the behavior of ExpectMatchingDefinition to match only
80
+ # whether each source file's class or module name matches the file name --
81
+ # not whether the nested module hierarchy matches the subdirectory path.
82
+ CheckDefinitionPathHierarchy: true
83
+ # paths that are considered root directories, for example "lib" in most ruby projects
84
+ # or "app/models" in rails projects
85
+ CheckDefinitionPathHierarchyRoots:
86
+ - lib
87
+ - spec
88
+ - test
89
+ - src
90
+ # If non-`nil`, expect all source file names to match the following regex.
91
+ # Only the file name itself is matched, not the entire file path.
92
+ # Use anchors as necessary if you want to match the entire name rather than
93
+ # just a part of it.
94
+ Regex: ~
95
+ # With `IgnoreExecutableScripts` set to `true`, this cop does not
96
+ # report offending filenames for executable scripts (i.e. source
97
+ # files with a shebang in the first line).
98
+ IgnoreExecutableScripts: true
99
+ AllowedAcronyms:
100
+ - CLI
101
+ - DSL
102
+ - ACL
103
+ - API
104
+ - ASCII
105
+ - CPU
106
+ - CSS
107
+ - DNS
108
+ - EOF
109
+ - GUID
110
+ - HTML
111
+ - HTTP
112
+ - HTTPS
113
+ - ID
114
+ - IP
115
+ - JSON
116
+ - LHS
117
+ - QPS
118
+ - RAM
119
+ - RHS
120
+ - RPC
121
+ - SLA
122
+ - SMTP
123
+ - SQL
124
+ - SSH
125
+ - TCP
126
+ - TLS
127
+ - TTL
128
+ - UDP
129
+ - UI
130
+ - UID
131
+ - UUID
132
+ - URI
133
+ - URL
134
+ - UTF8
135
+ - VM
136
+ - XML
137
+ - XMPP
138
+ - XSRF
139
+ - XSS
140
+
141
+ Naming/HeredocDelimiterCase:
142
+ Description: 'Use configured case for heredoc delimiters.'
143
+ StyleGuide: '#heredoc-delimiters'
144
+ Enabled: true
145
+ VersionAdded: '0.50'
146
+ VersionChanged: '1.2'
147
+ EnforcedStyle: uppercase
148
+ SupportedStyles:
149
+ - lowercase
150
+ - uppercase
151
+
152
+ Naming/HeredocDelimiterNaming:
153
+ Description: 'Use descriptive heredoc delimiters.'
154
+ StyleGuide: '#heredoc-delimiters'
155
+ Enabled: true
156
+ VersionAdded: '0.50'
157
+ ForbiddenDelimiters:
158
+ - !ruby/regexp '/(^|\s)(EO[A-Z]{1}|END)(\s|$)/'
159
+
160
+ Naming/InclusiveLanguage:
161
+ Description: 'Recommend the use of inclusive language instead of problematic terms.'
162
+ Enabled: false
163
+ VersionAdded: '1.18'
164
+ VersionChanged: '1.21'
165
+ CheckIdentifiers: true
166
+ CheckConstants: true
167
+ CheckVariables: true
168
+ CheckStrings: false
169
+ CheckSymbols: true
170
+ CheckComments: true
171
+ CheckFilepaths: true
172
+ FlaggedTerms:
173
+ whitelist:
174
+ Regex: !ruby/regexp '/white[-_\s]?list/'
175
+ Suggestions:
176
+ - allowlist
177
+ - permit
178
+ blacklist:
179
+ Regex: !ruby/regexp '/black[-_\s]?list/'
180
+ Suggestions:
181
+ - denylist
182
+ - block
183
+ slave:
184
+ WholeWord: true
185
+ Suggestions: [ 'replica', 'secondary', 'follower' ]
186
+
187
+ Naming/MemoizedInstanceVariableName:
188
+ Description: >-
189
+ Memoized method name should match memo instance variable name.
190
+ Enabled: true
191
+ VersionAdded: '0.53'
192
+ VersionChanged: '1.2'
193
+ EnforcedStyleForLeadingUnderscores: disallowed
194
+ SupportedStylesForLeadingUnderscores:
195
+ - disallowed
196
+ - required
197
+ - optional
198
+ Safe: false
199
+
200
+ Naming/MethodName:
201
+ Description: 'Use the configured style when naming methods.'
202
+ StyleGuide: '#snake-case-symbols-methods-vars'
203
+ Enabled: true
204
+ VersionAdded: '0.50'
205
+ EnforcedStyle: snake_case
206
+ SupportedStyles:
207
+ - snake_case
208
+ - camelCase
209
+ # Method names matching patterns are always allowed.
210
+ #
211
+ # AllowedPatterns:
212
+ # - '\A\s*onSelectionBulkChange\s*'
213
+ # - '\A\s*onSelectionCleared\s*'
214
+ #
215
+ AllowedPatterns: [ ]
216
+
217
+ Naming/MethodParameterName:
218
+ Description: >-
219
+ Checks for method parameter names that contain capital letters,
220
+ end in numbers, or do not meet a minimal length.
221
+ Enabled: true
222
+ VersionAdded: '0.53'
223
+ VersionChanged: '0.77'
224
+ # Parameter names may be equal to or greater than this value
225
+ MinNameLength: 1
226
+ AllowNamesEndingInNumbers: true
227
+ # Allowed names that will not register an offense
228
+ AllowedNames:
229
+ - as
230
+ - at
231
+ - by
232
+ - cc
233
+ - db
234
+ - id
235
+ - if
236
+ - in
237
+ - io
238
+ - ip
239
+ - of
240
+ - 'on'
241
+ - os
242
+ - pp
243
+ - to
244
+ # Forbidden names that will register an offense
245
+ ForbiddenNames: [ ]
246
+
247
+ Naming/PredicateName:
248
+ Description: 'Check the names of predicate methods.'
249
+ StyleGuide: '#bool-methods-qmark'
250
+ Enabled: true
251
+ VersionAdded: '0.50'
252
+ VersionChanged: '0.77'
253
+ # Predicate name prefixes.
254
+ NamePrefix:
255
+ - is_
256
+ - has_
257
+ - have_
258
+ # Predicate name prefixes that should be removed.
259
+ ForbiddenPrefixes:
260
+ - is_
261
+ - has_
262
+ - have_
263
+ # Predicate names which, despite having a forbidden prefix, or no `?`,
264
+ # should still be accepted
265
+ AllowedMethods:
266
+ - is_a?
267
+ # Method definition macros for dynamically generated methods.
268
+ MethodDefinitionMacros:
269
+ - define_method
270
+ - define_singleton_method
271
+ # Exclude Rspec specs because there is a strong convention to write spec
272
+ # helpers in the form of `have_something` or `be_something`.
273
+ Exclude:
274
+ - 'spec/**/*'
275
+
276
+ Naming/RescuedExceptionsVariableName:
277
+ Description: 'Use consistent rescued exceptions variables naming.'
278
+ Enabled: true
279
+ VersionAdded: '0.67'
280
+ VersionChanged: '0.68'
281
+ PreferredName: e
282
+
283
+ Naming/VariableName:
284
+ Description: 'Use the configured style when naming variables.'
285
+ StyleGuide: '#snake-case-symbols-methods-vars'
286
+ Enabled: true
287
+ VersionAdded: '0.50'
288
+ VersionChanged: '1.8'
289
+ EnforcedStyle: snake_case
290
+ SupportedStyles:
291
+ - snake_case
292
+ - camelCase
293
+ AllowedIdentifiers: [ ]
294
+ AllowedPatterns: [ ]
295
+
296
+ Naming/VariableNumber:
297
+ Description: 'Use the configured style when numbering symbols, methods and variables.'
298
+ StyleGuide: '#snake-case-symbols-methods-vars-with-numbers'
299
+ Enabled: true
300
+ VersionAdded: '0.50'
301
+ VersionChanged: '1.4'
302
+ EnforcedStyle: normalcase
303
+ SupportedStyles:
304
+ - snake_case
305
+ - normalcase
306
+ - non_integer
307
+ CheckMethodNames: true
308
+ CheckSymbols: true
309
+ AllowedIdentifiers:
310
+ - capture3 # Open3.capture3
311
+ - iso8601 # Time#iso8601
312
+ - rfc1123_date # CGI.rfc1123_date
313
+ - rfc822 # Time#rfc822
314
+ - rfc2822 # Time#rfc2822
315
+ - rfc3339 # DateTime.rfc3339
316
+ AllowedPatterns: [ ]
@@ -0,0 +1,128 @@
1
+ Performance:
2
+ Enabled: false
3
+
4
+ Performance/BigDecimalWithNumericArgument:
5
+ Enabled: true
6
+
7
+ Performance/ChainArrayAllocation:
8
+ Enabled: true
9
+
10
+ Performance/CollectionLiteralInLoop:
11
+ Enabled: true
12
+ MinSize: 1
13
+
14
+ Performance/CompareWithBlock:
15
+ Enabled: true
16
+
17
+ Performance/ConstantRegexp:
18
+ Enabled: true
19
+
20
+ Performance/Count:
21
+ Enabled: true
22
+
23
+ Performance/DeletePrefix:
24
+ Enabled: true
25
+ SafeMultiline: false
26
+
27
+ Performance/DeleteSuffix:
28
+ Enabled: true
29
+ SafeMultiline: false
30
+
31
+ Performance/Detect:
32
+ Enabled: true
33
+
34
+ Performance/DoubleStartEndWith:
35
+ Enabled: true
36
+ IncludeActiveSupportAliases: true
37
+
38
+ Performance/EndWith:
39
+ Enabled: true
40
+ SafeMultiline: false
41
+
42
+ Performance/FixedSize:
43
+ Enabled: true
44
+
45
+ Performance/FlatMap:
46
+ Enabled: true
47
+ EnabledForFlattenWithoutParams: true
48
+
49
+ Performance/InefficientHashSearch:
50
+ Enabled: true
51
+
52
+ Performance/IoReadlines:
53
+ Enabled: true
54
+
55
+ Performance/MapCompact:
56
+ Enabled: true
57
+
58
+ Performance/MethodObjectAsBlock:
59
+ Enabled: true
60
+
61
+ Performance/OpenStruct:
62
+ Enabled: true
63
+
64
+ Performance/RangeInclude:
65
+ Enabled: true
66
+
67
+ Performance/RedundantBlockCall:
68
+ Enabled: true
69
+
70
+ Performance/RedundantEqualityComparisonBlock:
71
+ Enabled: true
72
+
73
+ Performance/RedundantMatch:
74
+ Enabled: true
75
+
76
+ Performance/RedundantMerge:
77
+ Enabled: true
78
+ MaxKeyValuePairs: 2
79
+
80
+ Performance/RedundantSortBlock:
81
+ Enabled: true
82
+
83
+ Performance/RedundantSplitRegexpArgument:
84
+ Enabled: true
85
+
86
+ Performance/RedundantStringChars:
87
+ Enabled: true
88
+
89
+ Performance/RegexpMatch:
90
+ Enabled: true
91
+
92
+ Performance/ReverseEach:
93
+ Enabled: true
94
+
95
+ Performance/ReverseFirst:
96
+ Enabled: true
97
+
98
+ Performance/SelectMap:
99
+ Enabled: true
100
+
101
+ Performance/Size:
102
+ Enabled: true
103
+
104
+ Performance/SortReverse:
105
+ Enabled: true
106
+
107
+ Performance/Squeeze:
108
+ Enabled: true
109
+
110
+ Performance/StartWith:
111
+ Enabled: true
112
+ SafeMultiline: false
113
+
114
+ Performance/StringIdentifierArgument:
115
+ Enabled: true
116
+
117
+ Performance/StringInclude:
118
+ Enabled: true
119
+
120
+ Performance/StringReplacement:
121
+ Enabled: true
122
+
123
+ Performance/Sum:
124
+ Enabled: true
125
+ OnlySumOrWithInitialValue: false
126
+
127
+ Performance/TimesMap:
128
+ Enabled: true