rubocop-ruby2_2 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 +38 -10
- data/CONTRIBUTING.md +25 -11
- data/LICENSE.txt +1 -1
- data/README.md +271 -155
- data/SECURITY.md +5 -4
- data/lib/rubocop/ruby2_2/railtie.rb +14 -0
- data/lib/rubocop/ruby2_2/version.rb +3 -1
- data/lib/rubocop/ruby2_2.rb +14 -0
- 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_2.rbs +4 -2
- data.tar.gz.sig +1 -0
- metadata +191 -33
- metadata.gz.sig +0 -0
- data/spec/config/rspec/rspec_core.rb +0 -13
- data/spec/rubocop/ruby2_2_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_2`][⛳️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_2.svg
|
62
|
+
[🖇️ini-dti]: https://img.shields.io/gem/dt/rubocop-ruby2_2.svg
|
63
|
+
[🏘️ini-rti]: https://img.shields.io/gem/rt/rubocop-ruby2_2.svg
|
64
|
+
[🚎ini-cwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml
|
65
|
+
[🚎ini-cwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/current.yml/badge.svg
|
66
|
+
[🖐ini-hwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml
|
67
|
+
[🖐ini-hwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/heads.yml/badge.svg
|
68
|
+
[🧮ini-lwf]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml
|
69
|
+
[🧮ini-lwfi]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions/workflows/legacy.yml/badge.svg
|
70
|
+
[📗ini-io]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
|
71
|
+
[📗ini-ioi]: https://img.shields.io/github/issues-raw/rubocop-lts/rubocop-ruby2_2
|
72
|
+
[🚀ini-ic]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues?q=is%3Aissue+is%3Aclosed
|
73
|
+
[🚀ini-ici]: https://img.shields.io/github/issues-closed-raw/rubocop-lts/rubocop-ruby2_2
|
74
|
+
[💄ini-po]: https://github.com/rubocop-lts/rubocop-ruby2_2/pulls
|
75
|
+
[💄ini-poi]: https://img.shields.io/github/issues-pr/rubocop-lts/rubocop-ruby2_2
|
76
|
+
[👽ini-pc]: https://github.com/rubocop-lts/rubocop-ruby2_2/pulls?q=is%3Apr+is%3Aclosed
|
77
|
+
[👽ini-pci]: https://img.shields.io/github/issues-pr-closed/rubocop-lts/rubocop-ruby2_2
|
78
|
+
[⛳️ini-g]: https://rubygems.org/gems/rubocop-ruby2_2
|
79
|
+
[⛳️ini-gh]: https://github.com/rubocop-lts/rubocop-ruby2_2
|
80
|
+
|
81
|
+
# 🦾 Rubocop::Ruby22
|
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,133 +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.2 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_2 -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_2
|
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_2: 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_2: rubocop.yml
|
257
|
+
rubocop-ruby2_2: 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_2: rubocop.yml
|
116
260
|
```
|
117
261
|
|
118
|
-
|
262
|
+
### Linting Ruby w/o RSpec
|
119
263
|
|
120
264
|
```yaml
|
121
|
-
|
122
|
-
|
123
|
-
TargetRubyVersion: 2.2
|
124
|
-
# The sibling gems for newer versions of Ruby support the NewCops directive as soon as RuboCop adds it.
|
125
|
-
# NewCops: enable
|
126
|
-
|
127
|
-
# Removed as of 0.80.0
|
128
|
-
# braces setting is for compatibility with Ruby 2.7+
|
129
|
-
# See:
|
130
|
-
# * https://github.com/rubocop/rubocop/issues/7641
|
131
|
-
# * https://github.com/rubocop/rubocop/pull/7643
|
132
|
-
Style/BracesAroundHashParameters:
|
133
|
-
Enabled: true
|
134
|
-
EnforcedStyle: context_dependent
|
265
|
+
inherit_gem:
|
266
|
+
rubocop-ruby2_2: rubocop-lts/ruby.yml
|
135
267
|
```
|
136
268
|
|
137
|
-
|
138
|
-
|
139
|
-
### TargetRubyVersion
|
269
|
+
### Linting Rails + RSpec
|
140
270
|
|
141
|
-
|
271
|
+
```yaml
|
272
|
+
inherit_gem:
|
273
|
+
rubocop-ruby2_2: rubocop-lts/rails_rspec.yml
|
274
|
+
```
|
142
275
|
|
143
|
-
|
276
|
+
#### Linting Rails w/o RSpec
|
144
277
|
|
145
|
-
|
278
|
+
```yaml
|
279
|
+
inherit_gem:
|
280
|
+
rubocop-ruby2_2: rubocop-lts/rails.yml
|
281
|
+
```
|
146
282
|
|
147
|
-
|
283
|
+
#### Linting a RubyGem + RSpec
|
148
284
|
|
149
|
-
|
285
|
+
```yaml
|
286
|
+
inherit_gem:
|
287
|
+
rubocop-ruby2_2: rubocop-lts/rubygem_rspec.yml
|
288
|
+
```
|
150
289
|
|
151
|
-
|
290
|
+
#### Linting a RubyGem w/o RSpec
|
152
291
|
|
153
|
-
|
292
|
+
```yaml
|
293
|
+
inherit_gem:
|
294
|
+
rubocop-ruby2_2: rubocop-lts/rubygem.yml
|
295
|
+
```
|
154
296
|
|
155
|
-
|
156
|
-
* https://github.com/rubocop/rubocop/issues/7641
|
157
|
-
* https://github.com/rubocop/rubocop/pull/7643
|
297
|
+
## 💻 Development
|
158
298
|
|
159
|
-
|
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.
|
160
303
|
|
161
|
-
|
304
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
162
305
|
|
163
|
-
|
306
|
+
### 🚀 Release Instructions
|
164
307
|
|
165
|
-
|
308
|
+
See [CONTRIBUTING.md][contributing].
|
166
309
|
|
167
310
|
## ⚡️ Contributing
|
168
311
|
|
@@ -177,37 +320,37 @@ Made with [contributors-img](https://contrib.rocks).
|
|
177
320
|
## 📄 License
|
178
321
|
|
179
322
|
The gem is available as open source under the terms of
|
180
|
-
the [MIT License][license] [![License: MIT]
|
181
|
-
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].
|
182
325
|
|
183
326
|
<details>
|
184
|
-
<summary>Project Logos (rubocop-
|
327
|
+
<summary>Project Logos (rubocop-ruby2_2)</summary>
|
185
328
|
|
186
329
|
See [docs/images/logo/README.txt][project-logos]
|
187
330
|
</details>
|
188
331
|
|
189
332
|
<details>
|
190
|
-
<summary>Organization Logo (rubocop-
|
333
|
+
<summary>Organization Logo (rubocop-lts)</summary>
|
191
334
|
|
192
335
|
Author: [Yusuf Evli][org-logo-author]
|
193
336
|
Source: [Unsplash][org-logo-source]
|
194
337
|
License: [Unsplash License][org-logo-license]
|
195
338
|
</details>
|
196
339
|
|
197
|
-
[project-logos]: https://github.com/rubocop-lts/rubocop-
|
340
|
+
[project-logos]: https://github.com/rubocop-lts/rubocop-ruby2_2/blob/main/docs/images/logo/README.txt
|
198
341
|
[org-logo-author]: https://unsplash.com/@yusufevli
|
199
342
|
[org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
|
200
343
|
[org-logo-license]: https://unsplash.com/license
|
201
344
|
|
202
345
|
### © Copyright
|
203
346
|
|
204
|
-
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
205
|
-
|
206
|
-
[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]
|
207
348
|
|
208
349
|
## 🤝 Code of Conduct
|
209
350
|
|
210
|
-
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_2/-/blob/main/CODE_OF_CONDUCT.md
|
211
354
|
|
212
355
|
## 📌 Versioning
|
213
356
|
|
@@ -222,63 +365,36 @@ the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
|
222
365
|
For example:
|
223
366
|
|
224
367
|
```ruby
|
225
|
-
spec.add_dependency "rubocop-ruby2_2", "~>
|
368
|
+
spec.add_dependency "rubocop-ruby2_2", "~> 2.0"
|
226
369
|
```
|
227
370
|
|
371
|
+
[aboutme]: https://about.me/peter.boling
|
372
|
+
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions
|
373
|
+
[angelme]: https://angel.co/peter-boling
|
374
|
+
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_2/
|
375
|
+
[codecov_coverage]: https://codecov.io/gh/rubocop-lts/rubocop-ruby2_2
|
376
|
+
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_2
|
377
|
+
[🏘chat]: https://gitter.im/rubocop-lts/community
|
378
|
+
[climate_coverage]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_2/test_coverage
|
379
|
+
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_2/maintainability
|
228
380
|
[copyright-notice-explainer]: https://opensource.stackexchange.com/questions/5778/why-do-licenses-such-as-the-mit-license-specify-a-single-year
|
229
|
-
|
230
|
-
[gh_discussions]: https://github.com/rubocop-lts/rubocop-ruby2_2/discussions
|
231
|
-
|
232
381
|
[conduct]: https://github.com/rubocop-lts/rubocop-ruby2_2/blob/main/CODE_OF_CONDUCT.md
|
233
|
-
|
234
382
|
[contributing]: https://github.com/rubocop-lts/rubocop-ruby2_2/blob/main/CONTRIBUTING.md
|
235
|
-
|
236
|
-
[
|
237
|
-
|
238
|
-
[
|
239
|
-
|
383
|
+
[devto]: https://dev.to/galtzo
|
384
|
+
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_2/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_2/discussions
|
387
|
+
[gh_sponsors]: https://github.com/sponsors/pboling
|
388
|
+
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
|
389
|
+
[liberapay_donate]: https://liberapay.com/pboling/donate
|
390
|
+
[license]: LICENSE.txt
|
240
391
|
[license-ref]: https://opensource.org/licenses/MIT
|
241
|
-
|
242
|
-
[
|
243
|
-
|
392
|
+
[license-img]: https://img.shields.io/badge/License-MIT-green.svg
|
393
|
+
[peterboling]: http://www.peterboling.com
|
244
394
|
[pvc]: http://guides.rubygems.org/patterns/#pessimistic-version-constraint
|
245
|
-
|
246
395
|
[railsbling]: http://www.railsbling.com
|
247
|
-
|
248
|
-
[peterboling]: http://www.peterboling.com
|
249
|
-
|
250
|
-
[aboutme]: https://about.me/peter.boling
|
251
|
-
|
252
|
-
[angelme]: https://angel.co/peter-boling
|
253
|
-
|
254
|
-
[coderme]:http://coderwall.com/pboling
|
255
|
-
|
256
|
-
[followme-img]: https://img.shields.io/twitter/follow/galtzo.svg?style=social&label=Follow
|
257
|
-
|
258
|
-
[tweetme]: http://twitter.com/galtzo
|
259
|
-
|
260
|
-
[politicme]: https://nationalprogressiveparty.org
|
261
|
-
|
262
|
-
[documentation]: https://rubydoc.info/github/rubocop-lts/rubocop-ruby2_2/main
|
263
|
-
|
264
|
-
[source]: https://github.com/rubocop-lts/rubocop-ruby2_2/
|
265
|
-
|
266
|
-
[actions]: https://github.com/rubocop-lts/rubocop-ruby2_2/actions
|
267
|
-
|
268
|
-
[issues]: https://github.com/rubocop-lts/rubocop-ruby2_2/issues
|
269
|
-
|
270
|
-
[climate_maintainability]: https://codeclimate.com/github/rubocop-lts/rubocop-ruby2_2/maintainability
|
271
|
-
|
272
|
-
[code_triage]: https://www.codetriage.com/rubocop-lts/rubocop-ruby2_2
|
273
|
-
|
274
|
-
[blogpage]: http://www.railsbling.com/tags/rubocop-ruby2_2/
|
275
|
-
|
276
396
|
[rubygems]: https://rubygems.org/gems/rubocop-ruby2_2
|
277
|
-
|
278
|
-
[
|
279
|
-
|
280
|
-
[
|
281
|
-
|
282
|
-
[liberapay_donate]: https://liberapay.com/pboling/donate
|
283
|
-
|
284
|
-
[gh_sponsors]: https://github.com/sponsors/pboling
|
397
|
+
[security]: https://github.com/rubocop-lts/rubocop-ruby2_2/blob/main/SECURITY.md
|
398
|
+
[semver]: http://semver.org/
|
399
|
+
[source]: https://github.com/rubocop-lts/rubocop-ruby2_2/
|
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 Ruby22
|
3
|
+
class Railtie < Rails::Railtie
|
4
|
+
railtie_name :rubocop_ruby2_2
|
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_2.rb
CHANGED
@@ -1,9 +1,23 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# external libs
|
4
|
+
require "version_gem"
|
5
|
+
|
6
|
+
# this gem
|
3
7
|
require_relative "ruby2_2/version"
|
8
|
+
# :nocov:
|
9
|
+
require_relative "ruby2_2/railtie" if defined?(Rails::Railtie)
|
10
|
+
# :nocov:
|
4
11
|
|
5
12
|
module Rubocop
|
6
13
|
# Namespace of this library
|
7
14
|
module Ruby22
|
15
|
+
module_function def install_tasks
|
16
|
+
load "rubocop/ruby2_2/tasks.rake"
|
17
|
+
end
|
8
18
|
end
|
9
19
|
end
|
20
|
+
|
21
|
+
Rubocop::Ruby22::Version.class_eval do
|
22
|
+
extend VersionGem::Basic
|
23
|
+
end
|