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

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.
@@ -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