rubocop-lts 7.0.1 → 8.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +10 -46
- data/README.md +266 -31
- data/SECURITY.md +0 -11
- data/lib/rubocop/lts/version.rb +1 -1
- data/spec/config/rspec/rspec_core.rb +13 -0
- data/spec/rubocop/lts_spec.rb +7 -0
- data/spec/spec_helper.rb +7 -0
- metadata +17 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b4874847e559f2751921bbdbe7cc59c78371787ba3cf92c4d6fb7740379de48f
|
4
|
+
data.tar.gz: bbb40b7a461bbff132cd1df57df5333f8ce5577e85397173db0ac3f2366a08f1
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45cc47e889f433f8b9310ecaa930c2651209875e7e47b20149dd2ae573b77e814e7b3d91c1d4c221e9325373163a861701850ff958bf33868c8b435f9319a8fd
|
7
|
+
data.tar.gz: 29758847f4bc8730ddaafff25135af79f123bf4921a86302430efe1e2c0fcbfd405b949fb75173470954ab4c758ca191f5d9a43275a1976e2febfd613f2f0127
|
data/CHANGELOG.md
CHANGED
@@ -13,27 +13,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
13
13
|
|
14
14
|
### Removed
|
15
15
|
|
16
|
-
## [
|
16
|
+
## [8.0.0] - 2022-05-23
|
17
17
|
### Added
|
18
|
-
-
|
18
|
+
- Initial even release supporting Ruby >= 2.2
|
19
19
|
|
20
20
|
## [7.0.0] - 2022-05-23
|
21
21
|
### Added
|
22
22
|
- Initial odd release supporting Ruby ~> 2.2
|
23
23
|
|
24
|
-
## [6.0.1] - 2022-06-08
|
25
|
-
### Added
|
26
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
27
|
-
- Improve, and dry up documentation
|
28
|
-
|
29
24
|
## [6.0.0] - 2022-05-23
|
30
25
|
### Added
|
31
26
|
- Initial even release supporting Ruby >= 2.1
|
32
27
|
|
33
|
-
## [5.0.2] - 2022-06-08
|
34
|
-
### Added
|
35
|
-
- Improve, and dry up documentation
|
36
|
-
|
37
28
|
## [5.0.1] - 2022-05-23
|
38
29
|
### Fixed
|
39
30
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -42,10 +33,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
42
33
|
### Added
|
43
34
|
- Initial odd release supporting Ruby ~> 2.1
|
44
35
|
|
45
|
-
## [4.0.3] - 2022-06-08
|
46
|
-
### Fixed
|
47
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
48
|
-
|
49
36
|
## [4.0.2] - 2022-05-23
|
50
37
|
### Fixed
|
51
38
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -59,10 +46,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
59
46
|
### Added
|
60
47
|
- Initial even release supporting Ruby >= 2.0
|
61
48
|
|
62
|
-
## [3.0.3] - 2022-06-08
|
63
|
-
### Added
|
64
|
-
- Improve, and dry up documentation
|
65
|
-
|
66
49
|
## [3.0.2] - 2022-05-23
|
67
50
|
### Fixed
|
68
51
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -76,14 +59,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
76
59
|
### Added
|
77
60
|
- Initial odd release supporting Ruby ~> 2.0
|
78
61
|
|
79
|
-
## [2.0.5] - 2022-06-08
|
80
|
-
### Added
|
81
|
-
- Improve, and dry up documentation
|
82
|
-
|
83
|
-
## [2.0.4] - 2022-06-08
|
84
|
-
### Fixed
|
85
|
-
- Allow install up to Ruby < 4, which allows running against current Ruby HEAD @ 3.2-dev
|
86
|
-
|
87
62
|
## [2.0.3] - 2022-05-23
|
88
63
|
### Fixed
|
89
64
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -102,11 +77,6 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
102
77
|
### Added
|
103
78
|
- Initial even release supporting Ruby >= 1.9
|
104
79
|
|
105
|
-
## [1.0.4] - 2022-06-08
|
106
|
-
### Added
|
107
|
-
- Security Policy @ SECURITY.md
|
108
|
-
- Improve, and dry up documentation
|
109
|
-
|
110
80
|
## [1.0.3] - 2022-05-23
|
111
81
|
### Fixed
|
112
82
|
- Make rubocop config files load ruby specific config from relevant rubocop-ruby*_* gem
|
@@ -125,28 +95,22 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
125
95
|
### Added
|
126
96
|
- Initial odd release supporting Ruby ~> 1.9
|
127
97
|
|
128
|
-
[Unreleased]: https://github.com/rubocop-lts/rubocop-lts/compare/
|
129
|
-
[
|
130
|
-
[
|
131
|
-
[6.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.
|
132
|
-
[5.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.1...v5.0.2
|
98
|
+
[Unreleased]: https://github.com/rubocop-lts/rubocop-lts/compare/v8.0.0...HEAD
|
99
|
+
[8.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v7.0.0...v8.0.0
|
100
|
+
[7.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v6.0.0...v7.0.0
|
101
|
+
[6.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.1...v6.0.0
|
133
102
|
[5.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v5.0.0...v5.0.1
|
134
|
-
[5.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.
|
135
|
-
[4.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.2...v4.0.3
|
103
|
+
[5.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.2...v5.0.0
|
136
104
|
[4.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.1...v4.0.2
|
137
105
|
[4.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v4.0.0...v4.0.1
|
138
|
-
[4.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.
|
139
|
-
[3.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.2...v3.0.3
|
106
|
+
[4.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.2...v4.0.0
|
140
107
|
[3.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.1...v3.0.2
|
141
108
|
[3.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v3.0.0...v3.0.1
|
142
|
-
[3.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.
|
143
|
-
[2.0.5]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.4...v2.0.5
|
144
|
-
[2.0.4]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.3...v2.0.4
|
109
|
+
[3.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.3...v3.0.0
|
145
110
|
[2.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.2...v2.0.3
|
146
111
|
[2.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.1...v2.0.2
|
147
112
|
[2.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v2.0.0...v2.0.1
|
148
|
-
[2.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.
|
149
|
-
[1.0.4]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.3...v1.0.4
|
113
|
+
[2.0.0]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.3...v2.0.0
|
150
114
|
[1.0.3]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.2...v1.0.3
|
151
115
|
[1.0.2]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.1...v1.0.2
|
152
116
|
[1.0.1]: https://github.com/rubocop-lts/rubocop-lts/compare/v1.0.0...v1.0.1
|
data/README.md
CHANGED
@@ -16,38 +16,149 @@
|
|
16
16
|
</a>
|
17
17
|
</p>
|
18
18
|
|
19
|
-
#
|
20
|
-
|
21
|
-
##
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|📄 [License](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#📄-license)
|
37
|
-
|⊕© [Copyright](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#©-copyright)
|
38
|
-
|🤝 [Code of Conduct](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#🤝-code-of-conduct)
|
39
|
-
|📌 [Versioning](https://github.com/rubocop-lts/.github/blob/main/profile/README.md#📌-versioning)
|
40
|
-
|
41
|
-
[Why-Build-This]: https://github.com/rubocop-lts/.github/blob/main/profile/WHY_BUILD_THIS.md
|
42
|
-
[Convention-Over-Configuration]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md
|
43
|
-
[Even-Major-Release]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md#even-major-release
|
44
|
-
[Odd-Major-Release]: https://github.com/rubocop-lts/.github/blob/main/profile/CONV_OVER_CONF.md#odd-major-release
|
45
|
-
[How-To-Upgrade-Ruby]: https://github.com/rubocop-lts/.github/blob/main/profile/HOW_TO_UPGRADE_RUBY.md
|
46
|
-
|
47
|
-
## 🌳 This Branch
|
19
|
+
# Rubocop LTS
|
20
|
+
|
21
|
+
## 🙋♀️ How often has RuboCop broken your build?
|
22
|
+
|
23
|
+
This is both good (literally its job) _and_ bad (when it's for the wrong reasons).
|
24
|
+
|
25
|
+
It's supposed to break the build when it finds violations.
|
26
|
+
It should not break the build due to incompatibility with your environment. RuboCop
|
27
|
+
doesn't [follow SemVer](https://dev.to/pboling/rubocop-ruby-matrix-gems-nj), and occasionally it will unexpectedly break things.
|
28
|
+
|
29
|
+
## 🗿 Stable
|
30
|
+
|
31
|
+
All releases are stable releases. The major version you need depends on the supported version(s) of Ruby for your project.
|
32
|
+
|
33
|
+
Projects that support a single version of Ruby (like many closed-source applications) will use the [Odd releases][even-release].
|
34
|
+
|
35
|
+
Projects that support multiple versions of Ruby simultaneously (like many open-source applications and libraries) will use the [Even releases][even-release].
|
48
36
|
|
49
37
|
<!-- FIND VERSION -->
|
50
|
-
**This README is for the
|
38
|
+
**This README is for the even release of `rubocop-lts` supporting Ruby >= 2.2.0.**
|
39
|
+
|
40
|
+
[odd-release]: https://github.com/rubocop-lts/rubocop-lts#odd-major-release
|
41
|
+
[even-release]: https://github.com/rubocop-lts/rubocop-lts#even-major-release
|
42
|
+
|
43
|
+
## Version Conventions
|
44
|
+
|
45
|
+
### Odd Major Release
|
46
|
+
|
47
|
+
Versions like:
|
48
|
+
```ruby
|
49
|
+
"1.0.0"
|
50
|
+
"3.0.0"
|
51
|
+
"5.0.0"
|
52
|
+
# ... etc
|
53
|
+
```
|
54
|
+
Locked to a single minor version of Ruby, e.g. version 15.0 has a `required_ruby_version` of `['>= 2.6.0', '< 2.7']`, which will install only on `2.6.x` versions of Ruby.
|
55
|
+
|
56
|
+
#### Implementation
|
57
|
+
|
58
|
+
Intended for applications and libraries that only lint against a single Ruby version.
|
59
|
+
|
60
|
+
Odd versions should be attached to a project's trunk (e.g. the main branch), for long-term stability (ahem, _lts_, anyone?) of the style rules.
|
61
|
+
|
62
|
+
| Your Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
63
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
64
|
+
| `1.9.x` (`['>= 1.9.0', '< 2']`) | `gem "rubocop-lts", "~> 1.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
65
|
+
| `2.0.x` (`['>= 2.0.0', '< 2.1']`) | `gem "rubocop-lts", "~> 3.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
66
|
+
| `2.1.x` (`['>= 2.1.0', '< 2.2']`) | `gem "rubocop-lts", "~> 5.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
67
|
+
| `2.2.x` (`['>= 2.2.0', '< 2.3']`) | `gem "rubocop-lts", "~> 7.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
68
|
+
| `2.3.x` (`['>= 2.3.0', '< 2.4']`) | `gem "rubocop-lts", "~> 9.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
69
|
+
| `2.4.x` (`['>= 2.4.0', '< 2.5']`) | `gem "rubocop-lts", "~> 11.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
70
|
+
| `2.5.x` (`['>= 2.5.0', '< 2.6']`) | `gem "rubocop-lts", "~> 13.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
71
|
+
| `2.6.x` (`['>= 2.6.0', '< 2.7']`) | `gem "rubocop-lts", "~> 15.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
72
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.0']`) | `gem "rubocop-lts", "~> 17.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
73
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.1']`) | `gem "rubocop-lts", "~> 19.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
74
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 21.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
75
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 23.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
76
|
+
|
77
|
+
### Even Major Release
|
78
|
+
|
79
|
+
Versions like:
|
80
|
+
```ruby
|
81
|
+
"2.0.0"
|
82
|
+
"4.0.0"
|
83
|
+
"6.0.0"
|
84
|
+
# ... etc
|
85
|
+
```
|
86
|
+
Locked to the forward range of Rubies on which the gem can be installed (though rubocop may not execute on all),
|
87
|
+
e.g. version 16.0 has a `required_ruby_version` of `['>= 2.6.0', '< 3.2']` will install on any released version
|
88
|
+
of ruby from `2.6` on.
|
89
|
+
|
90
|
+
#### Implementation
|
91
|
+
|
92
|
+
Intended for applications and libraries that lint against a range of Ruby versions.
|
93
|
+
|
94
|
+
Even versions will help projects upgrade to newer Rubies while keeping the same underlying version of Rubocop version, so change can be introduced one step at a time.
|
95
|
+
|
96
|
+
| Minimum Ruby | Your Gemfile | Your Gemfile.lock | Your .rubocop.yml |
|
97
|
+
|-----------------------------------|--------------------------------|-------------------|------------------------------------------------|
|
98
|
+
| `1.9.x` (`['>= 1.9.0', '< 3.2']`) | `gem "rubocop-lts", "~> 2.0"` | `rubocop-ruby1_9` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
99
|
+
| `2.0.x` (`['>= 2.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 4.0"` | `rubocop-ruby2_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
100
|
+
| `2.1.x` (`['>= 2.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 6.0"` | `rubocop-ruby2_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
101
|
+
| `2.2.x` (`['>= 2.2.0', '< 3.2']`) | `gem "rubocop-lts", "~> 8.0"` | `rubocop-ruby2_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
102
|
+
| `2.3.x` (`['>= 2.3.0', '< 3.2']`) | `gem "rubocop-lts", "~> 10.0"` | `rubocop-ruby2_3` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
103
|
+
| `2.4.x` (`['>= 2.4.0', '< 3.2']`) | `gem "rubocop-lts", "~> 12.0"` | `rubocop-ruby2_4` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
104
|
+
| `2.5.x` (`['>= 2.5.0', '< 3.2']`) | `gem "rubocop-lts", "~> 14.0"` | `rubocop-ruby2_5` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
105
|
+
| `2.6.x` (`['>= 2.6.0', '< 3.2']`) | `gem "rubocop-lts", "~> 16.0"` | `rubocop-ruby2_6` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
106
|
+
| `2.7.x` (`['>= 2.7.0', '< 3.2']`) | `gem "rubocop-lts", "~> 18.0"` | `rubocop-ruby2_7` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
107
|
+
| `3.0.x` (`['>= 3.0.0', '< 3.2']`) | `gem "rubocop-lts", "~> 20.0"` | `rubocop-ruby3_0` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
108
|
+
| `3.1.x` (`['>= 3.1.0', '< 3.2']`) | `gem "rubocop-lts", "~> 22.0"` | `rubocop-ruby3_1` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
109
|
+
| `3.2.x` / ruby-head | `gem "rubocop-lts", "~> 24.0"` | `rubocop-ruby3_2` | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
110
|
+
|
111
|
+
### All together now!
|
112
|
+
|
113
|
+
Upgrading a single step from odd to even will allow upgrading Ruby.
|
114
|
+
|
115
|
+
Upgrading a single step from even to odd will keep the same version of Ruby, and instead upgrade to the next RuboCop milestone.
|
116
|
+
|
117
|
+
Each major version will have a tracking branch named accordingly, [for development](https://github.com/rubocop-lts/rubocop-lts#git-branch-names).
|
118
|
+
|
119
|
+
### 🪢 How To Untie Gorgon's Knot
|
120
|
+
|
121
|
+
> NOTE: The ruby specific versions, e.g. `rubocop-ruby2_7`, can be used if you won't be upgrading ruby. Keep scrolling down for links to each of them.
|
122
|
+
|
123
|
+
How to upgrade a project from yesterday, to today.
|
124
|
+
|
125
|
+
1. Have good code coverage.
|
126
|
+
2. Upgrade one step at a time.
|
127
|
+
3. Re-run `bundle exec rubocop -a` in between each step.
|
128
|
+
4. Re-run `bundle exec rubocop --auto-gen-config` in between each step.
|
129
|
+
5. Commit and push to CI in between each step.
|
130
|
+
|
131
|
+
| Your Ruby | Your Gemfile | required_ruby_version | Your Gemfile.lock | Your .rubocop.yml |
|
132
|
+
|---------------|--------------------------------------|-------------------------|------------------------------|------------------------------------------------|
|
133
|
+
| `1.9.x` | `gem "rubocop-lts", "~> 1.0"` | `['>= 1.9.0', '< 2']` | [`rubocop-ruby1_9`][⛳️19-gh] | `inherit_gem:\n rubocop-lts: rubocop-lts.yml` |
|
134
|
+
| ⬆️ to `2.0.x` | ⬆️ to `gem "rubocop-lts", "~> 2.0"` | `['>= 1.9.0', '< 3.2']` | no change | no change |
|
135
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 3.0"` | `['>= 2.0.0', '< 2.1']` | [`rubocop-ruby2_0`][⛳️20-gh] | no change |
|
136
|
+
| ⬆️ to `2.1.x` | ⬆️ to `gem "rubocop-lts", "~> 4.0"` | `['>= 2.0.0', '< 3.2']` | no change | no change |
|
137
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 5.0"` | `['>= 2.1.0', '< 2.2']` | [`rubocop-ruby2_1`][⛳️21-gh] | no change |
|
138
|
+
| ⬆️ to `2.2.x` | ⬆️ to `gem "rubocop-lts", "~> 6.0"` | `['>= 2.1.0', '< 3.2']` | no change | no change |
|
139
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 7.0"` | `['>= 2.2.0', '< 2.3']` | [`rubocop-ruby2_2`][⛳️22-gh] | no change |
|
140
|
+
| ⬆️ to `2.3.x` | ⬆️ to `gem "rubocop-lts", "~> 8.0"` | `['>= 2.2.0', '< 3.2']` | no change | no change |
|
141
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 9.0"` | `['>= 2.3.0', '< 2.4']` | [`rubocop-ruby2_3`][⛳️23-gh] | no change |
|
142
|
+
| ⬆️ to `2.4.x` | ⬆️ to `gem "rubocop-lts", "~> 10.0"` | `['>= 2.3.0', '< 3.2']` | no change | no change |
|
143
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 11.0"` | `['>= 2.4.0', '< 2.5']` | [`rubocop-ruby2_4`][⛳️24-gh] | no change |
|
144
|
+
| ⬆️ to `2.5.x` | ⬆️ to `gem "rubocop-lts", "~> 12.0"` | `['>= 2.4.0', '< 3.2']` | no change | no change |
|
145
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 13.0"` | `['>= 2.5.0', '< 2.6']` | [`rubocop-ruby2_5`][⛳️25-gh] | no change |
|
146
|
+
| ⬆️ to `2.6.x` | ⬆️ to `gem "rubocop-lts", "~> 14.0"` | `['>= 2.5.0', '< 3.2']` | no change | no change |
|
147
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 15.0"` | `['>= 2.6.0', '< 2.7']` | [`rubocop-ruby2_6`][⛳️26-gh] | no change |
|
148
|
+
| ⬆️ to `2.7.x` | ⬆️ to `gem "rubocop-lts", "~> 16.0"` | `['>= 2.6.0', '< 3.2']` | no change | no change |
|
149
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 17.0"` | `['>= 2.7.0', '< 3.0']` | [`rubocop-ruby2_7`][⛳️27-gh] | no change |
|
150
|
+
| ⬆️ to `3.0.x` | ⬆️ to `gem "rubocop-lts", "~> 18.0"` | `['>= 2.7.0', '< 3.2']` | no change | no change |
|
151
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 19.0"` | `['>= 3.0.0', '< 3.1']` | [`rubocop-ruby3_0`][⛳️30-gh] | no change |
|
152
|
+
| ⬆️ to `3.1.x` | ⬆️ to `gem "rubocop-lts", "~> 20.0"` | `['>= 3.0.0', '< 3.2']` | no change | no change |
|
153
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 21.0"` | `['>= 3.1.0', '< 3.2']` | [`rubocop-ruby3_1`][⛳️31-gh] | no change |
|
154
|
+
| ⬆️ to `3.2.x` | ⬆️ to `gem "rubocop-lts", "~> 22.0"` | `['>= 3.1.0', '< 3.2']` | no change | no change |
|
155
|
+
| no change | ⬆️ to `gem "rubocop-lts", "~> 23.0"` | `['>= 3.2.0', '< 3.3']` | [`rubocop-ruby3_2`][⛳️32-gh] | no change |
|
156
|
+
| ⬆️ to `3.3.x` | ⬆️ to `gem "rubocop-lts", "~> 24.0"` | `['>= 3.2.0', '< 3.3']` | no change | no change |
|
157
|
+
|
158
|
+
> NOTE: `required_ruby_version` means the gem will install on a version of Ruby within the range.
|
159
|
+
> Versions of this gem intended for ancient Rubies may not execute on more modern Rubies, _despite installing_.
|
160
|
+
> As such you might consider limiting linting to only a single version of Ruby, the oldest one supported.
|
161
|
+
> Speaking of old rubies... 👇
|
51
162
|
|
52
163
|
### 📼 Supporting Ruby 1.8
|
53
164
|
|
@@ -91,13 +202,137 @@ Add this line to your application's Gemfile:
|
|
91
202
|
|
92
203
|
<!-- FIND VERSION -->
|
93
204
|
```ruby
|
94
|
-
gem 'rubocop-lts', '~>
|
205
|
+
gem 'rubocop-lts', '~> 8.0', require: false
|
95
206
|
```
|
96
207
|
|
97
208
|
And then execute:
|
98
209
|
|
99
210
|
$ bundle
|
100
211
|
|
212
|
+
## 🔧 Usage
|
213
|
+
|
214
|
+
The following is optional. We'll discuss why you might want to do this after you see what it does.
|
215
|
+
|
216
|
+
Add to the top of your project's `.rubocop.yml` configuration file:
|
217
|
+
|
218
|
+
```yaml
|
219
|
+
inherit_gem:
|
220
|
+
- rubocop-lts.yml
|
221
|
+
```
|
222
|
+
|
223
|
+
## Development
|
224
|
+
|
225
|
+
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
226
|
+
|
227
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
228
|
+
|
229
|
+
### Git Branch Names
|
230
|
+
|
231
|
+
#### Naming Scheme
|
232
|
+
|
233
|
+
```ruby
|
234
|
+
"r{{ ruby major }}_{{ ruby minor }}-{{ parity }}-v{{ gem-version }}"
|
235
|
+
```
|
236
|
+
|
237
|
+
##### Parity
|
238
|
+
|
239
|
+
Even versions use the token `even` in the branch name.
|
240
|
+
Odd versions use the token `odd` in the branch name.
|
241
|
+
|
242
|
+
#### Version - Branch Matrix
|
243
|
+
|
244
|
+
| Ruby Version | Parity | Gem Version | Branch Name | Purpose |
|
245
|
+
|-----------------|--------|-------------|-----------------|-----------------------------------|
|
246
|
+
| 1.9 | odd | 1.x | `r1_9-odd-v1` | LTS, trunk, single-ruby-linting |
|
247
|
+
| 1.9 | even | 2.x | `r1_9-even-v2` | Upgrade, feat, multi-ruby-linting |
|
248
|
+
| 2.0 | odd | 3.x | `r2_0-odd-v3` | LTS, trunk, single-ruby-linting |
|
249
|
+
| 2.0 | even | 4.x | `r2_0-even-v4` | Upgrade, feat, multi-ruby-linting |
|
250
|
+
| 2.1 | odd | 5.x | `r2_1-odd-v5` | LTS, trunk, single-ruby-linting |
|
251
|
+
| 2.1 | even | 6.x | `r2_1-even-v6` | Upgrade, feat, multi-ruby-linting |
|
252
|
+
| 2.2 | odd | 7.x | `r2_2-odd-v7` | LTS, trunk, single-ruby-linting |
|
253
|
+
| 2.2 | even | 8.x | `r2_2-even-v8` | Upgrade, feat, multi-ruby-linting |
|
254
|
+
| 2.3 | odd | 9.x | `r2_3-odd-v9` | LTS, trunk, single-ruby-linting |
|
255
|
+
| 2.3 | even | 10.x | `r2_3-even-v10` | Upgrade, feat, multi-ruby-linting |
|
256
|
+
| 2.4 | odd | 11.x | `r2_4-odd-v11` | LTS, trunk, single-ruby-linting |
|
257
|
+
| 2.4 | even | 12.x | `r2_4-even-v12` | Upgrade, feat, multi-ruby-linting |
|
258
|
+
| 2.5 | odd | 13.x | `r2_5-odd-v13` | LTS, trunk, single-ruby-linting |
|
259
|
+
| 2.5 | even | 14.x | `r2_5-even-v14` | Upgrade, feat, multi-ruby-linting |
|
260
|
+
| 2.6 | odd | 15.x | `r2_6-odd-v15` | LTS, trunk, single-ruby-linting |
|
261
|
+
| 2.6 | even | 16.x | `r2_6-even-v16` | Upgrade, feat, multi-ruby-linting |
|
262
|
+
| 2.7 | odd | 17.x | `r2_7-odd-v17` | LTS, trunk, single-ruby-linting |
|
263
|
+
| 2.7 | even | 18.x | `r2_7-even-v18` | Upgrade, feat, multi-ruby-linting |
|
264
|
+
| 3.0 | odd | 19.x | `r3_0-odd-v19` | LTS, trunk, single-ruby-linting |
|
265
|
+
| 3.0 | even | 20.x | `r3_0-even-v20` | Upgrade, feat, multi-ruby-linting |
|
266
|
+
| 3.1 | odd | 21.x | `r3_1-odd-v21` | LTS, trunk, single-ruby-linting |
|
267
|
+
| 3.1 | even | 22.x | `r3_1-even-v22` | Upgrade, feat, multi-ruby-linting |
|
268
|
+
| 3.2 / ruby-head | odd | 23.x | `r3_2-odd-v23` | LTS, trunk, single-ruby-linting |
|
269
|
+
| 3.2 / ruby-head | even | 24.x | `r3_2-even-v24` | Upgrade, feat, multi-ruby-linting |
|
270
|
+
|
271
|
+
> NOTE: For more on how Ruby 1.8 support works, see [above][lts1_8]
|
272
|
+
|
273
|
+
[lts1_8]: https://github.com/rubocop-lts/rubocop-lts#supporting-ruby-18
|
274
|
+
|
275
|
+
## ⚡️ Contributing
|
276
|
+
|
277
|
+
See [CONTRIBUTING.md][contributing]
|
278
|
+
|
279
|
+
## 🌈 Contributors
|
280
|
+
|
281
|
+
[![Contributors](https://contrib.rocks/image?repo=rubocop-lts/rubocop-lts)]("https://github.com/rubocop-lts/rubocop-lts/graphs/contributors")
|
282
|
+
|
283
|
+
Made with [contributors-img](https://contrib.rocks).
|
284
|
+
|
285
|
+
## 📄 License
|
286
|
+
|
287
|
+
The gem is available as open source under the terms of
|
288
|
+
the [MIT License][license] [![License: MIT](https://img.shields.io/badge/License-MIT-green.svg)][license-ref].
|
289
|
+
See [LICENSE][license] for the official [Copyright Notice][copyright-notice-explainer].
|
290
|
+
|
291
|
+
<details>
|
292
|
+
<summary>Project Logos (rubocop-lts)</summary>
|
293
|
+
|
294
|
+
See [docs/images/logo/README.txt][project-logos]
|
295
|
+
</details>
|
296
|
+
|
297
|
+
<details>
|
298
|
+
<summary>Organization Logo (rubocop-semver)</summary>
|
299
|
+
|
300
|
+
Author: [Yusuf Evli][org-logo-author]
|
301
|
+
Source: [Unsplash][org-logo-source]
|
302
|
+
License: [Unsplash License][org-logo-license]
|
303
|
+
</details>
|
304
|
+
|
305
|
+
[project-logos]: https://github.com/rubocop-lts/rubocop-lts/blob/main/docs/images/logo/README.txt
|
306
|
+
[org-logo-author]: https://unsplash.com/@yusufevli
|
307
|
+
[org-logo-source]: https://unsplash.com/photos/yaSLNLtKRIU
|
308
|
+
[org-logo-license]: https://unsplash.com/license
|
309
|
+
|
310
|
+
### © Copyright
|
311
|
+
|
312
|
+
* Copyright (c) 2022 [Peter H. Boling][peterboling] of [Rails Bling][railsbling]
|
313
|
+
|
314
|
+
## 🤝 Code of Conduct
|
315
|
+
|
316
|
+
Everyone interacting in Rubocop LTS codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/rubocop-lts/rubocop-lts/blob/main/CODE_OF_CONDUCT.md).
|
317
|
+
|
318
|
+
## 📌 Versioning
|
319
|
+
|
320
|
+
This library aims to adhere to [Semantic Versioning 2.0.0][semver]. Violations of this scheme should be reported as
|
321
|
+
bugs. Specifically, if a minor or patch version is released that breaks backward compatibility, a new version should be
|
322
|
+
immediately released that restores compatibility. Breaking changes to the public API will only be introduced with new
|
323
|
+
major versions.
|
324
|
+
|
325
|
+
As a result of this policy, you can (and should) specify a dependency on this gem using
|
326
|
+
the [Pessimistic Version Constraint][pvc] with two digits of precision.
|
327
|
+
|
328
|
+
For example:
|
329
|
+
|
330
|
+
<!-- FIND VERSION -->
|
331
|
+
```ruby
|
332
|
+
spec.add_dependency "rubocop-lts", "~> 8.0"
|
333
|
+
```
|
334
|
+
|
335
|
+
|
101
336
|
<!-- columnar badge #s for Project Health table:
|
102
337
|
⛳️
|
103
338
|
🖇
|
data/SECURITY.md
CHANGED
@@ -15,17 +15,6 @@
|
|
15
15
|
| 9.x | :white_check_mark: |
|
16
16
|
| 10.x | :white_check_mark: |
|
17
17
|
| 11.x | :white_check_mark: |
|
18
|
-
| 12.x | :white_check_mark: |
|
19
|
-
| 13.x | :white_check_mark: |
|
20
|
-
| 14.x | :white_check_mark: |
|
21
|
-
| 15.x | :white_check_mark: |
|
22
|
-
| 16.x | :white_check_mark: |
|
23
|
-
| 17.x | :white_check_mark: |
|
24
|
-
| 18.x | :white_check_mark: |
|
25
|
-
| 19.x | :white_check_mark: |
|
26
|
-
| 20.x | :white_check_mark: |
|
27
|
-
| 21.x | :white_check_mark: |
|
28
|
-
| 22.x | :white_check_mark: |
|
29
18
|
|
30
19
|
## Reporting a Vulnerability
|
31
20
|
|
data/lib/rubocop/lts/version.rb
CHANGED
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
RSpec.configure do |config|
|
4
|
+
# Enable flags like --only-failures and --next-failure
|
5
|
+
config.example_status_persistence_file_path = ".rspec_status"
|
6
|
+
|
7
|
+
# Disable RSpec exposing methods globally on `Module` and `main`
|
8
|
+
config.disable_monkey_patching!
|
9
|
+
|
10
|
+
config.expect_with :rspec do |c|
|
11
|
+
c.syntax = :expect
|
12
|
+
end
|
13
|
+
end
|
data/spec/spec_helper.rb
ADDED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rubocop-lts
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 8.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Peter Boling
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-
|
11
|
+
date: 2022-05-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop-ruby2_2
|
@@ -41,18 +41,21 @@ files:
|
|
41
41
|
- lib/rubocop/lts/version.rb
|
42
42
|
- rubocop-lts.yml
|
43
43
|
- sig/rubocop/lts.rbs
|
44
|
+
- spec/config/rspec/rspec_core.rb
|
45
|
+
- spec/rubocop/lts_spec.rb
|
46
|
+
- spec/spec_helper.rb
|
44
47
|
homepage: https://github.com/rubocop-lts/rubocop-lts
|
45
48
|
licenses:
|
46
49
|
- MIT
|
47
50
|
metadata:
|
48
51
|
homepage_uri: https://github.com/rubocop-lts/rubocop-lts
|
49
|
-
source_code_uri: https://github.com/rubocop-lts/rubocop-lts/tree/
|
50
|
-
changelog_uri: https://github.com/rubocop-lts/rubocop-lts/blob/
|
52
|
+
source_code_uri: https://github.com/rubocop-lts/rubocop-lts/tree/v8.0.0
|
53
|
+
changelog_uri: https://github.com/rubocop-lts/rubocop-lts/blob/v8.0.0/CHANGELOG.md
|
51
54
|
bug_tracker_uri: https://github.com/rubocop-lts/rubocop-lts/issues
|
52
|
-
documentation_uri: https://www.rubydoc.info/gems/rubocop-lts/
|
55
|
+
documentation_uri: https://www.rubydoc.info/gems/rubocop-lts/8.0.0
|
53
56
|
wiki_uri: https://github.com/rubocop-lts/rubocop-lts/wiki
|
54
57
|
rubygems_mfa_required: 'true'
|
55
|
-
post_install_message:
|
58
|
+
post_install_message:
|
56
59
|
rdoc_options: []
|
57
60
|
require_paths:
|
58
61
|
- lib
|
@@ -63,15 +66,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
63
66
|
version: 2.2.0
|
64
67
|
- - "<"
|
65
68
|
- !ruby/object:Gem::Version
|
66
|
-
version: '2
|
69
|
+
version: '3.2'
|
67
70
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
68
71
|
requirements:
|
69
72
|
- - ">="
|
70
73
|
- !ruby/object:Gem::Version
|
71
74
|
version: '0'
|
72
75
|
requirements: []
|
73
|
-
rubygems_version: 3.3.
|
74
|
-
signing_key:
|
76
|
+
rubygems_version: 3.3.14
|
77
|
+
signing_key:
|
75
78
|
specification_version: 4
|
76
79
|
summary: Rubocop LTS - Semantically Versioned
|
77
|
-
test_files:
|
80
|
+
test_files:
|
81
|
+
- spec/spec_helper.rb
|
82
|
+
- spec/config/rspec/rspec_core.rb
|
83
|
+
- spec/rubocop/lts_spec.rb
|