kuyio-rubocop 0.1.5 → 0.2.1

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.
data/rubocop-rails.yml ADDED
@@ -0,0 +1,195 @@
1
+ ---
2
+ require:
3
+ - rubocop-rails
4
+
5
+ # Enables Rails cops.
6
+ Rails:
7
+ Enabled: true
8
+
9
+ # Enforces consistent use of action filter methods.
10
+ Rails/ActionFilter:
11
+ Enabled: true
12
+ EnforcedStyle: action
13
+
14
+ # Checks that Active Record callbacks are declared in the order in which they will be executed.
15
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsactiverecordcallbacksorder
16
+ Rails/ActiveRecordCallbacksOrder:
17
+ Enabled: true
18
+
19
+ # Enforces that there is only one call to after_commit
20
+ # (and its aliases - after_create_commit, after_update_commit, and after_destroy_commit)
21
+ # with the same callback name per model.
22
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsaftercommitoverride
23
+ Rails/AfterCommitOverride:
24
+ Enabled: true
25
+
26
+ # Check that models subclass ApplicationRecord.
27
+ Rails/ApplicationRecord:
28
+ Enabled: false
29
+
30
+ Rails/AttributeDefaultBlockValue: # (new in 2.9)
31
+ Enabled: true
32
+
33
+ # Enforce using `blank?` and `present?`.
34
+ Rails/Blank:
35
+ Enabled: false
36
+
37
+ # Checks the correct usage of date aware methods, such as `Date.today`,
38
+ # `Date.current`, etc.
39
+ Rails/Date:
40
+ Enabled: false
41
+
42
+ # Prefer delegate method for delegations.
43
+ # Disabled per https://gitlab.com/gitlab-org/gitlab-ce/issues/35869
44
+ Rails/Delegate:
45
+ Enabled: false
46
+
47
+ # This cop checks dynamic `find_by_*` methods.
48
+ Rails/DynamicFindBy:
49
+ Enabled: false
50
+
51
+ # This cop enforces that 'exit' calls are not used within a rails app.
52
+ Rails/Exit:
53
+ Enabled: true
54
+ Exclude:
55
+ - lib/gitlab/upgrader.rb
56
+ - 'lib/backup/**/*'
57
+
58
+ # Prefer `find_by` over `where.first`.
59
+ Rails/FindBy:
60
+ Enabled: true
61
+ Include:
62
+ - 'app/**/*.rb'
63
+ - 'lib/**/*.rb'
64
+
65
+ # Enforces that ActiveRecord#find is used instead of where.take!, find_by!, and find_by_id!
66
+ # to retrieve a single record by primary key when you expect it to be found.
67
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsfindbyid
68
+ Rails/FindById:
69
+ Enabled: true
70
+
71
+ # Prefer `all.find_each` over `all.find`.
72
+ Rails/FindEach:
73
+ Enabled: true
74
+
75
+ # Prefer has_many :through to has_and_belongs_to_many.
76
+ Rails/HasAndBelongsToMany:
77
+ Enabled: true
78
+
79
+ # This cop is used to identify usages of http methods like `get`, `post`,
80
+ # `put`, `patch` without the usage of keyword arguments in your tests and
81
+ # change them to use keyword args.
82
+ Rails/HttpPositionalArguments:
83
+ Enabled: true
84
+
85
+ # Checks that Active Support’s inquiry method is not used.
86
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsinquiry
87
+ Rails/Inquiry:
88
+ Enabled: true
89
+
90
+ # Enforces that mailer names end with Mailer suffix.
91
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsmailername
92
+ Rails/MailerName:
93
+ Enabled: true
94
+
95
+ # Identifies places where defining routes with match can be replaced with a specific HTTP method.
96
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsmatchroute
97
+ Rails/MatchRoute:
98
+ Enabled: true
99
+
100
+ # Enforces the use of collection.exclude?(obj) over !collection.include?(obj).
101
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsnegateinclude
102
+ Rails/NegateInclude:
103
+ Enabled: true
104
+
105
+ # Checks for calls to puts, print, etc.
106
+ Rails/Output:
107
+ Enabled: true
108
+ Exclude:
109
+ - lib/gitlab/seeder.rb
110
+ - lib/gitlab/upgrader.rb
111
+ - 'lib/backup/**/*'
112
+ - 'lib/tasks/**/*'
113
+
114
+ # This cop checks for the use of output safety calls like html_safe and
115
+ # raw.
116
+ Rails/OutputSafety:
117
+ Enabled: true
118
+
119
+ # Enforces the use of pluck over map.
120
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railspluck
121
+ Rails/Pluck:
122
+ Enabled: true
123
+
124
+ # Identifies places where pluck is used in where query methods and can be replaced with select.
125
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railspluckinwhere
126
+ Rails/PluckInWhere:
127
+ Enabled: true
128
+
129
+ # Checks for incorrect grammar when using methods like `3.day.ago`.
130
+ Rails/PluralizationGrammar:
131
+ Enabled: true
132
+
133
+ # Enforce using `blank?` and `present?`.
134
+ Rails/Present:
135
+ Enabled: false
136
+
137
+ # Checks for `read_attribute(:attr)` and `write_attribute(:attr, val)`.
138
+ Rails/ReadWriteAttribute:
139
+ Enabled: false
140
+
141
+ # Do not assign relative date to constants.
142
+ Rails/RelativeDateConstant:
143
+ Enabled: false
144
+
145
+ # Looks for inline rendering within controller actions.
146
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsrenderinline
147
+ Rails/RenderInline:
148
+ Enabled: true
149
+
150
+ # Identifies places where render text: can be replaced with render plain:.
151
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsrenderplaintext
152
+ Rails/RenderPlainText:
153
+ Enabled: true
154
+
155
+ # Checks the arguments of ActiveRecord scopes.
156
+ Rails/ScopeArgs:
157
+ Enabled: true
158
+
159
+ # Enforces that short forms of I18n methods are used: t instead of translate and l instead of localize.
160
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railsshorti18n
161
+ Rails/ShortI18n:
162
+ Enabled: true
163
+
164
+ # Checks SQL heredocs to use .squish.
165
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railssquishedsqlheredocs
166
+ Rails/SquishedSQLHeredocs:
167
+ Enabled: true
168
+
169
+ # This cop checks for the use of Time methods without zone.
170
+ Rails/TimeZone:
171
+ Enabled: false
172
+
173
+ # Checks for the use of exit statements (namely return, break and throw) in
174
+ # transactions. This is due to the eventual unexpected behavior when using
175
+ # ActiveRecord >= 7, where transactions exited using these statements are being
176
+ # rollbacked rather than committed (pre ActiveRecord 7 behavior).
177
+ Rails/TransactionExitStatement:
178
+ Enabled: true
179
+
180
+ # This cop checks for the use of old-style attribute validation macros.
181
+ Rails/Validation:
182
+ Enabled: true
183
+
184
+ Rails/WhereEquals: # (new in 2.9)
185
+ Enabled: true
186
+
187
+ # Enforces consistent style when using exists?.
188
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railswhereexists
189
+ Rails/WhereExists:
190
+ Enabled: true
191
+
192
+ # Identifies places where manually constructed SQL in where can be replaced with where.not(...).
193
+ # https://docs.rubocop.org/rubocop-rails/2.8/cops_rails.html#railswherenot
194
+ Rails/WhereNot:
195
+ Enabled: true
data/rubocop-rspec.yml ADDED
@@ -0,0 +1,160 @@
1
+ ---
2
+ require:
3
+ - rubocop-rspec
4
+
5
+ # Check that instances are not being stubbed globally.
6
+ RSpec/AnyInstance:
7
+ Enabled: false
8
+
9
+ # Check for expectations where `be(...)` can replace `eql(...)`.
10
+ RSpec/BeEql:
11
+ Enabled: true
12
+
13
+ # We don't enforce this as we use this technique in a few places.
14
+ RSpec/BeforeAfterAll:
15
+ Enabled: false
16
+
17
+ # Enforces consistent use of be_a or be_kind_of.
18
+ # https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/131#note_1141022718
19
+ RSpec/ClassCheck:
20
+ Enabled: false
21
+
22
+ # Check that the first argument to the top level describe is the tested class or
23
+ # module.
24
+ RSpec/DescribeClass:
25
+ Enabled: false
26
+
27
+ # Checks that the second argument to `describe` specifies a method.
28
+ RSpec/DescribeMethod:
29
+ Enabled: false
30
+
31
+ # Avoid describing symbols.
32
+ RSpec/DescribeSymbol:
33
+ Enabled: true
34
+
35
+ # Checks that tests use `described_class`.
36
+ RSpec/DescribedClass:
37
+ Enabled: true
38
+ SkipBlocks: true
39
+
40
+ # Checks if an example group does not include any tests.
41
+ RSpec/EmptyExampleGroup:
42
+ Enabled: true
43
+
44
+ # Checks for long example.
45
+ RSpec/ExampleLength:
46
+ Enabled: false
47
+ Max: 5
48
+
49
+ # Do not use should when describing your tests.
50
+ RSpec/ExampleWording:
51
+ Enabled: true
52
+ CustomTransform:
53
+ be: is
54
+ have: has
55
+ not: does not
56
+ IgnoredWords: []
57
+
58
+ # Checks for `expect(...)` calls containing literal values.
59
+ RSpec/ExpectActual:
60
+ Enabled: true
61
+
62
+ # Checks for `expect {...}.to change {...}` using a block.
63
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/122#note_1089192391
64
+ RSpec/ExpectChange:
65
+ Enabled: true
66
+ EnforcedStyle: block
67
+
68
+ # Checks for opportunities to use `expect { … }.to output`.
69
+ RSpec/ExpectOutput:
70
+ Enabled: true
71
+
72
+ # Checks the file and folder naming of the spec file.
73
+ RSpec/FilePath:
74
+ Enabled: true
75
+ IgnoreMethods: true
76
+
77
+ # Checks if there are focused specs.
78
+ RSpec/Focus:
79
+ Enabled: true
80
+
81
+ # Checks the arguments passed to `before`, `around`, and `after`.
82
+ RSpec/HookArgument:
83
+ Enabled: true
84
+ EnforcedStyle: implicit
85
+
86
+ # Configuration parameters: EnforcedStyle, SupportedStyles.
87
+ # SupportedStyles: is_expected, should
88
+ RSpec/ImplicitExpect:
89
+ Enabled: true
90
+ EnforcedStyle: is_expected
91
+
92
+ # Checks for the usage of instance variables.
93
+ # https://docs.gitlab.com/ee/development/testing_guide/best_practices.html#subject-and-let-variables
94
+ RSpec/InstanceVariable:
95
+ Enabled: true
96
+
97
+ # Checks for `subject` definitions that come after `let` definitions.
98
+ RSpec/LeadingSubject:
99
+ Enabled: false
100
+
101
+ # Checks unreferenced `let!` calls being used for test setup.
102
+ RSpec/LetSetup:
103
+ Enabled: false
104
+
105
+ # Check that chains of messages are not being stubbed.
106
+ RSpec/MessageChain:
107
+ Enabled: false
108
+
109
+ # Checks that message expectations are set using spies.
110
+ RSpec/MessageSpies:
111
+ Enabled: false
112
+
113
+ # Checks for multiple top-level describes.
114
+ RSpec/MultipleDescribes:
115
+ Enabled: false
116
+
117
+ # Checks if examples contain too many `expect` calls.
118
+ RSpec/MultipleExpectations:
119
+ Enabled: false
120
+
121
+ # Checks for explicitly referenced test subjects.
122
+ RSpec/NamedSubject:
123
+ Enabled: true
124
+
125
+ # Checks for nested example groups.
126
+ RSpec/NestedGroups:
127
+ Enabled: false
128
+
129
+ # Enforces the usage of the same method on all negative message expectations.
130
+ RSpec/NotToNot:
131
+ EnforcedStyle: not_to
132
+ Enabled: true
133
+
134
+ # See https://gitlab.com/gitlab-org/ruby/gems/gitlab-styles/-/merge_requests/122#note_1089202045
135
+ RSpec/PredicateMatcher:
136
+ Enabled: false
137
+
138
+ # Check for repeated description strings in example groups.
139
+ RSpec/RepeatedDescription:
140
+ Enabled: false
141
+
142
+ # Checks that message expectations do not have a configured response.
143
+ # https://docs.rubocop.org/rubocop-rspec/1.44/cops_rspec.html#rspecstubbedmock
144
+ RSpec/StubbedMock:
145
+ Enabled: false
146
+
147
+ # Checks for stubbed test subjects.
148
+ RSpec/SubjectStub:
149
+ Enabled: false
150
+
151
+ # Prefer using verifying doubles over normal doubles.
152
+ RSpec/VerifiedDoubles:
153
+ Enabled: true
154
+
155
+ RSpec:
156
+ Language:
157
+ Helpers:
158
+ - let_it_be
159
+ - let_it_be_with_refind
160
+ - let_it_be_with_reload
@@ -0,0 +1,18 @@
1
+ ---
2
+ # Checks for implementations of the hash method which combine values using
3
+ # custom logic instead of delegating to Array#hash.
4
+ Security/CompoundHash:
5
+ Enabled: true
6
+
7
+ # This cop checks for the use of JSON class methods which have potential
8
+ # security issues.
9
+ Security/JSONLoad:
10
+ Enabled: true
11
+
12
+ # This cop checks for the use of *Kernel#eval*.
13
+ Security/Eval:
14
+ Enabled: true
15
+
16
+ # Checks for the first argument to IO.read, IO.binread, IO.write, IO.binwrite, IO.foreach, and IO.readlines
17
+ Security/IoMethods:
18
+ Enabled: true