rubocop-ruby2_0 1.0.4 → 2.0.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.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/CHANGELOG.md +43 -9
- data/CONTRIBUTING.md +25 -11
- data/LICENSE.txt +1 -1
- data/README.md +271 -150
- data/SECURITY.md +5 -4
- data/lib/rubocop/ruby2_0/railtie.rb +14 -0
- data/lib/rubocop/ruby2_0/version.rb +3 -1
- data/lib/rubocop/ruby2_0.rb +15 -1
- data/rubocop-lts/rails.yml +11 -0
- data/rubocop-lts/rails_rspec.yml +6 -0
- data/rubocop-lts/rspec.yml +9 -0
- data/rubocop-lts/ruby.yml +43 -0
- data/rubocop-lts/ruby_rspec.yml +6 -0
- data/rubocop-lts/rubygem.yml +6 -0
- data/rubocop-lts/rubygem_rspec.yml +4 -0
- data/rubocop-lts/strict/rails.yml +22 -0
- data/rubocop-lts/strict/rspec.yml +14 -0
- data/rubocop-lts/strict/ruby.yml +14 -0
- data/rubocop.yml +14 -10
- data/sig/rubocop/ruby2_0.rbs +4 -2
- data.tar.gz.sig +2 -0
- metadata +191 -33
- metadata.gz.sig +0 -0
- data/spec/config/rspec/rspec_core.rb +0 -13
- data/spec/rubocop/ruby2_0_spec.rb +0 -7
- data/spec/spec_helper.rb +0 -7
data/README.md
CHANGED
@@ -16,18 +16,106 @@
|
|
16
16
|
</a>
|
17
17
|
</p>
|
18
18
|
|
19
|
-
|
19
|
+
---
|
20
|
+
|
21
|
+
NOTE: You might be interested in [`rubocop-lts`][rlts] which sits as a higher level than this gem, and can keep pace with whatever version of Ruby you happen to be on.
|
22
|
+
|
23
|
+
| Gem Name | Version | Downloads | CI | Activity |
|
24
|
+
|-------------------------------|-------------------------------------|----------------------------------------------------------------------|-----------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------|
|
25
|
+
| [`rubocop-lts`][⛳️lts-gh] | [![Gem Version][⛳️lts-vi]][⛳️lts-g] | [![Total DL][🖇️lts-dti]][⛳️lts-g] [![DL Rank][🏘️lts-rti]][⛳️lts-g] | [![Current][🚎lts-cwfi]][🚎lts-cwf] | [![Open Issues][📗lts-ioi]][📗lts-io] [![Closed Issues][🚀lts-ici]][🚀lts-ic] [![Open PRs][💄lts-poi]][💄lts-po] [![Closed PRs][👽lts-pci]][👽lts-pc] |
|
26
|
+
| [`rubocop-ruby2_0`][⛳️ini-gh] | [![Gem Version][⛳️ini-vi]][⛳️ini-g] | [![Total DL][🖇️ini-dti]][⛳️ini-g] [![DL Rank][🏘️ini-rti]][⛳️ini-g] | [![Current][🚎ini-cwfi]][🚎ini-cwf] [![Heads][🖐ini-hwfi]][🖐ini-hwf] | [![Open Issues][📗ini-ioi]][📗ini-io] [![Closed Issues][🚀ini-ici]][🚀ini-ic] [![Open PRs][💄ini-poi]][💄ini-po] [![Closed PRs][👽ini-pci]][👽ini-pc] |
|
27
|
+
|
28
|
+
<!-- columnar badge #s for Project Health table:
|
29
|
+
⛳️
|
30
|
+
🖇
|
31
|
+
🏘
|
32
|
+
🚎
|
33
|
+
🖐
|
34
|
+
🧮
|
35
|
+
📗
|
36
|
+
🚀
|
37
|
+
💄
|
38
|
+
👽
|
39
|
+
-->
|
40
|
+
|
41
|
+
[⛳️lts-vi]: http://img.shields.io/gem/v/rubocop-lts.svg
|
42
|
+
[🖇️lts-dti]: https://img.shields.io/gem/dt/rubocop-lts.svg
|
43
|
+
[🏘️lts-rti]: https://img.shields.io/gem/rt/rubocop-lts.svg
|
44
|
+
[🚎lts-cwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml
|
45
|
+
[🚎lts-cwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/current.yml/badge.svg
|
46
|
+
[🖐lts-hwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml
|
47
|
+
[🖐lts-hwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/heads.yml/badge.svg
|
48
|
+
[🧮lts-lwf]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml
|
49
|
+
[🧮lts-lwfi]: https://github.com/rubocop-lts/rubocop-lts/actions/workflows/legacy.yml/badge.svg
|
50
|
+
[📗lts-io]: https://github.com/rubocop-lts/rubocop-lts/issues
|
51
|
+
[📗lts-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-lts
|
52
|
+
[🚀lts-ic]: https://github.com/rubocop-lts/rubocop-lts/issues?q=is%3Aissue+is%3Aclosed
|
53
|
+
[🚀lts-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-lts
|
54
|
+
[💄lts-po]: https://github.com/rubocop-lts/rubocop-lts/pulls
|
55
|
+
[💄lts-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-lts
|
56
|
+
[👽lts-pc]: https://github.com/rubocop-lts/rubocop-lts/pulls?q=is%3Apr+is%3Aclosed
|
57
|
+
[👽lts-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-lts
|
58
|
+
[⛳️lts-g]: https://rubygems.org/gems/rubocop-lts
|
59
|
+
[⛳️lts-gh]: https://github.com/rubocop-lts/rubocop-lts
|
60
|
+
|
61
|
+
[⛳️ini-vi]: http://img.shields.io/gem/v/rubocop-ruby2_0.svg
|
62
|
+
[🖇️ini-dti]: https://img.shields.io/gem/dt/rubocop-ruby2_0.svg
|
63
|
+
[🏘️ini-rti]: https://img.shields.io/gem/rt/rubocop-ruby2_0.svg
|
64
|
+
[🚎ini-cwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml
|
65
|
+
[🚎ini-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/current.yml/badge.svg
|
66
|
+
[🖐ini-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml
|
67
|
+
[🖐ini-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/heads.yml/badge.svg
|
68
|
+
[🧮ini-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml
|
69
|
+
[🧮ini-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions/workflows/legacy.yml/badge.svg
|
70
|
+
[📗ini-io]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
|
71
|
+
[📗ini-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_0
|
72
|
+
[🚀ini-ic]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues?q=is%3Aissue+is%3Aclosed
|
73
|
+
[🚀ini-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby2_0
|
74
|
+
[💄ini-po]: https://github.com/rubocop-lts/rubocop-ruby2_0/pulls
|
75
|
+
[💄ini-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby2_0
|
76
|
+
[👽ini-pc]: https://github.com/rubocop-lts/rubocop-ruby2_0/pulls?q=is%3Apr+is%3Aclosed
|
77
|
+
[👽ini-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby2_0
|
78
|
+
[⛳️ini-g]: https://rubygems.org/gems/rubocop-ruby2_0
|
79
|
+
[⛳️ini-gh]: https://github.com/rubocop-lts/rubocop-ruby2_0
|
80
|
+
|
81
|
+
# 🦾 Rubocop::Ruby20
|
20
82
|
|
21
83
|
See the intro [blog post](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj)!
|
22
84
|
|
23
|
-
This gem
|
85
|
+
This gem configures many gems for you:
|
86
|
+
|
87
|
+
- rubocop
|
88
|
+
- rubocop-gradual
|
89
|
+
- rubocop-md
|
90
|
+
- rubocop-rake
|
91
|
+
- rubocop-shopify
|
92
|
+
- rubocop-thread_safety
|
93
|
+
- standard
|
94
|
+
- standard-performance (incl. rubocop-performance)
|
95
|
+
- standard-custom
|
96
|
+
- standard-rubocop-lts (ruby version-specific rules)
|
97
|
+
|
98
|
+
And optionally, if you are using RSpec:
|
99
|
+
|
100
|
+
- rubocop-rspec
|
101
|
+
|
102
|
+
And optionally, if you are building a RubyGem:
|
103
|
+
|
104
|
+
- rubocop-packaging
|
105
|
+
|
106
|
+
And optionally, if you are building a Rails app:
|
107
|
+
|
108
|
+
- standard-rails (incl. rubocop-rails)
|
109
|
+
- betterlint
|
24
110
|
|
25
111
|
Awareness of `rubocop`'s lack of [SemVer][semver] adherence isn't evenly dispersed in the Ruby community.
|
26
112
|
|
27
|
-
The
|
28
|
-
for [not following SemVer](https://github.com/rubocop/rubocop/issues/4243)
|
29
|
-
|
30
|
-
|
113
|
+
The RuboCop team [has reasons](https://github.com/semver/semver/issues/317)
|
114
|
+
for [not following SemVer](https://github.com/rubocop/rubocop/issues/4243).
|
115
|
+
|
116
|
+
NOTE: They think they are following SemVer,
|
117
|
+
but their interpretation differs from mine, and seems to differ from the
|
118
|
+
[intent of SemVer's creator][major-versions-not-sacred].
|
31
119
|
|
32
120
|
<p align="left">
|
33
121
|
<a href="https://metaredux.com/posts/2022/04/21/rubocop-turns-10.html" target="_blank" rel="noopener">
|
@@ -36,128 +124,188 @@ what brought you here.
|
|
36
124
|
</p>
|
37
125
|
|
38
126
|
The purpose of this gem is to constrain the `rubocop` dependency of a project in
|
39
|
-
a [SemVer compliant]
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
[
|
75
|
-
|
76
|
-
[
|
77
|
-
[
|
78
|
-
[
|
79
|
-
[
|
80
|
-
[
|
81
|
-
|
127
|
+
a [SemVer compliant][semver]
|
128
|
+
(Semantic Versioning, [Major Versions are Not Sacred][major-versions-not-sacred])
|
129
|
+
way that aligns with its desired minimum compatible/supported Ruby version.
|
130
|
+
Secondary purpose is to provide default configurations for a bevy of RuboCop-related plugins.
|
131
|
+
|
132
|
+
## 💎 Ruby Version Support
|
133
|
+
|
134
|
+
This gem facilitates equivalent of adding a `~> ` version constrained `rubocop`(-ish +more) dependency,
|
135
|
+
thus minimizing the risk of a rubocop minor / patch upgrade breaking the build.
|
136
|
+
|
137
|
+
### What's that you say?
|
138
|
+
|
139
|
+
This gem will install a suite of tools that will **analyze & lint code** intended to support any version of Ruby >= 2.0.
|
140
|
+
|
141
|
+
This gem helps insulate projects from RuboCop churn by enshrining many conventions
|
142
|
+
that have been shown over years to reduce problems.
|
143
|
+
|
144
|
+
#### Background
|
145
|
+
|
146
|
+
Each [spring `rubocop` drops][rubocop-support-matrix] the ability to **install** and **run** `rubocop` on an EOL'd Ruby.
|
147
|
+
Eventually `rubocop` will drop the ability to **analyze code** intended to support an EOL'd Ruby,
|
148
|
+
as they already have for Ruby 1.9. RuboCop has never run properly on Ruby 1.8.
|
149
|
+
This gem, via [standard (Standard Ruby)][standardrb], allows RuboCop to analyze Ruby 2.0 code,
|
150
|
+
by turning off certain rules that only apply to later Rubies.
|
151
|
+
|
152
|
+
When the `rubocop` team makes _any_ of these changes they
|
153
|
+
[only bump the minor version][rubocop-versioning] of RuboCop,
|
154
|
+
in violation of SemVer ([they disagree][rubocop-release-policy]).
|
155
|
+
|
156
|
+
In other words, RuboCop intentionally does not bump the major version when they drop
|
157
|
+
_analysis_, _runtime_, or _installation_ support for a given version of Ruby.
|
158
|
+
|
159
|
+
This is a primary _raison d’être_ for this project.
|
160
|
+
To get a better understanding of how SemVer is intended to work read this article from the creator of SemVer:
|
161
|
+
|
162
|
+
- ["Major Version Numbers are Not Sacred"][major-versions-not-sacred]!
|
163
|
+
|
164
|
+
[rubocop-support-matrix]: https://docs.rubocop.org/rubocop/compatibility.html#support-matrix
|
165
|
+
[rubocop-versioning]: https://docs.rubocop.org/rubocop/versioning.html
|
166
|
+
[rubocop-release-policy]: https://docs.rubocop.org/rubocop/versioning.html#release-policy
|
167
|
+
[major-versions-not-sacred]: https://tom.preston-werner.com/2022/05/23/major-version-numbers-are-not-sacred.html
|
168
|
+
[standardrb]: https://github.com/standardrb/standard
|
169
|
+
|
170
|
+
### 👪 A Gem Family
|
171
|
+
|
172
|
+
The `rubocop-lts` family of gems has a version supporting any version of Ruby you need.
|
173
|
+
They can be used as development dependencies for libraries or applications.
|
174
|
+
|
175
|
+
- [`rubocop-lts`][rlts]
|
176
|
+
- [`standard-rubocop-lts`][stdrlts]
|
177
|
+
- [`rubocop-ruby1_8`][rr18]
|
178
|
+
- [`rubocop-ruby1_9`][rr19]
|
179
|
+
- [`rubocop-ruby2_0`][rr20]
|
180
|
+
- [`rubocop-ruby2_1`][rr21]
|
181
|
+
- [`rubocop-ruby2_2`][rr22]
|
182
|
+
- [`rubocop-ruby2_3`][rr23]
|
183
|
+
- [`rubocop-ruby2_4`][rr24]
|
184
|
+
- [`rubocop-ruby2_5`][rr25]
|
185
|
+
- [`rubocop-ruby2_6`][rr26]
|
186
|
+
- [`rubocop-ruby2_7`][rr27]
|
187
|
+
- [`rubocop-ruby3_0`][rr30]
|
188
|
+
- [`rubocop-ruby3_1`][rr31]
|
189
|
+
- [`rubocop-ruby3_2`][rr32]
|
190
|
+
|
191
|
+
[rlts]: https://github.com/rubocop-lts/rubocop-lts#-how-to-untie-gorgons-knot
|
192
|
+
[stdrlts]: https://github.com/rubocop-lts/standard-rubocop-lts
|
193
|
+
[rr18]: https://gitlab.com/rubocop-lts/standard-rubocop-lts
|
194
|
+
[rr19]: https://gitlab.com/rubocop-lts/rubocop-ruby1_9
|
195
|
+
[rr20]: https://gitlab.com/rubocop-lts/rubocop-ruby2_0
|
196
|
+
[rr21]: https://gitlab.com/rubocop-lts/rubocop-ruby2_1
|
197
|
+
[rr22]: https://gitlab.com/rubocop-lts/rubocop-ruby2_2
|
198
|
+
[rr23]: https://gitlab.com/rubocop-lts/rubocop-ruby2_3
|
199
|
+
[rr24]: https://gitlab.com/rubocop-lts/rubocop-ruby2_4
|
200
|
+
[rr25]: https://gitlab.com/rubocop-lts/rubocop-ruby2_5
|
201
|
+
[rr26]: https://gitlab.com/rubocop-lts/rubocop-ruby2_6
|
202
|
+
[rr27]: https://gitlab.com/rubocop-lts/rubocop-ruby2_7
|
203
|
+
[rr30]: https://gitlab.com/rubocop-lts/rubocop-ruby3_0
|
204
|
+
[rr31]: https://gitlab.com/rubocop-lts/rubocop-ruby3_1
|
205
|
+
[rr32]: https://gitlab.com/rubocop-lts/rubocop-ruby3_2
|
82
206
|
|
83
207
|
## 🗿 Stable
|
84
208
|
|
85
|
-
All releases of this gem are stable releases.
|
209
|
+
All releases of this gem are stable releases.
|
210
|
+
We do not release new versions for every release of `rubocop`,
|
211
|
+
as this gem is tied to [standard (Standard Ruby)][standardrb].
|
212
|
+
A typical release cycle for a gem in the `rubocop-lts` family is roughly every six months,
|
213
|
+
though eventually analysis support for an old version of Ruby will be dropped.
|
214
|
+
When that happens releases of the `rubocop-lts` gem for that version of Ruby will (mostly) cease.
|
86
215
|
|
87
216
|
## ✨ Installation
|
88
217
|
|
89
|
-
|
218
|
+
Install the gem and add to the application's Gemfile by executing:
|
90
219
|
|
91
|
-
$
|
220
|
+
$ bundle add rubocop-ruby2_0 -r false
|
92
221
|
|
93
|
-
|
222
|
+
If bundler is not being used to manage dependencies, install the gem by executing:
|
94
223
|
|
95
|
-
|
96
|
-
|
224
|
+
$ gem install rubocop-ruby2_0
|
225
|
+
|
226
|
+
## 🔧 Basic Usage
|
227
|
+
|
228
|
+
If you are using Rails, building a Rubygem, or not using RSpec, see ["Advanced Usage"](#advanced-usage).
|
229
|
+
Otherwise, if you using this in plain Ruby _and_ RSpec, you can add to the top of your project's `.rubocop.yml` configuration file:
|
230
|
+
|
231
|
+
```yaml
|
232
|
+
inherit_gem:
|
233
|
+
rubocop-ruby2_0: rubocop.yml
|
97
234
|
```
|
98
235
|
|
99
|
-
|
236
|
+
Among _many_ other settings, this has the effect of declaring the following:
|
237
|
+
|
238
|
+
```yaml
|
239
|
+
AllCops:
|
240
|
+
NewCops: enable
|
241
|
+
```
|
100
242
|
|
101
|
-
|
243
|
+
Let's talk about these settings. (TODO: Document some of the other settings!)
|
102
244
|
|
103
|
-
|
245
|
+
### ⚙️ `NewCops: enable`
|
104
246
|
|
105
|
-
|
247
|
+
Upgrades to the latest RuboCop can include all kinds of changes, including removing support for the version of Ruby your project uses, or adding a cop that may not work with some of your syntax (e.g. [some use cases of 'module_function`](https://github.com/rubocop/rubocop/issues/5953#issuecomment-805921993)). Accepting new cops arriving in a new version of RuboCop can feel risky, especially when it doesn't follow SemVer.
|
106
248
|
|
107
|
-
|
249
|
+
But this gem shoehorns RuboCop into SemVer, under the watchful eye of [standard (Standard Ruby)][standardrb]... so `NewCops` is now safe(r)! If you use a dependency greening tool like GitHub's `dependabot`, or the excellent alternatives [depfu](https://depfu.com/), and [`renovate`](https://www.whitesourcesoftware.com/free-developer-tools/renovate/), then you can see the effect of a minor / major version bump in your CI Build!
|
108
250
|
|
109
|
-
|
251
|
+
## Advanced Usage
|
110
252
|
|
111
|
-
|
253
|
+
### Linting Ruby + RSpec
|
112
254
|
|
113
255
|
```yaml
|
114
256
|
inherit_gem:
|
115
|
-
rubocop-ruby2_0: rubocop.yml
|
257
|
+
rubocop-ruby2_0: rubocop-lts/ruby_rspec.yml
|
258
|
+
# Note: technically the above is the same as the "Basic Usage" below, so if specificity is not your jam:
|
259
|
+
# rubocop-ruby2_0: rubocop.yml
|
116
260
|
```
|
117
261
|
|
118
|
-
|
262
|
+
### Linting Ruby w/o RSpec
|
119
263
|
|
120
264
|
```yaml
|
121
|
-
|
122
|
-
|
123
|
-
TargetRubyVersion: 2.0
|
124
|
-
# The sibling gems for newer versions of Ruby support the NewCops directive as soon as RuboCop adds it.
|
125
|
-
# NewCops: enable
|
126
|
-
|
127
|
-
Style/BracesAroundHashParameters:
|
128
|
-
Enabled: true
|
129
|
-
EnforcedStyle: context_dependent
|
265
|
+
inherit_gem:
|
266
|
+
rubocop-ruby2_0: rubocop-lts/ruby.yml
|
130
267
|
```
|
131
268
|
|
132
|
-
|
133
|
-
|
134
|
-
## TargetRubyVersion
|
269
|
+
### Linting Rails + RSpec
|
135
270
|
|
136
|
-
|
271
|
+
```yaml
|
272
|
+
inherit_gem:
|
273
|
+
rubocop-ruby2_0: rubocop-lts/rails_rspec.yml
|
274
|
+
```
|
137
275
|
|
138
|
-
|
276
|
+
#### Linting Rails w/o RSpec
|
139
277
|
|
140
|
-
|
278
|
+
```yaml
|
279
|
+
inherit_gem:
|
280
|
+
rubocop-ruby2_0: rubocop-lts/rails.yml
|
281
|
+
```
|
141
282
|
|
142
|
-
|
283
|
+
#### Linting a RubyGem + RSpec
|
143
284
|
|
144
|
-
|
285
|
+
```yaml
|
286
|
+
inherit_gem:
|
287
|
+
rubocop-ruby2_0: rubocop-lts/rubygem_rspec.yml
|
288
|
+
```
|
145
289
|
|
146
|
-
|
290
|
+
#### Linting a RubyGem w/o RSpec
|
147
291
|
|
148
|
-
|
292
|
+
```yaml
|
293
|
+
inherit_gem:
|
294
|
+
rubocop-ruby2_0: rubocop-lts/rubygem.yml
|
295
|
+
```
|
149
296
|
|
150
|
-
|
151
|
-
* https://github.com/rubocop/rubocop/issues/7641
|
152
|
-
* https://github.com/rubocop/rubocop/pull/7643
|
297
|
+
## 💻 Development
|
153
298
|
|
154
|
-
|
299
|
+
After checking out the repo, run `bin/setup` to install dependencies.
|
300
|
+
Then, run `rake spec` to run the tests w/ coverage,
|
301
|
+
or `bin/rake` to run tests w/ coverage, and linting.
|
302
|
+
You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
155
303
|
|
156
|
-
|
304
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
157
305
|
|
158
|
-
|
306
|
+
### 🚀 Release Instructions
|
159
307
|
|
160
|
-
|
308
|
+
See [CONTRIBUTING.md][contributing].
|
161
309
|
|
162
310
|
## ⚡️ Contributing
|
163
311
|
|
@@ -172,37 +320,37 @@ Made with [contributors-img](https://contrib.rocks).
|
|
172
320
|
## 📄 License
|
173
321
|
|
174
322
|
The gem is available as open source under the terms of
|
175
|
-
the [MIT License][license] [![License: MIT]
|
176
|
-
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
323
|
+
the [MIT License][license] [![License: MIT][license-img]][license-ref].
|
324
|
+
See [LICENSE.txt][license] for the official [Copyright Notice][copyright-notice-explainer].
|
177
325
|
|
178
326
|
<details>
|
179
|
-
<summary>Project Logos (rubocop-
|
327
|
+
<summary>Project Logos (rubocop-ruby2_0)</summary>
|
180
328
|
|
181
329
|
See [docs/images/logo/README.txt][project-logos]
|
182
330
|
</details>
|
183
331
|
|
184
332
|
<details>
|
185
|
-
<summary>Organization Logo (rubocop-
|
333
|
+
<summary>Organization Logo (rubocop-lts)</summary>
|
186
334
|
|
187
335
|
Author: [Yusuf Evli][org-logo-author]
|
188
336
|
Source: [Unsplash][org-logo-source]
|
189
337
|
License: [Unsplash License][org-logo-license]
|
190
338
|
</details>
|
191
339
|
|
192
|
-
[project-logos]: https://github.com/rubocop-lts/rubocop-
|
340
|
+
[project-logos]: https://github.com/rubocop-lts/rubocop-ruby2_0/blob/main/docs/images/logo/README.txt
|
193
341
|
[org-logo-author]: https://unsplash.com/@yusufevli
|
194
342
|
[org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
|
195
343
|
[org-logo-license]: https://unsplash.com/license
|
196
344
|
|
197
345
|
### © Copyright
|
198
346
|
|
199
|
-
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
200
|
-
|
201
|
-
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
347
|
+
* Copyright (c) 2022 - 2023 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
202
348
|
|
203
349
|
## 🤝 Code of Conduct
|
204
350
|
|
205
|
-
Everyone interacting in
|
351
|
+
Everyone interacting in this project's codebases, issue trackers, [chat rooms][🏘chat] and mailing lists is expected to follow the [code of conduct][🤝conduct].
|
352
|
+
|
353
|
+
[🤝conduct]: https://gitlab.com/rubocop-lts/rubocop-ruby2_0/-/blob/main/CODE_OF_CONDUCT.md
|
206
354
|
|
207
355
|
## 📌 Versioning
|
208
356
|
|
@@ -217,63 +365,36 @@ the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
|
217
365
|
For example:
|
218
366
|
|
219
367
|
```ruby
|
220
|
-
spec.add_dependency "rubocop-ruby2_0", "~>
|
368
|
+
spec.add_dependency "rubocop-ruby2_0", "~> 2.0"
|
221
369
|
```
|
222
370
|
|
371
|
+
[aboutme]: https://about.me/peter.boling
|
372
|
+
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions
|
373
|
+
[angelme]: https://angel.co/peter-boling
|
374
|
+
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_0/
|
375
|
+
[codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-ruby2_0
|
376
|
+
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_0
|
377
|
+
[🏘chat]: https://gitter.im/rubocop-lts/community
|
378
|
+
[climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_0/test_coverage
|
379
|
+
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_0/maintainability
|
223
380
|
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
224
|
-
|
225
|
-
[gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby2_0/discussions
|
226
|
-
|
227
381
|
[conduct]: https://github.com/rubocop-lts/rubocop-ruby2_0/blob/main/CODE_OF_CONDUCT.md
|
228
|
-
|
229
382
|
[contributing]: https://github.com/rubocop-lts/rubocop-ruby2_0/blob/main/CONTRIBUTING.md
|
230
|
-
|
231
|
-
[
|
232
|
-
|
233
|
-
[
|
234
|
-
|
383
|
+
[devto]: https://dev.to/galtzo
|
384
|
+
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_0/main
|
385
|
+
[followme]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
386
|
+
[gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby2_0/discussions
|
387
|
+
[gh_sponsors]: https://github.com/sponsors/pboling
|
388
|
+
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
|
389
|
+
[liberapay_donate]: https://liberapay.com/pboling/donate
|
390
|
+
[license]: LICENSE.txt
|
235
391
|
[license-ref]: https://opensource.org/licenses/MIT
|
236
|
-
|
237
|
-
[
|
238
|
-
|
392
|
+
[license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
393
|
+
[peterboling]: http://www.peterboling.com
|
239
394
|
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
240
|
-
|
241
395
|
[railsbling]: http://www.railsbling.com
|
242
|
-
|
243
|
-
[peterboling]: http://www.peterboling.com
|
244
|
-
|
245
|
-
[aboutme]: https://about.me/peter.boling
|
246
|
-
|
247
|
-
[angelme]: https://angel.co/peter-boling
|
248
|
-
|
249
|
-
[coderme]:http://coderwall.com/pboling
|
250
|
-
|
251
|
-
[followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
252
|
-
|
253
|
-
[tweetme]: http://twitter.com/galtzo
|
254
|
-
|
255
|
-
[politicme]: https://nationalprogressiveparty.org
|
256
|
-
|
257
|
-
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_0/main
|
258
|
-
|
259
|
-
[source]: https://github.com/rubocop-lts/rubocop-ruby2_0/
|
260
|
-
|
261
|
-
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_0/actions
|
262
|
-
|
263
|
-
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_0/issues
|
264
|
-
|
265
|
-
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_0/maintainability
|
266
|
-
|
267
|
-
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_0
|
268
|
-
|
269
|
-
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_0/
|
270
|
-
|
271
396
|
[rubygems]: https://rubygems.org/gems/rubocop-ruby2_0
|
272
|
-
|
273
|
-
[
|
274
|
-
|
275
|
-
[
|
276
|
-
|
277
|
-
[liberapay_donate]: https://liberapay.com/pboling/donate
|
278
|
-
|
279
|
-
[gh_sponsors]: https://github.com/sponsors/pboling
|
397
|
+
[security]: https://github.com/rubocop-lts/rubocop-ruby2_0/blob/main/SECURITY.md
|
398
|
+
[semver]: http://semver.org/
|
399
|
+
[source]: https://github.com/rubocop-lts/rubocop-ruby2_0/
|
400
|
+
[tweetme]: http://twitter.com/galtzo
|
data/SECURITY.md
CHANGED
@@ -2,12 +2,13 @@
|
|
2
2
|
|
3
3
|
## Supported Versions
|
4
4
|
|
5
|
-
| Version | Supported
|
6
|
-
|
7
|
-
|
|
5
|
+
| Version | Supported |
|
6
|
+
|---------|-----------|
|
7
|
+
| 2.x | ✅ |
|
8
|
+
| 1.x | ❌ |
|
8
9
|
|
9
10
|
## Reporting a Vulnerability
|
10
11
|
|
11
12
|
Peter Boling is the primary maintainer of this gem. Please find a way
|
12
13
|
to [contact him directly](https://railsbling.com/contact) to report the issue. Include as much relevant information as
|
13
|
-
possible.
|
14
|
+
possible.
|
@@ -0,0 +1,14 @@
|
|
1
|
+
module Rubocop
|
2
|
+
module Ruby20
|
3
|
+
class Railtie < Rails::Railtie
|
4
|
+
railtie_name :rubocop_ruby2_0
|
5
|
+
|
6
|
+
if Rails.env.test? || Rails.env.development?
|
7
|
+
rake_tasks do
|
8
|
+
path = File.expand_path(__dir__)
|
9
|
+
Dir.glob("#{path}/rakelib/**/*.rake").each { |f| load f }
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
data/lib/rubocop/ruby2_0.rb
CHANGED
@@ -1,9 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
|
3
|
+
# external libs
|
4
|
+
require "version_gem"
|
5
|
+
|
6
|
+
# this gem
|
7
|
+
require_relative "ruby2_0/version"
|
8
|
+
# :nocov:
|
9
|
+
require_relative "ruby2_0/railtie" if defined?(Rails::Railtie)
|
10
|
+
# :nocov:
|
4
11
|
|
5
12
|
module Rubocop
|
6
13
|
# Namespace of this library
|
7
14
|
module Ruby20
|
15
|
+
module_function def install_tasks
|
16
|
+
load "rubocop/ruby2_0/tasks.rake"
|
17
|
+
end
|
8
18
|
end
|
9
19
|
end
|
20
|
+
|
21
|
+
Rubocop::Ruby20::Version.class_eval do
|
22
|
+
extend VersionGem::Basic
|
23
|
+
end
|