envygeeks-rubocop 92.0.0

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.
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: []