envygeeks-rubocop 92.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (7) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +2 -0
  3. data/Gemfile +6 -0
  4. data/LICENSE +13 -0
  5. data/README.md +7 -0
  6. data/rules.yml +238 -0
  7. metadata +62 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: bfa40be68075510ae4f73f403c4f227827bed94b0287a7d137a3ca29f1fa8ef9
4
+ data.tar.gz: 7d0df7532ec61730d5469ec972d6098142cf0c6f197b75f510ea394d595cd0bc
5
+ SHA512:
6
+ metadata.gz: fc92b5e643daf2529a6235ea090ad399f397abf8cefec06e338238c6050411685dcaa4f0d48899a6cc08a92e6b7ad605d62a23b752312eb7326519681a5504d3
7
+ data.tar.gz: aa119229e7d6a794abb00f93aa7a55b2857ccd7a3f6790136f2fbb783b210877427d307b3e57dea2770ac9b6423b7761a3405164b0c5b6cf3c248004476e5d3f
@@ -0,0 +1,2 @@
1
+ inherit_from:
2
+ - rules.yml
data/Gemfile ADDED
@@ -0,0 +1,6 @@
1
+ # Frozen-String-Literal: true
2
+ # Copyright: 2020 - Jordon Bedwell
3
+ # Encoding: utf-8
4
+
5
+ source 'https://rubygems.org'
6
+ gemspec
data/LICENSE ADDED
@@ -0,0 +1,13 @@
1
+ Copyright (c) 2020 Jordon Bedwell
2
+
3
+ Permission to use, copy, modify, and/or distribute this software for
4
+ any purpose with or without fee is hereby granted, provided that the
5
+ above copyright notice and this permission notice appear in all copies.
6
+
7
+ THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
8
+ WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
9
+ MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
10
+ ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
11
+ WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
12
+ AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING
13
+ OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1,7 @@
1
+ # envygeeks-rubocop
2
+
3
+ Rules shared across all my repositories.
4
+
5
+ ```ruby
6
+ gem 'envygeeks-rubocop', '1.0.0'
7
+ ```
@@ -0,0 +1,238 @@
1
+ Layout/LineLength: { Enabled: false }
2
+ Style/HashTransformKeys: { Enabled: true }
3
+ Style/RescueStandardError: { Enabled: false }
4
+ Style/OptionalBooleanParameter: { Enabled: false }
5
+ Layout/EmptyLinesAroundModuleBody: { Enabled: false }
6
+ Layout/EmptyLinesAroundClassBody: { Enabled: false }
7
+ Layout/SpaceInsideBlockBraces: { Enabled: false }
8
+ Style/HashTransformValues: { Enabled: true }
9
+ Style/AccessorGrouping: { Enabled: false }
10
+ Style/HashEachMethods: { Enabled: true }
11
+ Naming/FileName: { Enabled: false }
12
+ Style/Documentation:
13
+ Enabled: false
14
+ #
15
+ # ðŸĪŠ
16
+ # I don't care about ordered
17
+ # comments, even ordered magic
18
+ # stuff because it's hard
19
+ #
20
+ Lint/OrderedMagicComments:
21
+ Enabled: false
22
+ #
23
+ # 🙃
24
+ # Not really necessary.
25
+ # Seriously.
26
+ #
27
+ Style/SpecialGlobalVars:
28
+ Enabled: false
29
+ #
30
+ # 😞
31
+ # Even though I target a specific version,
32
+ # a gem might still be looser.
33
+ #
34
+ Gemspec/RequiredRubyVersion:
35
+ Enabled: false
36
+ #
37
+ # ðŸĪ­
38
+ # My classes, modules, and methods rarely reach this
39
+ # length, but sometimes they do, like Pathutil.
40
+ #
41
+ Metrics/MethodLength: { Max: 24 }
42
+ Metrics/ModuleLength: { Max: 240 }
43
+ Metrics/ClassLength:
44
+ Max: 240
45
+ #
46
+ # 😞
47
+ # The default size is too small.
48
+ # 24 strikes a balance.
49
+ #
50
+ Metrics/AbcSize:
51
+ Max: 24
52
+ #
53
+ # 😞
54
+ # I prefer waterfall styled Gems.
55
+ # I find that if you have that many dependends you're
56
+ # mostly doing it wrong anyways.
57
+ #
58
+ Gemspec/OrderedDependencies: { Enabled: false }
59
+ Bundler/OrderedGems:
60
+ Enabled: false
61
+ #
62
+ # 😞
63
+ # This will trip on single line methods.
64
+ # I like full blocks on single line methods
65
+ # because it makes life easier.
66
+ #
67
+ Style/IfUnlessModifier:
68
+ Enabled: false
69
+ #
70
+ # 😞
71
+ # I prefer `private` above every method.
72
+ # It's more explicit.
73
+ #
74
+ Lint/UselessAccessModifier:
75
+ Enabled: false
76
+ #
77
+ # 😞
78
+ # Because I like to use Emoji's in comments.
79
+ # This will trip up if you use Emoji's that are
80
+ # within the private space.
81
+ #
82
+ Style/AsciiComments:
83
+ Enabled: false
84
+ #
85
+ # 😞
86
+ # It just causes to many alignment issues.
87
+ # It's too opinated.
88
+ #
89
+ Layout/MultilineMethodCallBraceLayout:
90
+ Enabled: false
91
+ #
92
+ # ðŸŽĻ
93
+ # I like my stuff to be indented 2 spaces.
94
+ # Not aligned at brackets.
95
+ #
96
+ Layout/ParameterAlignment:
97
+ EnforcedStyle: with_fixed_indentation
98
+ #
99
+ # ðŸŽĻ
100
+ # Disabled because it prevents multi-line blocks.
101
+ # I like my stuff to be indented 2 spaces.
102
+ # Not aligned at brackets.
103
+ #
104
+ Layout/MultilineMethodCallIndentation:
105
+ EnforcedStyle: indented
106
+ Enabled: false
107
+ #
108
+ # ðŸŽĻ
109
+ # I like my stuff to be indented 2 spaces.
110
+ # Not aligned at brackets.
111
+ #
112
+ Layout/MultilineOperationIndentation:
113
+ EnforcedStyle: indented
114
+ #
115
+ # ðŸŽĻ
116
+ # I like my stuff to be indented 2 spaces.
117
+ # Not aligned at brackets, or aligned independently,
118
+ # depending on if it's first, second, or not.
119
+ #
120
+ Layout/FirstParameterIndentation:
121
+ EnforcedStyle: consistent
122
+ #
123
+ # ðŸŽĻ
124
+ # It's better to have private above the method def,
125
+ # this makes it more explicit.
126
+ #
127
+ Layout/EmptyLinesAroundAccessModifier:
128
+ Enabled: false
129
+ #
130
+ # 😞
131
+ # Sometimes has false positives.
132
+ # Disabled because of it.
133
+ #
134
+ Layout/EmptyLinesAroundArguments:
135
+ Enabled: false
136
+ #
137
+ # 😞
138
+ # Sometimes I do not wish to re-enable.
139
+ # This isn't always useful.
140
+ #
141
+ Lint/MissingCopEnableDirective:
142
+ Enabled: false
143
+ #
144
+ # 😞
145
+ # Because sometimes ternary makes more sense, and
146
+ # it might need to be split out.
147
+ #
148
+ Style/MultilineTernaryOperator:
149
+ Enabled: false
150
+ #
151
+ # ðŸŽĻ
152
+ # I like my arrays to be indented 2 spaces.
153
+ # Not aligned at the bracket.
154
+ #
155
+ Layout/FirstArrayElementIndentation:
156
+ EnforcedStyle: consistent
157
+ #
158
+ # ðŸŽĻ
159
+ # I like my hashes to be indented 2 spaces.
160
+ # Not aligned at the bracket.
161
+ #
162
+ Layout/FirstHashElementIndentation:
163
+ EnforcedStyle: consistent
164
+ #
165
+ # ðŸŽĻ
166
+ # Sometimes it makes code neater.
167
+ # This is case-by-case.
168
+ #
169
+ Style/ParallelAssignment:
170
+ Enabled: false
171
+ #
172
+ # 😞
173
+ # It doesn't always detect it.
174
+ # Unknown why.
175
+ #
176
+ Style/EvalWithLocation:
177
+ Enabled: false
178
+ #
179
+ # 😞
180
+ # Sometimes has false positives.
181
+ # We still prefer [+-]=.
182
+ #
183
+ Style/SelfAssignment:
184
+ Enabled: false
185
+ #
186
+ # 😞
187
+ # This will trip on single line methods.
188
+ # I like full blocks on single line methods
189
+ # because it makes life easier.
190
+ #
191
+ Style/GuardClause:
192
+ Enabled: false
193
+ #
194
+ # 😞
195
+ # Because it falsley triggers on DateTime.parse
196
+ # When parsing an unknown time, using DateTime is
197
+ # the best way to parse out.
198
+ #
199
+ Style/DateTime:
200
+ Enabled: false
201
+ #
202
+ # 😞
203
+ # Sometimes I prefer to do simple assignment as
204
+ # a single line, if it's readable.
205
+ #
206
+ Style/Semicolon:
207
+ AllowAsExpressionSeparator: true
208
+ #
209
+ Style/PercentLiteralDelimiters:
210
+ PreferredDelimiters:
211
+ '%q': '{}'
212
+ '%Q': '{}'
213
+ '%r': '!!'
214
+ '%s': '()'
215
+ '%w': '()'
216
+ '%W': '()'
217
+ '%x': '()'
218
+ '%i': '()'
219
+ '%I': '()'
220
+ #
221
+ # Prefer %r!! over //
222
+ # ðŸŽĻ
223
+ #
224
+ Style/RegexpLiteral:
225
+ EnforcedStyle: percent_r
226
+ #
227
+ AllCops:
228
+ NewCops: enable
229
+ TargetRubyVersion: 2.7
230
+ Exclude:
231
+ - examples/**/*
232
+ - node_modules/**/*
233
+ - db/schema.rb
234
+ - vendor/**/*
235
+ Metrics/BlockLength:
236
+ Exclude:
237
+ - 'spec/**/*_spec.rb'
238
+ - 'config/**/*.rb'
metadata ADDED
@@ -0,0 +1,62 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: envygeeks-rubocop
3
+ version: !ruby/object:Gem::Version
4
+ version: 92.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Jordon Bedwell
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-09-28 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: rubocop
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: 0.92.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: 0.92.0
27
+ description: Shared Rubocop rules for EnvyGeeks
28
+ email:
29
+ - jordon@envygeeks.io
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - ".rubocop.yml"
35
+ - Gemfile
36
+ - LICENSE
37
+ - README.md
38
+ - rules.yml
39
+ homepage: https://github.com/envygeeks/rubocop
40
+ licenses:
41
+ - ISC
42
+ metadata: {}
43
+ post_install_message:
44
+ rdoc_options: []
45
+ require_paths:
46
+ - lib
47
+ required_ruby_version: !ruby/object:Gem::Requirement
48
+ requirements:
49
+ - - ">="
50
+ - !ruby/object:Gem::Version
51
+ version: 2.6.0
52
+ required_rubygems_version: !ruby/object:Gem::Requirement
53
+ requirements:
54
+ - - ">="
55
+ - !ruby/object:Gem::Version
56
+ version: '0'
57
+ requirements: []
58
+ rubygems_version: 3.1.2
59
+ signing_key:
60
+ specification_version: 4
61
+ summary: EnvyGeeks rules for Rubocop
62
+ test_files: []